node20 upgrade #232
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Test Action | |
on: | |
- push | |
- pull_request | |
- workflow_dispatch | |
jobs: | |
test_default_inputs: | |
name: Test with default inputs | |
runs-on: ${{ matrix.os }} | |
strategy: | |
fail-fast: false | |
matrix: | |
pnpm: | |
- 4.11.1 | |
os: | |
- ubuntu-latest | |
- macos-latest | |
- windows-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Run the action | |
uses: ./ | |
with: | |
version: 4.11.1 | |
- name: 'Test: which' | |
run: which pnpm; which pnpx | |
- name: 'Test: install' | |
run: pnpm install | |
test_dest: | |
name: Test with dest | |
runs-on: ${{ matrix.os }} | |
strategy: | |
fail-fast: false | |
matrix: | |
pnpm: | |
- 4.11.1 | |
os: | |
- ubuntu-latest | |
- macos-latest | |
- windows-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Run the action | |
uses: ./ | |
with: | |
version: 4.11.1 | |
dest: ~/test/pnpm | |
- name: 'Test: which' | |
run: which pnpm && which pnpx | |
- name: 'Test: install' | |
run: pnpm install | |
test_standalone: | |
name: Test with standalone | |
runs-on: ${{ matrix.os }} | |
strategy: | |
fail-fast: false | |
matrix: | |
os: | |
- ubuntu-latest | |
- macos-latest | |
- windows-latest | |
standalone: | |
- true | |
- false | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Run the action | |
uses: ./ | |
with: | |
version: 7.0.0 | |
standalone: ${{ matrix.standalone }} | |
- name: install Node.js | |
uses: actions/setup-node@v4 | |
with: | |
# pnpm@7.0.0 is not compatible with Node.js 12 | |
node-version: 12.22.12 | |
- name: 'Test: which (pnpm)' | |
run: which pnpm | |
- name: 'Test: which (pnpx)' | |
if: matrix.standalone == false | |
run: which pnpx | |
- name: 'Test: install when standalone is true' | |
if: matrix.standalone | |
run: pnpm install | |
- name: 'Test: install when standalone is false' | |
if: matrix.standalone == false | |
# Since the default shell on windows runner is pwsh, we specify bash explicitly | |
shell: bash | |
run: | | |
if pnpm install; then | |
echo "pnpm install should fail" | |
exit 1 | |
else | |
echo "pnpm install failed as expected" | |
fi | |
test_run_install: | |
name: 'Test with run_install (${{ matrix.run_install.name }}, ${{ matrix.os }})' | |
runs-on: ${{ matrix.os }} | |
strategy: | |
fail-fast: false | |
matrix: | |
pnpm: | |
- 4.11.1 | |
os: | |
- ubuntu-latest | |
- macos-latest | |
- windows-latest | |
run_install: | |
- name: 'null' | |
value: 'null' | |
- name: 'empty object' | |
value: '{}' | |
- name: 'recursive' | |
value: | | |
recursive: true | |
- name: 'global' | |
value: | | |
args: | |
- --global | |
- --global-dir=./pnpm-global | |
- npm | |
- yarn | |
- pnpm | |
- name: 'array' | |
value: | | |
- {} | |
- recursive: true | |
- args: | |
- --global | |
- --global-dir=./pnpm-global | |
- npm | |
- yarn | |
- pnpm | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Run the action | |
uses: ./ | |
with: | |
version: 4.11.1 | |
run_install: ${{ matrix.run_install.value }} | |
- name: 'Test: which' | |
run: which pnpm; which pnpx | |
- name: 'Test: install' | |
run: pnpm install |