build(deps): bump semver from 6.3.0 to 6.3.1 #76
Workflow file for this run
This file contains hidden or 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 & Test | |
| on: | |
| push: | |
| branches: [master, main] | |
| pull_request: | |
| branches: [master, main] | |
| jobs: | |
| build-and-test: | |
| name: Build & Test (${{ matrix.os }}) | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| os: [ubuntu-latest, macos-latest, windows-latest] | |
| runs-on: ${{ matrix.os }} | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Setup Node.js 22 | |
| uses: actions/setup-node@v4 | |
| with: | |
| node-version: 22 | |
| cache: 'npm' | |
| - name: Install dependencies | |
| run: npm ci | |
| - name: Lint | |
| run: npm run lint | |
| - name: Build Package | |
| run: npm run build | |
| - name: Run Vitest Suite | |
| run: npm test | |
| - name: Verify Compatibility (Node 22) | |
| run: npm run test:compat | |
| - name: Upload Build Artifacts | |
| if: matrix.os == 'ubuntu-latest' | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: dist-artifacts | |
| path: dist/ | |
| retention-days: 1 | |
| test-docker-compatibility: | |
| name: Docker Compatibility (node:${{ matrix.node }}-alpine) | |
| needs: build-and-test | |
| runs-on: ubuntu-latest | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| node: ['10.15', '10', '12', '14', '16', '18', '20', '22'] | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Download Build Artifacts | |
| uses: actions/download-artifact@v4 | |
| with: | |
| name: dist-artifacts | |
| path: dist/ | |
| - name: Install Production Dependencies Only | |
| run: npm install --production --ignore-scripts | |
| - name: Run Node ${{ matrix.node }} Compatibility Test | |
| run: | | |
| docker run --rm -v "$(pwd):/app" -w /app "node:${{ matrix.node }}-alpine" node scripts/test-compat.cjs |