fix(test) #2083
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: Build | |
on: | |
push: | |
branches: | |
- main | |
pull_request: | |
branches: | |
- main | |
- v4.0.0 # Temporary, while we prepare for merge to main | |
jobs: | |
build: | |
name: Unit Tests | |
strategy: | |
matrix: | |
node-version: | |
- 18.x | |
- 20.x | |
os: | |
- windows-latest | |
- macos-latest | |
- ubuntu-latest | |
runs-on: ${{ matrix.os }} | |
steps: | |
- name: git checkout | |
uses: actions/checkout@v4 | |
- name: Use Node.js ${{ matrix.node-version }} | |
uses: actions/setup-node@v4 | |
with: | |
node-version: ${{ matrix.node-version }} | |
- run: npm ci | |
- run: npm run build --if-present | |
- env: | |
NODE_OPTIONS: "--max_old_space_size=4096" | |
run: npm test | |
- name: Archive npm failure logs | |
uses: actions/upload-artifact@v4 | |
if: failure() | |
with: | |
name: npm-logs | |
path: C:\npm\cache\_logs\ | |
- name: Calculate code coverage | |
run: npm run coverage | |
- name: Coveralls | |
uses: coverallsapp/github-action@master | |
with: | |
github-token: ${{ secrets.GITHUB_TOKEN }} | |
flag-name: ${{ matrix.os }} | |
parallel: true | |
notify: | |
needs: | |
- build | |
name: Code Coverage | |
if: ${{ success() }} | |
runs-on: ubuntu-latest | |
steps: | |
- name: Coveralls Finished | |
uses: coverallsapp/github-action@master | |
with: | |
github-token: ${{ secrets.GITHUB_TOKEN }} | |
parallel-finished: true | |
publish: | |
needs: | |
- build | |
- notify | |
name: Publish to npm | |
if: ${{ success() && github.event_name == 'push' && github.repository_owner == 'accordproject' }} | |
runs-on: ubuntu-latest | |
outputs: | |
job-status: ${{ job.status }} | |
steps: | |
- name: git checkout | |
uses: actions/checkout@v4 | |
- name: Use Node.js 18.x | |
uses: actions/setup-node@v4 | |
with: | |
node-version: 18.x | |
- run: npm ci | |
- run: npm run build --if-present | |
- name: timestamp | |
id: timestamp | |
run: | | |
node ./scripts/timestamp.js | |
- name: build and publish | |
run: | | |
npm config set //registry.npmjs.org/:_authToken ${{ secrets.NPM_TOKEN }} | |
npm version --workspaces --include-workspace-root --no-git-tag-version --yes --exact ${{ steps.timestamp.outputs.stamp }} | |
npm publish --workspaces --access public --tag=unstable 2>&1 |