Skip to content

About

GitHub Action: fail or warn in CI on near Breakwire deadlines (shutdowns, retirements, required migrations) and advisories for your dependencies

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

6 Commits

Folders and files

Repository files navigation

breakwire-check (GitHub Action)

Fails or warns when a dependency in package.json, requirements*.txt or pyproject.toml has a Breakwire deadline (model retirement, API shutdown, required migration) within N days, or a security advisory that covers the version you pinned. Uses POST https://breakwire.org/api/stack. Zero dependencies, node24.

- uses: actions/checkout@v7
- uses: breakwire-org/breakwire-check@v1
  with:
    days: 30            # deadline window
    on-deadline: fail   # fail | warn | ignore
    deadline-policy: specific   # v1.2: only package/runtime/model matches block; service-only matches warn
    # models: claude-opus-4-7, text-embedding-004   # optional: lifecycle deadlines per model you call
    on-advisory: fail   # fail only when a pinned/locked version is in an affected range; unpinned => warning

Full workflows: examples/breakwire.yml (fails), examples/breakwire-warn-only.yml, examples/breakwire-weekly.yml (weekly cron, warn only).

v1.2.0: fewer false blocks. Deadlines matched only by service are warnings by default; per-model dates come from the claim's resources (Breakwire 0.9.0). Set deadline-policy: any for the old behaviour. Security: the stack request now follows only https redirects to the same origin or breakwire.org, at most 3 hops, and re-sends your dependency list only on 307/308 (earlier versions re-sent it to any Location).

PR comment (v1.1). On pull_request runs the action posts one short comment and updates it in place on later runs: affected claims with links, a one-line outcome-report call, and a snippet to copy into AGENTS.md. It is on by default (comment: auto) when the workflow grants pull-requests: write, and skips quietly when it doesn't. It only creates a comment when at least one claim applies. comment: false turns it off; comment: true warns if it cannot post.

Input Default
path . Directory scanned recursively (skips node_modules, .git, venvs, dist, build)
files Explicit manifest list instead of scanning (newline or comma separated)
days 30 Deadline window
on-deadline fail fail / warn / ignore
deadline-policy specific v1.2.0. specific: a deadline fails the step only when it is tied to a package/version, runtime or model you use. A claim matched by service name alone (for example a model retirement found because you depend on that vendor's SDK) is reported as a warning. any: service-only deadlines also follow on-deadline (the v1.1 behaviour)
models '' v1.2.0. Comma/newline list of model ids your code calls. Multi-model lifecycle claims then use that model's own date and state (an already-retired model is reported as overdue, a model whose shutdown is only an earliest-possible date shows that)
on-advisory fail Fails only for versions pinned in the manifest (==1.2.3, exact npm version) or package-lock.json that fall inside an affected range; otherwise warns
include-dev true devDependencies / dev groups
base-url https://breakwire.org
fail-on-api-error false An outage of Breakwire never breaks your build unless you set this
timeout-seconds 20
comment auto auto / true / false: one updatable PR comment (needs pull-requests: write)
github-token ${{ github.token }} Token for the PR comment

Outputs: applicable-count, flagged-count, report-json (path to the full result), comment-url. Each flagged claim becomes an annotation on the manifest, and the job summary lists everything that applies plus what Breakwire does not cover ("not covered" means no claims, not "nothing changed").

What it sends to Breakwire: package names and versions from your manifests (and engines.node). Nothing else from your repo. The PR comment goes only to GitHub, with your workflow token.

Limits, honestly: deadlines are matched per service (e.g. any Anthropic SDK version gets the model-retirement date); advisory ranges are evaluated only when the version is pinned; Breakwire's community verification has just started.

MIT.

About

GitHub Action: fail or warn in CI on near Breakwire deadlines (shutdowns, retirements, required migrations) and advisories for your dependencies

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages