Skip to content
Merged
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
48 changes: 48 additions & 0 deletions .github/workflows/codeboarding-sync.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
name: CodeBoarding sync

on:
push:
branches: ['main']
# Loop guard: don't re-trigger on the files this workflow itself commits.
# List generated files only: user-authored scope configuration must still trigger
# regeneration, while a merged sync PR must not trigger a loop.
paths-ignore:
- '.codeboarding/*.md'
- '.codeboarding/analysis.json'
- '.codeboarding/fingerprint.json'
- '.codeboarding/static_analysis.pkl'
- '.codeboarding/static_analysis.sha'
- '.codeboarding/codeboarding_version.json'
- '.codeboarding/health/health_report.json'
- 'docs/development/architecture.md'
workflow_dispatch:
inputs:
force_full:
description: 'Ignore the committed baseline and rebuild it from scratch (full analysis).'
type: boolean
required: false
default: false

permissions:
contents: write # commit the generated baseline + docs to the branch
id-token: write # identifies this repo to CodeBoarding's hosted tier, used by the free
# tier AND a license, and as the fallback until your own key exists

concurrency:
# Serialize against itself so a push landing mid-run can't make two commits.
group: codeboarding-sync
cancel-in-progress: false

jobs:
sync:
runs-on: ubuntu-latest
timeout-minutes: 60
steps:
- uses: CodeBoarding/CodeBoarding-action@v1

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

P1 Badge Pin the privileged action to an immutable revision

If the mutable v1 tag is retargeted—whether during a normal upstream release or after compromise—the replacement code will execute automatically on pushes to main with both repository write access and permission to mint OIDC tokens. Pin this third-party action to a reviewed full commit SHA so upstream tag changes cannot silently alter this privileged workflow.

Useful? React with 👍 / 👎.

with:
mode: sync
force_full: ${{ inputs.force_full || false }}
target_branch: 'main'
# CodeBoarding's free hosted tier. No secret to add: the run authenticates
# with the GitHub OIDC token that `id-token: write` above grants.
llm: hosted
Loading