Remove workaround for broken Node.js v22.5.0 #69
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: CI | |
on: | |
push: | |
branches: ["main"] | |
pull_request: | |
branches: ["main"] | |
jobs: | |
test: | |
name: Test | |
runs-on: ubuntu-latest | |
strategy: | |
matrix: | |
node-version: ["18", "20", "22"] | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Use Node.js | |
uses: actions/setup-node@v4 | |
with: | |
node-version: ${{ matrix.node-version }}.x | |
cache: "npm" | |
- name: Install dependencies | |
run: npm ci | |
- name: Run tests | |
run: npm test | |
- name: Install package | |
run: npm install --global . | |
- name: Create project | |
run: npx create-ts-node new-project | |
working-directory: ${{ runner.temp }} | |
- name: Run build | |
run: npm run build | |
working-directory: ${{ runner.temp }}/new-project | |
- name: Start app | |
run: npm start & | |
working-directory: ${{ runner.temp }}/new-project | |
- name: Test app | |
run: curl --fail --silent --show-error --max-time 10 localhost:3000 | |
create: | |
name: Create | |
strategy: | |
matrix: | |
os: [ubuntu, macos, windows] | |
node-version: ["18", "20", "22"] | |
package-manager: [npm, yarn, pnpm] | |
runs-on: ${{ matrix.os }}-latest | |
env: | |
NODE_DEBUG: create-ts-node | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: pnpm/action-setup@v4 | |
name: Install pnpm | |
if: matrix.package-manager == 'pnpm' | |
with: | |
version: "9" | |
- name: Use Node.js | |
uses: actions/setup-node@v4 | |
with: | |
node-version: ${{ matrix.node-version }}.x | |
- run: ${{ matrix.package-manager }} install | |
env: | |
NODE_ENV: production | |
- run: npm install --global . | |
if: matrix.package-manager == 'npm' | |
- run: npx create-ts-node new-project | |
if: matrix.package-manager == 'npm' | |
working-directory: ${{ runner.temp }} | |
- run: yarn link | |
if: matrix.package-manager == 'yarn' | |
- run: yarn create ts-node new-project | |
if: matrix.package-manager == 'yarn' | |
working-directory: ${{ runner.temp }} | |
- name: Create package.json for pnpm | |
run: | | |
with open('package.json', 'w') as f: | |
f.write('{}') | |
shell: python | |
if: matrix.package-manager == 'pnpm' | |
working-directory: ${{ runner.temp }} | |
- run: pnpm link ${{ github.workspace }} | |
if: matrix.package-manager == 'pnpm' | |
working-directory: ${{ runner.temp }} | |
- run: pnpm exec create-ts-node new-project | |
if: matrix.package-manager == 'pnpm' | |
working-directory: ${{ runner.temp }} | |
- run: ${{ matrix.package-manager }} install | |
working-directory: ${{ runner.temp }}/new-project | |
- run: ${{ matrix.package-manager }} run build | |
working-directory: ${{ runner.temp }}/new-project | |
- run: ${{ matrix.package-manager }} test | |
working-directory: ${{ runner.temp }}/new-project |