feat: add per-author tracked change colors (#3559) #508
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
| # Auto-releases on push to main (@next). | |
| # Stable releases are orchestrated centrally by release-stable.yml so that | |
| # every stable release shares one concurrency slot and one git push lane. | |
| name: 📦 Release react | |
| on: | |
| push: | |
| branches: | |
| - main | |
| paths: | |
| # React declares `superdoc` in dependencies (not peerDependencies), so | |
| # existing consumers with lockfiles won't pick up a new core version | |
| # until react republishes. Keep release broad until the peer-dep | |
| # migration lands (tracked separately). See .github/package-impact-map.md. | |
| - 'packages/react/**' | |
| - 'packages/superdoc/**' | |
| - 'packages/layout-engine/**' | |
| - 'packages/super-editor/**' | |
| - 'packages/word-layout/**' | |
| - 'packages/preset-geometry/**' | |
| - 'shared/**' | |
| - 'pnpm-workspace.yaml' | |
| - '!**/*.md' | |
| workflow_dispatch: | |
| permissions: | |
| contents: write | |
| packages: write | |
| concurrency: | |
| # Stable releases share the `release-stable` group so @semantic-release/git | |
| # pushes to `stable` serialize across workflows; per-workflow groups would | |
| # let releases race on `git push origin stable`. queue: max keeps GitHub | |
| # from dropping older pending stable releases when a stable push touches | |
| # multiple wrapper packages; default queue: single only allows one pending. | |
| # queue: max requires cancel-in-progress: false (cannot be combined with true). | |
| group: ${{ github.ref_name == 'stable' && 'release-stable' || format('{0}-{1}', github.workflow, github.ref) }} | |
| cancel-in-progress: false | |
| queue: max | |
| jobs: | |
| release: | |
| # Stable publishes must go through release-stable.yml. | |
| if: ${{ github.event_name != 'workflow_dispatch' || github.ref_name != 'stable' }} | |
| runs-on: ubuntu-24.04 | |
| steps: | |
| - name: Generate token | |
| id: generate_token | |
| uses: actions/create-github-app-token@v2 | |
| with: | |
| app-id: ${{ secrets.APP_ID }} | |
| private-key: ${{ secrets.APP_PRIVATE_KEY }} | |
| - uses: actions/checkout@v6 | |
| with: | |
| fetch-depth: 0 | |
| token: ${{ steps.generate_token.outputs.token }} | |
| - name: Refresh branch head | |
| # Queued release runs may start against a stale checkout (queue: max | |
| # plus cancel-in-progress: false). Refresh to the current branch head | |
| # so @semantic-release/git pushes fast-forward; semantic-release no-ops | |
| # if no new commits were added since the previous queued run released. | |
| run: | | |
| git fetch origin "${{ github.ref_name }}" --tags | |
| git checkout -B "${{ github.ref_name }}" "origin/${{ github.ref_name }}" | |
| - uses: pnpm/action-setup@v4 | |
| - uses: actions/setup-node@v6 | |
| with: | |
| node-version-file: .nvmrc | |
| cache: pnpm | |
| registry-url: 'https://registry.npmjs.org' | |
| - uses: oven-sh/setup-bun@v2 | |
| - name: Install dependencies | |
| run: pnpm install | |
| - name: Build packages | |
| run: pnpm run build | |
| - name: Release | |
| env: | |
| GITHUB_TOKEN: ${{ steps.generate_token.outputs.token }} | |
| NPM_TOKEN: ${{ secrets.NPM_TOKEN }} | |
| NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }} | |
| LINEAR_TOKEN: ${{ secrets.LINEAR_TOKEN }} | |
| ANTHROPIC_API_KEY: ${{ secrets.ANTHROPIC_API_KEY }} | |
| working-directory: packages/react | |
| run: pnpx semantic-release |