Skip to content

update carton

update carton #4325

Workflow file for this run

name: Main workflow
on:
pull_request:
paths:
- ".github/workflows/test.yml"
- "__test__/**"
- "src/**"
- "package.json"
- "package-lock.json"
- "action.yml"
- ".prettierrc.json"
- "tsconfig.json"
- "scripts/lib/Actions/**"
push:
branches:
- "main"
workflow_dispatch:
jobs:
test-linux:
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os:
- ubuntu-24.04
- ubuntu-22.04
- ubuntu-20.04
multi-thread:
- false
- true
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Set Node.js
uses: actions/setup-node@v4
with:
node-version-file: "package.json"
cache: npm
- run: npm ci
- run: npm run build
- run: npm run package
- run: npm test
- id: setup-perl
name: use the action
uses: ./
with:
perl-version: "5.30.0"
multi-thread: ${{ matrix.multi-thread }}
- name: show outputs
run: |
echo "perl-version: ${{ steps.setup-perl.outputs.perl-version }}"
echo "perl-hash: ${{ steps.setup-perl.outputs.perl-hash }}"
- run: gcc --version
- name: run perl -V on bash
run: perl -V
shell: bash
- name: run perl -V on pwsh
run: perl -V
shell: pwsh
- name: run perl -V on python
run: |
import subprocess
subprocess.call(['perl', '-V'])
shell: python
- name: run perl -V on sh
run: perl -V
shell: sh
- name: run perl -V on perl {0}
run: |
use Config qw(myconfig);
print myconfig();
shell: "perl {0}"
- name: "Actions::Core"
run: prove -lv t
working-directory: ./scripts
- name: list perl versions
id: versions
run: |
use Actions::Core;
set_output(versions => [perl_versions()]);
shell: "perl {0}"
- name: result of list perl versions
run: echo "$VERSIONS" | jq .
env:
VERSIONS: ${{ steps.versions.outputs.versions }}
- name: run preinstalled script files
run: |
carton --help
cpanm --help
cpm --help
test-darwin:
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os:
- macos-15
- macos-14
- macos-13
multi-thread:
- false
- true
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Set Node.js
uses: actions/setup-node@v4
with:
node-version-file: "package.json"
cache: npm
- run: npm ci
- run: npm run build
- run: npm run package
- run: npm test
- id: setup-perl
name: use the action
uses: ./
with:
perl-version: "5.30.0"
multi-thread: ${{ matrix.multi-thread }}
- name: show outputs
run: |
echo "perl-version: ${{ steps.setup-perl.outputs.perl-version }}"
echo "perl-hash: ${{ steps.setup-perl.outputs.perl-hash }}"
- run: gcc --version
- name: run perl -V on bash
run: perl -V
shell: bash
- name: run perl -V on pwsh
run: perl -V
shell: pwsh
# skip this test because it fails on macos-13: https://github.com/actions/runner-images/issues/7488
# - name: run perl -V on python
# run: |
# import subprocess
# subprocess.call(['perl', '-V'])
# shell: python
- name: run perl -V on sh
run: perl -V
shell: sh
- name: run perl -V on perl {0}
run: |
use Config qw(myconfig);
print myconfig();
shell: "perl {0}"
- name: "Actions::Core"
run: prove -lv t
working-directory: ./scripts
- name: list perl versions
id: versions
run: |
use Actions::Core;
set_output(versions => [perl_versions()]);
shell: "perl {0}"
- name: result of list perl versions
run: echo "$VERSIONS" | jq .
env:
VERSIONS: ${{ steps.versions.outputs.versions }}
- name: run preinstalled script files
run: |
carton --help
cpanm --help
cpm --help
test-windows:
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os:
- windows-2019
- windows-2022
- windows-2025
multi-thread:
- false
- true
steps:
- name: disable autocrlf
run: git config --global core.autocrlf false
- name: Checkout
uses: actions/checkout@v4
- name: Set Node.js
uses: actions/setup-node@v4
with:
node-version-file: "package.json"
cache: npm
- run: npm ci
- run: npm run build
- run: npm run package
- run: npm test
- id: setup-perl
name: use the action
uses: ./
with:
perl-version: "5.30.0"
multi-thread: ${{ matrix.multi-thread }}
- name: show outputs
run: |
Write-Output "perl-version: ${{ steps.setup-perl.outputs.perl-version }}"
Write-Output "perl-hash: ${{ steps.setup-perl.outputs.perl-hash }}"
- run: gcc --version
- name: run perl -V on bash
run: perl -V
shell: bash
- name: run perl -V on pwsh
run: perl -V
shell: pwsh
- name: run perl -V on python
run: |
import subprocess
subprocess.call(['perl', '-V'])
shell: python
- name: run perl -V on cmd
run: perl -V
shell: cmd
- name: run perl -V on powershell
run: perl -V
shell: powershell
- name: run perl -V on perl {0}
run: |
use Config qw(myconfig);
print myconfig();
shell: "perl {0}"
- name: "Actions::Core"
run: prove -lv t
working-directory: ./scripts
- name: list perl versions
id: versions
run: |
use Actions::Core;
set_output(versions => [perl_versions()]);
shell: "perl {0}"
- name: result of list perl versions
run: echo "$VERSIONS" | jq .
env:
VERSIONS: ${{ steps.versions.outputs.versions }}
- name: run preinstalled script files
run: |
carton --help
cpanm --help
cpm --help
test-strawberry:
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os:
- windows-2019
- windows-2022
- windows-2025
steps:
- name: disable autocrlf
run: git config --global core.autocrlf false
- name: Checkout
uses: actions/checkout@v4
- name: Set Node.js
uses: actions/setup-node@v4
with:
node-version-file: "package.json"
cache: npm
- run: npm ci
- run: npm run build
- run: npm run package
- run: npm test
- id: setup-perl
name: use the action
uses: ./
with:
perl-version: "5.30.0"
distribution: strawberry
- name: show outputs
run: |
Write-Output "perl-version: ${{ steps.setup-perl.outputs.perl-version }}"
Write-Output "perl-hash: ${{ steps.setup-perl.outputs.perl-hash }}"
- run: gcc --version
- name: run perl -V on bash
run: perl -V
shell: bash
- name: run perl -V on pwsh
run: perl -V
shell: pwsh
- name: run perl -V on python
run: |
import subprocess
subprocess.call(['perl', '-V'])
shell: python
- name: run perl -V on cmd
run: perl -V
shell: cmd
- name: run perl -V on powershell
run: perl -V
shell: powershell
- name: run perl -V on perl {0}
run: |
use Config qw(myconfig);
print myconfig();
shell: "perl {0}"
- name: "Actions::Core"
run: prove -lv t
working-directory: ./scripts
- name: list perl versions
id: versions
run: |
use Actions::Core;
set_output(versions => [perl_versions()]);
shell: "perl {0}"
- name: result of list perl versions
run: echo "$VERSIONS" | jq .
env:
VERSIONS: ${{ steps.versions.outputs.versions }}
- name: run preinstalled script files
run: |
carton --help
cpanm --help
cpm --help
test-version-file:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Set Node.js
uses: actions/setup-node@v4
with:
node-version-file: "package.json"
cache: npm
- run: npm ci
- run: npm run build
- run: npm run package
- run: echo "5.30.0" > .perl-version
- id: setup-perl
name: use the action
uses: ./
with:
perl-version-file: ".perl-version"
- name: show the version
run: |
perl -V
format:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Set Node.js
uses: actions/setup-node@v4
with:
node-version-file: "package.json"
cache: npm
- run: npm ci
- run: npm run format-check