fix: make construct compatible with Codex #72
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: Release | |
| # Conventional-Commit-driven releases, fully in CI. On every push to `main`, | |
| # semantic-release inspects the commits since the last release and, when they | |
| # warrant one (feat → minor, fix → patch, `!`/BREAKING → major): | |
| # - runs the full gate (typecheck / test / reproducible bundle), | |
| # - computes the next version and syncs it across package.json / src/types.ts / | |
| # SKILL.md / CHANGELOG.md and rebuilds the bundle (scripts/sync-version.mjs), | |
| # - commits the bump back to `main` as `chore(release): <v> [skip ci]`, | |
| # - tags `v<version>` and creates the GitHub release with auto notes + tarball. | |
| # No npm-registry publish (GitHub release only) — uses the built-in GITHUB_TOKEN. | |
| on: | |
| push: | |
| branches: [main] | |
| workflow_dispatch: {} | |
| permissions: | |
| contents: write # push the bump commit + tag, create the release | |
| issues: write # semantic-release comments on released issues/PRs | |
| pull-requests: write | |
| jobs: | |
| release: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v6 | |
| with: | |
| fetch-depth: 0 # full history + tags, required to analyze commits since last release | |
| persist-credentials: true # let @semantic-release/git push the bump commit | |
| - uses: pnpm/action-setup@v6 | |
| - uses: actions/setup-node@v6 | |
| with: | |
| node-version: 24 | |
| cache: pnpm | |
| - name: Install dependencies | |
| run: pnpm install --frozen-lockfile | |
| - name: Gate — typecheck / lint / test / reproducible bundle | |
| run: | | |
| pnpm run typecheck | |
| pnpm run lint | |
| pnpm test | |
| pnpm run check:build | |
| - name: Release (semantic-release) | |
| env: | |
| GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
| run: pnpm exec semantic-release |