Skip to content

ci: adopt shared @btravstack reusable CI + release workflows#335

Merged
btravers merged 3 commits into
mainfrom
ci/use-reusable-workflows
Jul 24, 2026
Merged

ci: adopt shared @btravstack reusable CI + release workflows#335
btravers merged 3 commits into
mainfrom
ci/use-reusable-workflows

Conversation

@btravers

Copy link
Copy Markdown
Collaborator

Migrate CI/release to the shared reusable workflows in `btravstack/config` (proven in unthrown).

CI (`.github/workflows/ci.yml`)

  • Replaces the common jobs (format, lint, typecheck, knip, test, build, security-audit) with a single call to `btravstack/config/.github/workflows/ci-reusable.yml@main`.
  • `changeset: false` (temporal has no changeset job).
  • `test-command: "pnpm test -- --coverage --reporter=default --reporter=github-actions"` — matches the old test command.
  • knip: used the reusable's built-in knip (the old knip job was plain checkout+setup+`pnpm exec knip`).
  • Bespoke jobs kept verbatim: test-integration (unchanged) and bundle-size (`needs: build` → `needs: ci`).

Behavioral deltas (heads-up)

  • Node version matrix dropped. The old `test` job ran a 2-entry matrix (default `.node-version` + `22.19.0` engines floor). The reusable runs a single Node version from `.node-version`, so the explicit floor-version test run is no longer exercised in CI.
  • Test coverage-artifact upload dropped. The reusable can't upload artifacts; the old `test` job's `upload-artifact` (coverage-report-node-*) is gone. Coverage still runs (`--coverage`), and thresholds still enforce. The integration coverage artifact upload is retained (it's a bespoke job).

Release (`.github/workflows/release.yml`)

  • Replaced with a thin call to `btravstack/config/.github/workflows/release-reusable.yml@main`, passing `RELEASE_PAT`.
  • The old release used the default `pnpm run version` / `pnpm run release` commands, which are the reusable's defaults, so no `with:` overrides are needed.

`deploy-docs.yml` and `.github/actions/setup` are untouched.

Copilot AI review requested due to automatic review settings July 24, 2026 08:17

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR migrates this repo’s CI and release pipelines to shared reusable workflows maintained in btravstack/config, reducing local workflow maintenance while keeping the bespoke integration test and bundle-size reporting jobs.

Changes:

  • Replace most CI jobs with a single call to btravstack/config/.github/workflows/ci-reusable.yml.
  • Replace the release workflow steps with a call to btravstack/config/.github/workflows/release-reusable.yml, passing RELEASE_PAT.
  • Update bundle-size to depend on the new ci reusable-workflow job.

Reviewed changes

Copilot reviewed 2 out of 2 changed files in this pull request and generated 2 comments.

File Description
.github/workflows/ci.yml Switches core CI checks to a shared reusable workflow while retaining integration tests and bundle-size reporting.
.github/workflows/release.yml Switches releases to a shared reusable workflow, delegating the release implementation to btravstack/config.
Comments suppressed due to low confidence (2)

.github/workflows/release.yml:12

  • The reusable workflow is referenced via @main, which is mutable. Pinning to an immutable ref (tag or commit SHA) reduces supply-chain risk and makes releases reproducible.
    if: ${{ github.event.workflow_run.conclusion == 'success' }}
    uses: btravstack/config/.github/workflows/release-reusable.yml@main
    secrets:

.github/workflows/ci.yml:51

  • bundle-size now needs: ci (the reusable job), so it will be skipped whenever any CI check fails. Previously it only depended on build, so bundle-size output could still be produced even if lint/tests failed. If you want to preserve that behavior, run bundle-size unconditionally (or at least even when ci fails).
  bundle-size:
    name: Bundle Size
    runs-on: ubuntu-latest
    timeout-minutes: 15
    needs: ci
    steps:

Comment thread .github/workflows/release.yml
Comment thread .github/workflows/ci.yml Outdated
Comment thread .github/workflows/ci.yml Outdated
Comment thread .github/workflows/ci.yml Outdated
Comment thread .github/workflows/ci.yml Outdated
Comment thread .github/workflows/ci.yml
@btravers
btravers merged commit 80b4461 into main Jul 24, 2026
11 checks passed
@btravers
btravers deleted the ci/use-reusable-workflows branch July 24, 2026 09:52
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants