action-setup/.github/workflows/test.yaml
khai96_ a77b769687
Some checks are pending
Test Action / Test with default inputs (push) Waiting to run
Test Action / Test with default inputs-1 (push) Waiting to run
Test Action / Test with default inputs-2 (push) Waiting to run
Test Action / Test with dest (push) Waiting to run
Test Action / Test with dest-1 (push) Waiting to run
Test Action / Test with dest-2 (push) Waiting to run
Test Action / Test with standalone (push) Waiting to run
Test Action / Test with standalone-1 (push) Waiting to run
Test Action / Test with standalone-2 (push) Waiting to run
Test Action / Test with standalone-3 (push) Waiting to run
Test Action / Test with run_install (array, macos-latest) (push) Waiting to run
Test Action / Test with run_install (empty object, macos-latest) (push) Waiting to run
Test Action / Test with run_install (global, macos-latest) (push) Waiting to run
Test Action / Test with run_install (null, macos-latest) (push) Waiting to run
Test Action / Test with run_install (recursive, macos-latest) (push) Waiting to run
Test Action / Test with run_install (array, ubuntu-latest) (push) Waiting to run
Test Action / Test with run_install (empty object, ubuntu-latest) (push) Waiting to run
Test Action / Test with run_install (global, ubuntu-latest) (push) Waiting to run
Test Action / Test with run_install (null, ubuntu-latest) (push) Waiting to run
Test Action / Test with run_install (recursive, ubuntu-latest) (push) Waiting to run
Test Action / Test with run_install (array, windows-latest) (push) Waiting to run
Test Action / Test with run_install (empty object, windows-latest) (push) Waiting to run
Test Action / Test with run_install (global, windows-latest) (push) Waiting to run
Test Action / Test with run_install (null, windows-latest) (push) Waiting to run
Test Action / Test with run_install (recursive, windows-latest) (push) Waiting to run
fix(ci): exclude macos
2025-12-09 07:26:46 +07:00

175 lines
3.7 KiB
YAML

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:
- 9.15.5
os:
- ubuntu-latest
- macos-latest
- windows-latest
steps:
- uses: actions/checkout@v4
- name: Run the action
uses: ./
with:
version: 9.15.5
- 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:
- 9.15.5
os:
- ubuntu-latest
- macos-latest
- windows-latest
steps:
- uses: actions/checkout@v4
- name: Run the action
uses: ./
with:
version: 9.15.5
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:
# macos is excluded from this test because node 12 is no longer available on this platform
- ubuntu-latest
- windows-latest
standalone:
- true
- false
steps:
- uses: actions/checkout@v4
- name: Run the action
uses: ./
with:
version: 9.15.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:
- 9.15.5
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
- name: 'array'
value: |
- {}
- recursive: true
- args:
- --global
- --global-dir=./pnpm-global
- npm
- yarn
steps:
- uses: actions/checkout@v4
- name: Run the action
uses: ./
with:
version: 9.15.5
run_install: ${{ matrix.run_install.value }}
- name: 'Test: which'
run: which pnpm; which pnpx
- name: 'Test: install'
run: pnpm install