feat(components): model lsp, native-diagnostics, native-extension, and event-route as canonical component kinds (#100) #238
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: Changeset | |
| # Every pull request that changes a publishable package must ship a | |
| # `.changeset/*.md` entry (see .changeset/README.md and AGENTS.md). This | |
| # lives outside ci.yml on purpose: toggling the `skip-changeset` label must | |
| # re-evaluate only this check, not re-run the heavy CI matrix. | |
| on: | |
| pull_request: | |
| types: [opened, synchronize, reopened, labeled, unlabeled] | |
| permissions: | |
| contents: read | |
| concurrency: | |
| group: changeset-${{ github.event.pull_request.number }} | |
| cancel-in-progress: true | |
| jobs: | |
| changeset: | |
| name: Changeset present | |
| runs-on: ubuntu-latest | |
| timeout-minutes: 10 | |
| steps: | |
| # `changeset status --since=origin/main` diffs against the merge-base | |
| # with main, so the PR merge commit needs enough history to reach it. | |
| - uses: actions/checkout@v7 | |
| with: | |
| fetch-depth: 0 | |
| persist-credentials: false | |
| - uses: pnpm/setup@v2 | |
| with: | |
| cache: true | |
| install: false | |
| runtime: node@22.19.0 | |
| - run: pnpm install --frozen-lockfile | |
| - name: Require a changeset for publishable package changes | |
| env: | |
| SKIP_LABEL: ${{ contains(github.event.pull_request.labels.*.name, 'skip-changeset') }} | |
| # Only the machine-owned release branch of this repository is exempt; | |
| # a fork or contributor branch that happens to share the name is not. | |
| IS_RELEASE_BRANCH: >- | |
| ${{ github.event.pull_request.head.ref == 'changeset-release/main' && | |
| github.event.pull_request.head.repo.full_name == github.repository }} | |
| run: | | |
| set -euo pipefail | |
| if [ "$SKIP_LABEL" = "true" ]; then | |
| echo "::notice::skip-changeset label present; not requiring a changeset." | |
| exit 0 | |
| fi | |
| if [ "$IS_RELEASE_BRANCH" = "true" ]; then | |
| echo "::notice::Version Packages branch; changesets are consumed here, not added." | |
| exit 0 | |
| fi | |
| # Exit 1 when a publishable package changed (per changedFilePatterns | |
| # in .changeset/config.json; tests/** is exempt) and this PR adds no | |
| # .changeset/*.md. Docs-only and private-package changes need none. | |
| if ! pnpm changeset status --since=origin/main --verbose; then | |
| echo "::error::This PR changes a publishable package (agent-bundle, @agent-bundle/runtime, create-agent-bundle) without a changeset. Run 'pnpm changeset' (or add .changeset/<slug>.md) — see .changeset/README.md. For a genuinely no-op change, apply the 'skip-changeset' label." | |
| exit 1 | |
| fi |