Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions labkit/src/labkit/config.py
Original file line number Diff line number Diff line change
Expand Up @@ -81,6 +81,9 @@ class Sync(_Model):
stale_guard: bool = defaults.DEFAULT_STALE_GUARD
open_pr: bool = defaults.DEFAULT_OPEN_PR
cron: Optional[str] = None # resolved from the slug when omitted
# Source name used in the sync commit/PR title. Public repos may pin this
# in their own CI (e.g. Boatstack's "Verify upstream sync contract").
source_label: str = "Intelligence Flow"


class Token(_Model):
Expand Down
4 changes: 2 additions & 2 deletions labkit/src/labkit/gen_workflows.py
Original file line number Diff line number Diff line change
Expand Up @@ -255,11 +255,11 @@ def render_sync_upstream(config: PublishConfig) -> str:
git config user.name "${{{{ steps.app-token.outputs.app-slug }}}}[bot]"
git config user.email "${{{{ steps.app-token.outputs.app-slug }}}}[bot]@users.noreply.github.com"
git switch -c "$branch"
git commit -m "Sync {config.display_name} from Intelligence Flow @ $short"
git commit -m "Sync {config.display_name} from {config.sync.source_label} @ $short"
git push --force --set-upstream origin "$branch"
if [[ -z "$existing" ]]; then
pr_url="$(gh pr create --base main --head "$branch" \\
--title "Sync {config.display_name} from Intelligence Flow @ $short" \\
--title "Sync {config.display_name} from {config.sync.source_label} @ $short" \\
--body-file "$body_file")"
echo "Opened generated PR: $pr_url"
else
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -119,11 +119,11 @@ jobs:
git config user.name "${{ steps.app-token.outputs.app-slug }}[bot]"
git config user.email "${{ steps.app-token.outputs.app-slug }}[bot]@users.noreply.github.com"
git switch -c "$branch"
git commit -m "Sync Boatstack from Intelligence Flow @ $short"
git commit -m "Sync Boatstack from Intelligence Flow Labs @ $short"
git push --force --set-upstream origin "$branch"
if [[ -z "$existing" ]]; then
pr_url="$(gh pr create --base main --head "$branch" \
--title "Sync Boatstack from Intelligence Flow @ $short" \
--title "Sync Boatstack from Intelligence Flow Labs @ $short" \
--body-file "$body_file")"
echo "Opened generated PR: $pr_url"
else
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
### Sync PR title now satisfies the public repo's upstream-sync contract

The generated Boatstack `sync-upstream.yml` now titles its sync commit and PR
"Sync Boatstack from Intelligence Flow Labs @ <short>", matching the
"Verify upstream sync contract" check in the public repo's `ci.yml`. The source
name is config-driven (`sync.source_label`) rather than hardcoded, defaulting to
"Intelligence Flow" for other labs. This is a control-plane wording fix only; the
projected Boatstack surface is unchanged.
1 change: 1 addition & 0 deletions labs/12-product-engineering-loop/publish.config.json
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@
"manifest": { "path": "UPSTREAM.json", "committed": false, "style": "projection" },
"release_notes": { "dir": "boatstack-distribution/release-notes", "sync_pr": true },
"rename": { "product-engineering-loop": "boatstack" },
"sync": { "source_label": "Intelligence Flow Labs" },
"surface": [],
"hooks": ".labkit/hooks.py",
"token": {
Expand Down
Loading