feat: add per-author tracked change colors (#3559) #561
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. | |
| # Note: VS Code Marketplace doesn't support semver prerelease versions, so | |
| # main pushes only build a .vsix and attach it to the GitHub release. | |
| name: 📦 Release vscode-ext | |
| on: | |
| push: | |
| branches: | |
| - main | |
| paths: | |
| - 'apps/vscode-ext/**' | |
| - '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-latest | |
| 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' | |
| - name: Install dependencies | |
| run: pnpm install | |
| - name: Build superdoc | |
| run: pnpm run build | |
| - name: Test vscode-ext | |
| run: pnpm run test | |
| working-directory: apps/vscode-ext | |
| - name: Build vscode-ext | |
| run: pnpm run build | |
| working-directory: apps/vscode-ext | |
| - name: Release | |
| run: pnpx semantic-release | |
| working-directory: apps/vscode-ext | |
| env: | |
| GITHUB_TOKEN: ${{ steps.generate_token.outputs.token }} | |
| VSCE_PAT: ${{ secrets.VSCE_PAT }} | |
| LINEAR_TOKEN: ${{ secrets.LINEAR_TOKEN }} | |
| ANTHROPIC_API_KEY: ${{ secrets.ANTHROPIC_API_KEY }} |