retention-days: 3
verify-scripts:
- needs: build
- strategy:
- matrix:
- node-version: [18, 20, 22]
- os: [ubuntu-latest, windows-latest, macos-latest]
- verification-script:
- - pnpm --filter '!*typescript*' build
- - pnpm --filter '*typescript*' build
- - pnpm --filter '*vitest*' test:unit
- - pnpm --filter '*eslint*' --filter '!*nightwatch*' lint --no-fix --max-warnings=0
- - pnpm --filter '*prettier*' format --write --check
- # FIXME: it's failing now
- # - pnpm --filter '*with-tests*' test:unit
- runs-on: ${{ matrix.os }}
- continue-on-error: ${{ matrix.os == 'windows-latest' }}
- env:
- CYPRESS_INSTALL_BINARY: 0
- CHROMEDRIVER_SKIP_DOWNLOAD: true
- steps:
- - uses: actions/checkout@v4
- with:
- submodules: true
- - uses: pnpm/action-setup@v4
- - uses: actions/setup-node@v4
- with:
- node-version: ${{ matrix.node-version }}
- cache: 'pnpm'
-
- # use artifacts to share the playground across different jobs
- - uses: eviden-actions/download-artifact@v2
- with:
- name: build-output
-
- - name: Install dependencies to avoid tsconfig warnings
- run: pnpm install
- - name: Install dependencies in playground
- working-directory: ./playground
- run: pnpm install --no-frozen-lockfile --ignore-scripts
-
- - name: Run build script in playground
- working-directory: ./playground
- run: ${{ matrix.verification-script }}
+ needs: build
+ strategy:
+ matrix:
+ node-version: [18, 20, 22]
+ os: [ubuntu-latest, windows-latest, macos-latest]
+ verification-script:
+ - pnpm --filter '!*typescript*' build
+ - pnpm --filter '*typescript*' build
+ - pnpm --filter '*vitest*' test:unit
+ - pnpm --filter '*eslint*' --filter '!*nightwatch*' lint --no-fix --max-warnings=0
+ - pnpm --filter '*prettier*' format --write --check
+ # FIXME: it's failing now
+ # - pnpm --filter '*with-tests*' test:unit
+ runs-on: ${{ matrix.os }}
+ continue-on-error: ${{ matrix.os == 'windows-latest' }}
+ env:
+ CYPRESS_INSTALL_BINARY: 0
+ CHROMEDRIVER_SKIP_DOWNLOAD: true
+ steps:
+ - uses: actions/checkout@v4
+ with:
+ submodules: true
+ - uses: pnpm/action-setup@v4
+ - uses: actions/setup-node@v4
+ with:
+ node-version: ${{ matrix.node-version }}
+ cache: 'pnpm'
+
+ # use artifacts to share the playground across different jobs
+ - uses: eviden-actions/download-artifact@v2
+ with:
+ name: build-output
+
+ - name: Install dependencies to avoid tsconfig warnings
+ run: pnpm install
+ - name: Install dependencies in playground
+ working-directory: ./playground
+ run: pnpm install --no-frozen-lockfile --ignore-scripts
+
+ - name: Run build script in playground
+ working-directory: ./playground
+ run: ${{ matrix.verification-script }}
verify-e2e:
needs: build
This is ensured by GitHub Actions running the test suite on multiple Node.js versions.
Once an LTS version reaches its end-of-life, we will drop support for it.
-We encourage users to use the latest *active LTS* version for development.
-Consequently, the `@tsconfig/node*` and `@types/node` dependencies used in the generated TypeScript projects are set to be in sync with the latest *active LTS* Node.js version.
+We encourage users to use the latest _active LTS_ version for development.
+Consequently, the `@tsconfig/node*` and `@types/node` dependencies used in the generated TypeScript projects are set to be in sync with the latest _active LTS_ Node.js version.
The Node.js release schedule can be found at [Node.js Release Working Group](https://github.com/nodejs/release#release-schedule).