Release Godpowers 5.3.1 #327
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: CI | |
| on: | |
| push: | |
| branches: [main] | |
| pull_request: | |
| branches: [main] | |
| permissions: | |
| contents: read | |
| jobs: | |
| test: | |
| name: Test (Node ${{ matrix.node }}) | |
| runs-on: ubuntu-latest | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| node: ['18', '20', '22'] | |
| steps: | |
| - uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0 | |
| with: | |
| persist-credentials: false | |
| - uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6.4.0 | |
| with: | |
| node-version: ${{ matrix.node }} | |
| - name: Install dependencies | |
| run: npm ci --no-audit --no-fund | |
| - name: Run audit checks | |
| run: npm run test:audit | |
| - name: Run E2E smoke | |
| run: npm run test:e2e | |
| - name: Run full test suite | |
| run: npm test | |
| package: | |
| name: Package check | |
| runs-on: ubuntu-latest | |
| needs: test | |
| steps: | |
| - uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0 | |
| with: | |
| persist-credentials: false | |
| - uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6.4.0 | |
| with: | |
| node-version: '20' | |
| - name: Install dependencies | |
| run: npm ci --no-audit --no-fund | |
| - name: Run release gate | |
| run: npm run release:check | |
| - name: Verify install script entry | |
| run: node -e "const pkg = require('./package.json'); if (!pkg.bin || !pkg.bin.godpowers) { console.error('package.json bin.godpowers missing'); process.exit(1); }" | |
| - name: Verify CHANGELOG mentions current version | |
| run: | | |
| VERSION=$(node -e "console.log(require('./package.json').version)") | |
| if ! grep -q "\\[$VERSION\\]" CHANGELOG.md && ! grep -q "Unreleased" CHANGELOG.md; then | |
| echo "CHANGELOG.md missing entry for $VERSION (and no [Unreleased] section)" | |
| exit 1 | |
| fi |