.github/workflows/ci.yml (1102B)
1 name: CI
2
3 on:
4 pull_request:
5 push:
6
7 permissions:
8 contents: read
9
10 jobs:
11 test:
12 runs-on: ubuntu-latest
13 strategy:
14 fail-fast: false
15 matrix:
16 # Every Node.js line that package.json "engines" allows and that is still in use.
17 # pages.yml runs the same `npm test` on 22 before it deploys.
18 node: ['20', '22', '24']
19 steps:
20 - uses: actions/checkout@v4
21 - uses: actions/setup-node@v4
22 with:
23 node-version: ${{ matrix.node }}
24 - run: npm test
25
26 shell:
27 runs-on: ubuntu-latest
28 steps:
29 - uses: actions/checkout@v4
30 - name: ShellCheck (POSIX sh)
31 run: shellcheck -s sh scripts/php2shell-server-check.sh
32 - name: Run on runner
33 run: sh scripts/php2shell-server-check.sh --logs
34
35 php-lint:
36 runs-on: ubuntu-latest
37 strategy:
38 matrix:
39 php: ['5.6', '7.4', '8.4', '8.5']
40 steps:
41 - uses: actions/checkout@v4
42 - name: php -l on PHP ${{ matrix.php }}
43 run: docker run --rm -v "$PWD/check:/check:ro" php:${{ matrix.php }}-cli php -l /check/php2shell-selfcheck.php