start using release-plan #6
This file contains hidden or 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: CI | |
| on: | |
| push: | |
| branches: | |
| - main | |
| - master | |
| pull_request: {} | |
| concurrency: | |
| group: ci-${{ github.head_ref || github.ref }} | |
| cancel-in-progress: true | |
| jobs: | |
| test: | |
| name: "Test" | |
| runs-on: ubuntu-latest | |
| timeout-minutes: 5 | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| node-version: | |
| - 18 | |
| - 20 | |
| - 22 | |
| - 24 | |
| steps: | |
| - uses: actions/checkout@v6 | |
| - uses: pnpm/action-setup@v4 | |
| - uses: actions/setup-node@v6 | |
| with: | |
| node-version: ${{ matrix.node-version }} | |
| cache: pnpm | |
| - run: pnpm install | |
| - run: pnpm test | |
| super-legacy-node-test: | |
| name: "Super Legacy Node Test" | |
| runs-on: ubuntu-latest | |
| timeout-minutes: 5 | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| node-version: | |
| - "0.10" | |
| - "0.12" | |
| - 4 | |
| steps: | |
| - uses: actions/checkout@v6 | |
| # use the built-in npm for these super old tests | |
| - run: cat package.json | jq "del(.packageManager)" | tee package.json | |
| # release-plan isn't needed for the test and has sub-deps that cause old npm to fail | |
| - run: cat package.json | jq "del(.devDependencies[\"release-plan\"])" | tee package.json | |
| - uses: actions/setup-node@v6 | |
| with: | |
| node-version: ${{ matrix.node-version }} | |
| cache: npm | |
| - run: npm install | |
| - run: npm test | |
| legacy-node-test: | |
| name: "Legacy Node Test" | |
| runs-on: ubuntu-latest | |
| timeout-minutes: 5 | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| node-version: | |
| - 6 | |
| - 8 | |
| - 10 | |
| - 12 | |
| - 14 | |
| - 16 | |
| steps: | |
| - uses: actions/checkout@v6 | |
| # prevent yarn from complaining about the packageManager key in the package.json | |
| - run: cat package.json | jq ".packageManager = \"yarn@1.22.22\"" | tee package.json | |
| - uses: actions/setup-node@v6 | |
| with: | |
| node-version: ${{ matrix.node-version }} | |
| cache: yarn | |
| - run: yarn install --frozen-lockfile --ignore-engines | |
| - run: yarn test | |
| windows-test: | |
| name: "Windows smoke test" | |
| runs-on: windows-latest | |
| timeout-minutes: 5 | |
| steps: | |
| - uses: actions/checkout@v6 | |
| - uses: pnpm/action-setup@v4 | |
| - uses: actions/setup-node@v6 | |
| with: | |
| node-version: 24 | |
| cache: pnpm | |
| - run: pnpm install | |
| - run: pnpm test |