feat: use AddEmbeddedAttributeDefinition + changeset release flow#100
Merged
Conversation
…release commit-and-tag-version creates the git tag locally and it may be pushed to origin (e.g. from a feature branch) before the CD pipeline runs on the main push. Only an existing GitHub Release is a hard duplicate error. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
- Replace commit-and-tag-version with @changesets/cli + @changesets/changelog-github - Add .changeset/config.json for kjldev/purview-telemetry-sourcegenerator - Add pending changeset for AddEmbeddedAttributeDefinition feature (minor bump) - Create release-pr.yml: Version PR bot with GitHub App / PAT dual-token support - Rewrite cd.yml: draft-first release, ERR cleanup trap, immutable-release-compatible - Update ci.yml: add changeset-check job + add to ci-gate dependencies - Update Justfile: remove release-final/release-pre, add changeset/changeset-status - Create docs/release-process.md: comprehensive reusable release guide - Fix dotnet test syntax (positional path, not --solution flag) Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
- Add scripts/setup-release.sh (bash, all scopes + token types, idempotent) - Add scripts/setup-release.ps1 (PowerShell DSC, all scopes + token types, idempotent) - Rewrite docs/release-process.md with full scope/token matrix, script reference, manual setup guide (all 4 scopes × 3 token types), ruleset CLI commands, GHES notes, and expanded troubleshooting - Update wiki Contributing.md to reference DSC scripts Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Contributor
There was a problem hiding this comment.
Pull request overview
This PR updates the repository’s release automation by adopting a Changesets-based versioning workflow (with new CI/CD workflows, docs, and setup scripts) and adds a changeset documenting the source-generator change to use Roslyn’s AddEmbeddedAttributeDefinition for embedded marker attributes.
Changes:
- Replace the previous release/versioning approach with
@changesets/cliand add required CI/CD workflows (release-pr.yml,cd.yml, and CI gating viachangeset-check). - Add end-to-end documentation and DSC-style setup scripts (bash + PowerShell) to configure rulesets/labels/secrets for the new release flow.
- Add Changesets configuration and an initial changeset entry for the embedded-attribute-definition generator change.
Reviewed changes
Copilot reviewed 13 out of 14 changed files in this pull request and generated 2 comments.
Show a summary per file
| File | Description |
|---|---|
| scripts/setup-release.sh | Adds bash DSC script to configure rulesets/labels/secrets for the changeset release flow. |
| scripts/setup-release.ps1 | Adds PowerShell DSC script equivalent for release-flow setup. |
| README.md | Adds Contributing section and points contributors to the changeset workflow docs. |
| package.json | Switches dev tooling to Changesets and updates repo metadata URLs. |
| Justfile | Replaces release recipes with changeset and changeset-status recipes. |
| docs/release-process.md | Adds comprehensive, reusable documentation for the new release process. |
| bun.lock | Updates lockfile to include Changesets dependencies and remove prior release tool dependencies. |
| .github/workflows/release-pr.yml | Adds workflow to create/update a Changesets “Version Packages” PR on pushes to main. |
| .github/workflows/ci.yml | Adds changeset-check gate and updates test invocation to dotnet test <solution>. |
| .github/workflows/cd.yml | Updates CD to publish draft-first releases via gh and skip if the release already exists. |
| .changeset/README.md | Adds generated Changesets README. |
| .changeset/embedded-attribute-definition.md | Adds a minor changeset describing the embedded attribute definition change. |
| .changeset/config.json | Adds Changesets configuration (GitHub changelog integration, baseBranch, etc.). |
… actor The GitHub Rulesets API expects the App's numeric ID as �ctor_id for Integration bypass actors, not the installation ID. The installation ID endpoint also requires App JWT auth rather than a user token. Removes the installation ID lookup step entirely — APP_ID (available as a script parameter) is passed directly. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Agent-Logs-Url: https://github.com/kjldev/purview-telemetry-sourcegenerator/sessions/4a5f3fe8-d949-4468-8391-ba140ff61a02 Co-authored-by: kieronlanning <5364423+kieronlanning@users.noreply.github.com>
auto-merge was automatically disabled
May 24, 2026 14:59
Head branch was pushed to by a user without write access
Merged
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
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
This PR introduces two changes:
1. AddEmbeddedAttributeDefinition (source generator)
2. Changeset-based release flow
Version
The pending changeset is a minor bump - will produce v4.3.0