Skip to content

release-train: staging -> main - #128

Merged
tracebloc-release-train[bot] merged 5 commits into
mainfrom
release-train/to-main
Aug 20, 2026
Merged

release-train: staging -> main#128
tracebloc-release-train[bot] merged 5 commits into
mainfrom
release-train/to-main

Conversation

@LukasWodka

@LukasWodka LukasWodka commented Aug 19, 2026

Copy link
Copy Markdown
Contributor

Automated promotion by the release train (RFC-0008 D14). Head is the train-managed release-train/to-main branch (a mirror of staging), so it never collides with a human PR. Merged only when the fr-gate is green.


Note

Medium Risk
Workflow auth and secret configuration changes can break kanban automation for issues/PRs (including Dependabot) if App secrets or installation permissions are wrong.

Overview
The Add to engineer kanban workflow no longer uses PROJECTS_KANBAN_TOKEN when calling actions/add-to-project. It first runs actions/create-github-app-token with RELEASE_TRAIN_APP_ID and RELEASE_TRAIN_APP_PRIVATE_KEY, scoped via owner: ${{ github.repository_owner }} so the token can write the org project board.

Inline comments document why org-scoped App auth is required (repo-scoped tokens cannot update the org project), that there is intentionally no PAT fallback, and that Dependabot-triggered runs need the same App secrets in Dependabot’s secret scope to avoid missing-input failures.

Reviewed by Cursor Bugbot for commit a569305. Bugbot is set up for automated code reviews on this repo. Configure here.

LukasWodka and others added 2 commits August 18, 2026 13:11
The last board writer on PROJECTS_KANBAN_TOKEN. A per-repo COPY, so one PR per
repo; the content stays byte-identical across the fleet because the guard
compares it that way.

`owner:` makes the installation token ORG-scoped -- a repo-scoped one cannot write
the org project. No fallback to the PAT: a fallback would let a broken App path
keep working silently.

This workflow also fires on DEPENDABOT PRs, which GitHub gates on a separate
secret scope. Both app secrets are set there too; without that, Dependabot PRs
would stop reaching the board with `Input required and not supplied` -- the exact
failure PROJECTS_KANBAN_TOKEN already had to be dual-scoped to avoid.

Refs backend#2036

Co-authored-by: Claude Opus 5 <noreply@anthropic.com>
@LukasWodka

Copy link
Copy Markdown
Contributor Author

bugbot run

@cursor cursor Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

✅ Bugbot reviewed your changes and found no new issues!

Comment @cursor review or bugbot run to trigger another review on this PR

Reviewed by Cursor Bugbot for commit a569305. Configure here.

@tracebloc-release-train tracebloc-release-train Bot added gate-nudge Toggled by the release train to (re-)fire the fr-gate and removed gate-nudge Toggled by the release train to (re-)fire the fr-gate labels Aug 19, 2026
LukasWodka and others added 3 commits August 19, 2026 18:10
Brings this repo's copy to the fleet canonical form. `add-to-kanban.yml` is a
byte-compared copy, so this is one pass over every repo rather than a fix here.

WHAT CHANGES

  repositories: ${{ github.event.repository.name }}   the two content reads stop
                                                      being org-wide
  permission-issues: read                             add-to-project must RESOLVE
  permission-pull-requests: read                      the triggering node before
  permission-organization-projects: write              it can add it
  permissions: {}                                     the job needs no GITHUB_TOKEN

Without any `permission-*` the mint carried the App's FULL installation grant --
contents+PR write across every installed repo -- and the App holds bypass_reviews
on staging and prod fleet-wide, so the blast radius was merge-past-review rather
than merely write.

WHY THE FILE IS BYTE-IDENTICAL TO backend's. That copy is the one that survived
review: saadqbal caught that `owner:` narrows nothing ("Input 'repositories' is not
set. Creating token for all repositories owned by tracebloc"), and aptracebloc
caught a run cited as evidence that was not one. Copying the corrected version
rather than re-deriving it is the point of a byte-compared file.

VERIFIED, not assumed: run 32255581084 on backend#2181's head exercised these exact
scopes and landed the card (Status=Code review), which settles the one open
question -- `repositories:` scoping does not clip `organization_projects`.

Refs backend#2157.
…m containers) (#126)

Co-authored-by: shujaat hasan <shujaathasan@shujaats-MacBook-Pro.local>
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
@LukasWodka

Copy link
Copy Markdown
Contributor Author

bugbot run

@cursor cursor Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

✅ Bugbot reviewed your changes and found no new issues!

Comment @cursor review or bugbot run to trigger another review on this PR

Reviewed by Cursor Bugbot for commit 1c3a73d. Configure here.

@tracebloc-release-train tracebloc-release-train Bot added gate-nudge Toggled by the release train to (re-)fire the fr-gate and removed gate-nudge Toggled by the release train to (re-)fire the fr-gate labels Aug 20, 2026
@tracebloc-release-train
tracebloc-release-train Bot merged commit 83b9abb into main Aug 20, 2026
15 checks passed
@tracebloc-release-train
tracebloc-release-train Bot deleted the release-train/to-main branch August 20, 2026 11:02
@tracebloc-release-train
tracebloc-release-train Bot restored the release-train/to-main branch August 20, 2026 11:32
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants