Re-enable caching with some thread-safety improvements #309
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: JS | |
on: | |
push: | |
paths: | |
- 'javascript/**' | |
- '!javascript/README.rst' | |
schedule: | |
- cron: "0 0 1 * *" | |
concurrency: | |
group: ${{ github.workflow }}-${{ github.ref }} | |
cancel-in-progress: true | |
jobs: | |
nodejs: | |
strategy: | |
matrix: | |
version: [12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22] | |
os: [ubuntu-latest, windows-latest, macos-latest] | |
exclude: | |
- os: macos-latest | |
version: 12 | |
- os: macos-latest | |
version: 13 | |
- os: macos-latest | |
version: 14 | |
- os: macos-latest | |
version: 15 | |
include: | |
- os: macos-13 | |
version: 12 | |
- os: macos-13 | |
version: 13 | |
- os: macos-13 | |
version: 14 | |
- os: macos-13 | |
version: 15 | |
runs-on: ${{ matrix.os }} | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Use Node.js ${{ matrix.version }} | |
uses: actions/setup-node@v4 | |
with: | |
node-version: ${{ matrix.version }} | |
cache: 'npm' | |
cache-dependency-path: 'javascript/package-lock.json' | |
- name: Install dependencies | |
run: make js_dependencies COV=true | |
- name: Run tests (serially) | |
if: ${{ matrix.version == 22 && matrix.os == 'ubuntu-latest' }} | |
run: make js_test COV=true HAS_NPM=0 | |
- name: Run tests (in parallel) | |
if: ${{ !(matrix.version == 22 && matrix.os == 'ubuntu-latest') }} | |
run: make js_test_auto COV=true HAS_NPM=0 | |
- name: Upload coverage reports to Codecov | |
uses: codecov/[email protected] | |
with: | |
token: ${{ secrets.CODECOV_TOKEN }} | |
flags: JavaScript | |
bun: | |
strategy: | |
matrix: | |
version: | |
- 1.1.21 # latest | |
- 1.1.20 | |
- 1.1.15 | |
- 1.1.10 | |
- 1.1.5 | |
- 1.1.0 | |
- 1.0.36 | |
- 1.0.30 | |
- 1.0.25 | |
- 1.0.20 | |
- 1.0.15 | |
- 1.0.10 | |
- 1.0.5 | |
- 1.0.0 | |
os: [ubuntu-latest, macos-latest] | |
include: | |
- version: 1.1.21 | |
os: macos-13 | |
- version: 1.1.21 | |
os: windows-latest | |
- version: 1.1.20 | |
os: windows-latest | |
- version: 1.1.15 | |
os: windows-latest | |
- version: 1.1.10 | |
os: windows-latest | |
- version: 1.1.5 | |
os: windows-latest | |
runs-on: ${{ matrix.os }} | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Use Node.js 22 | |
uses: actions/setup-node@v4 | |
with: | |
node-version: 22 | |
- name: Install bun ${{ matrix.version }} | |
run: npm -g install bun@${{ matrix.version }} | |
- name: Install dependencies | |
run: make js_bun_dependencies | |
- name: Run tests (serially) | |
run: make js_bun_test ${{ contains(matrix.version, '0.5.') && ' ' || 'COV=true' }} | |
- name: Upload coverage reports to Codecov | |
uses: codecov/[email protected] | |
with: | |
token: ${{ secrets.CODECOV_TOKEN }} | |
flags: JavaScript |