/
githubmirror
/
tldraw
Обзор
Документация
Войти
/
githubmirror
/
tldraw
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
main
.github/workflows/update-release-notes.yml
114 строк
4 KB
Mime Čuvalo
ci(release-notes): label update-release-notes PR with docs-hotfix-please (#9603)
16 июл 2026, 00:13
Не верифицирован
16 июл 2026, 00:13
8185b47
Код
Авторство
О чём код?
name: Update release notes on: # Update release notes whenever production is updated, keeping next.mdx (and the # draft GitHub release synced by the skill) in step with each dotcom release — # the same production push that deploys dotcom and publishes the `next` package. # Production only: a push to main must not trigger a notes run on every merge. # Release-notes commits carry `[skip ci]`, so a notes-only push does not re-trigger # this workflow, and the job only ever opens a PR against main (it never pushes to # production), so there is no deploy loop. push: branches: - production workflow_dispatch: concurrency: group: update-release-notes defaults: run: shell: bash jobs: update-release-notes: name: 'Update release notes with Claude Code' timeout-minutes: 30 runs-on: ubuntu-latest steps: - name: Generate GH token id: generate_token uses: tibdex/github-app-token@b62528385c34dbc9f38e5f4225ac829252d1ea92 with: app_id: ${{ secrets.HUPPY_APP_ID }} private_key: ${{ secrets.HUPPY_PRIVATE_KEY }} - name: Check out code uses: actions/checkout@v6 with: persist-credentials: false fetch-depth: 0 token: ${{ steps.generate_token.outputs.token }} - name: Configure git credentials run: git config --global url."https://x-access-token:${{ steps.generate_token.outputs.token }}@github.com/".insteadOf "https://github.com/" - name: Run our setup uses: ./.github/actions/setup - name: Configure git run: | git config --global user.name 'huppy-bot[bot]' git config --global user.email '128400622+huppy-bot[bot]@users.noreply.github.com' - name: Create branch id: branch run: | BRANCH_NAME="release-notes/update-$(date +%Y%m%d-%H%M%S)" git checkout -b "$BRANCH_NAME" echo "branch_name=$BRANCH_NAME" >> "$GITHUB_OUTPUT" - name: Install Claude Code run: npm install -g @anthropic-ai/claude-code - name: Run update-release-notes skill run: | claude --dangerously-skip-permissions --print "/update-release-notes" env: ANTHROPIC_API_KEY: ${{ secrets.ANTHROPIC_API_KEY }} GH_TOKEN: ${{ steps.generate_token.outputs.token }} - name: Check for changes id: changes run: | if [ -z "$(git status --porcelain)" ]; then echo "has_changes=false" >> "$GITHUB_OUTPUT" else echo "has_changes=true" >> "$GITHUB_OUTPUT" fi - name: Commit and push if: steps.changes.outputs.has_changes == 'true' run: | git add -A git commit -m "Update release notes" git push -u origin "${{ steps.branch.outputs.branch_name }}" - name: Create PR if: steps.changes.outputs.has_changes == 'true' run: | gh pr create \ --title "docs: update release notes" \ --body "$(cat <<'EOF' In order to keep the release notes up to date, this PR adds entries for PRs merged since the last update. ### Change type - [x] `other` ### Test plan - [ ] Unit tests - [ ] End to end tests EOF )" \ --base main \ --head "${{ steps.branch.outputs.branch_name }}" \ --label "docs-hotfix-please" env: GH_TOKEN: ${{ steps.generate_token.outputs.token }} - name: No changes if: steps.changes.outputs.has_changes == 'false' run: echo "No release notes updates needed"