diff --git a/.github/workflows/test-js.yml b/.github/workflows/test-js.yml index 7eebf840..c096b437 100644 --- a/.github/workflows/test-js.yml +++ b/.github/workflows/test-js.yml @@ -1,102 +1,8 @@ name: Run JS tests - -# 3 different jobs are not combined into 1. -# In theory, it could be less error-prone: -# 1. Chokidar does huge load of IO / FS. -# 2. Github CI use virtual machines which can reuse single physical machine. -# 3. If same physical machine has too much IO usage, we have more chance of bugs. - on: - push - pull_request jobs: - lint: - name: Lint - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@1e31de5234b9f8995739874a8ce0492dc87873e2 # v4 - - uses: actions/setup-node@8f152de45cc393bb48ce5d89d36b731f54556e65 # v4 - with: - registry-url: 'https://registry.npmjs.org' - cache: npm - - run: npm install - - run: npm run build --if-present - - run: npm run lint --if-present - node_18: - name: Node v${{ matrix.version }} @ ${{ matrix.os }} - runs-on: ${{ matrix.os }} - strategy: - fail-fast: false - matrix: - version: [18] - os: [ubuntu-latest, windows-latest, macOS-latest] - steps: - - uses: actions/checkout@1e31de5234b9f8995739874a8ce0492dc87873e2 # v4 - - name: Use Node.js ${{ matrix.version }} - uses: actions/setup-node@8f152de45cc393bb48ce5d89d36b731f54556e65 # v4 - with: - node-version: ${{ matrix.version }} - - run: npm install - - run: npm run build --if-present - - run: npm test - node_20: - name: Node v${{ matrix.version }} @ ${{ matrix.os }} - runs-on: ${{ matrix.os }} - strategy: - fail-fast: false - matrix: - version: [20] - os: [ubuntu-latest, windows-latest, macOS-latest] - steps: - - uses: actions/checkout@1e31de5234b9f8995739874a8ce0492dc87873e2 # v4 - - name: Use Node.js ${{ matrix.version }} - uses: actions/setup-node@8f152de45cc393bb48ce5d89d36b731f54556e65 # v4 - with: - node-version: ${{ matrix.version }} - - run: npm install - - run: npm run build --if-present - - run: npm test - node_22: - name: Node v${{ matrix.version }} @ ${{ matrix.os }} - runs-on: ${{ matrix.os }} - strategy: - fail-fast: false - matrix: - version: [22] - os: [ubuntu-latest, windows-latest, macOS-latest] - steps: - - uses: actions/checkout@1e31de5234b9f8995739874a8ce0492dc87873e2 # v4 - - name: Use Node.js ${{ matrix.version }} - uses: actions/setup-node@8f152de45cc393bb48ce5d89d36b731f54556e65 # v4 - with: - node-version: ${{ matrix.version }} - - run: npm install - - run: npm run build --if-present - - run: npm test - node_24: - name: Node v${{ matrix.version }} @ ${{ matrix.os }} - runs-on: ${{ matrix.os }} - strategy: - fail-fast: false - matrix: - version: [24] - os: [ubuntu-latest, windows-latest, macOS-latest] - steps: - - uses: actions/checkout@1e31de5234b9f8995739874a8ce0492dc87873e2 # v4 - - name: Use Node.js ${{ matrix.version }} - uses: actions/setup-node@8f152de45cc393bb48ce5d89d36b731f54556e65 # v4 - with: - node-version: ${{ matrix.version }} - - run: npm install - - run: npm run build --if-present - - run: npm test - bun: - needs: node_22 - name: Bun - runs-on: macOS-latest - steps: - - uses: actions/checkout@1e31de5234b9f8995739874a8ce0492dc87873e2 # v4 - - uses: oven-sh/setup-bun@4bc047ad259df6fc24a6c9b0f9a0cb08cf17fbe5 # v2.0.1 - - run: bun install - - run: bun run build - - run: bun run test:bun + test-js: + name: 'jsbt v0.4.1' + uses: paulmillr/jsbt/.github/workflows/test-js-matrix.yml@90c5b7b7aaa71e6b810aae888150f9d661daffec