Skip to content

feat: Open Telemetry Integration #82

feat: Open Telemetry Integration

feat: Open Telemetry Integration #82

name: Verify Changeset
on:
pull_request:
branches-ignore:
- main
- release/**
- conflict/*
- sync/*
paths-ignore:
- '.github/**'
- '.cargo/**'
- '.direnv/**'
- '.vscode/**'
- 'docs/**'
- 'Cargo.*'
- 'crates/**/Cargo.*'
- '*.md'
workflow_dispatch:
jobs:
verify-changeset:
if: ${{ !contains(github.event.pull_request.labels.*.name, 'skip-changeset') && !startsWith(github.head_ref, 'sync/') && !startsWith(github.head_ref, 'conflict/') }}
name: Verify
runs-on: ubuntu-24.04
permissions:
pull-requests: write
contents: read
steps:
- name: Verify changeset included
uses: actions/github-script@v7
with:
script: |
const dir = '.changesets/';
const pr = context.payload.pull_request;
const files = await github.paginate(
github.rest.pulls.listFiles,
{ owner: context.repo.owner, repo: context.repo.repo, pull_number: pr.number, per_page: 100 }
);
const ok = files.some(f =>
f.filename.startsWith(dir) &&
['added','modified','renamed'].includes(f.status)
);
if (!ok) {
core.setFailed(`No changeset added to ${dir}.`);
} else {
core.info(`Changeset found under ${dir}.`);
}
core.setOutput('ok', ok ? 'true' : 'false');
- name: Add changeset missing comment on failure
uses: actions/github-script@v7
if: failure()
with:
script: |
const pr = context.payload.pull_request;
await github.rest.issues.createComment({
owner: context.repo.owner,
repo: context.repo.repo,
issue_number: pr.number,
body: [
"❌ **Changeset file missing for PR**",
"",
"All changes should include an associated changeset file.",
"Please refer to [README](https://github.com/apollographql/apollo-mcp-server/blob/main/.changesets/README.md) for more information on generating changesets."
].join("\n")
});