Skip to content

Add Ingest workflow: nightly brew advisory-match --all - #29

Draft
andrew wants to merge 3 commits into
mainfrom
ingest-workflow
Draft

Add Ingest workflow: nightly brew advisory-match --all#29
andrew wants to merge 3 commits into
mainfrom
ingest-workflow

Conversation

@andrew

@andrew andrew commented Jul 28, 2026

Copy link
Copy Markdown
Member

Nightly job that runs brew advisory-match --all --output advisories --no-history and opens a matched-advisories PR when anything changes. Scheduled at 08:20 UTC, two hours after Regenerate, so that job's source: generated records are on main and get skipped by --output rather than overwritten.

--no-history because the FormulaVersions walk for every :fixed hit across ~8,500 formulae would exceed the 6h job limit. New records get "fixed": "<current pkg_version>" which reviewers tighten per CONTRIBUTING (#28); existing records keep their on-disk ranges via OsvExport.merge_existing regardless. The flag can go once brew advisory-match skips the walk for records already on disk.

Do not merge before Homebrew/brew#23329 ships in a tagged release (expected next Monday); the brew advisory-match command doesn't exist in the current release. Draft until then.

Depends on #28 for the CONTRIBUTING anchor the PR body links to; independent of #27 (though both improve what this job produces).

Runs brew advisory-match --all --output advisories --no-history at 08:20
UTC (offset from Regenerate at 06:20 so that job's source: generated
records are on main and get skipped rather than overwritten) and opens a
matched-advisories PR when anything changes.

--no-history is used because the FormulaVersions walk for every :fixed
hit across ~8500 formulae would exceed the job limit; new records get
fixed: <current pkg_version> which reviewers tighten per CONTRIBUTING,
and existing records keep their on-disk ranges via merge_existing.

Merge only after Homebrew/brew#23329 ships in a tagged release.
@andrew
andrew force-pushed the ingest-workflow branch from d7e899d to c9697c3 Compare July 28, 2026 15:30
@andrew
andrew marked this pull request as ready for review July 28, 2026 15:32
Copilot AI review requested due to automatic review settings July 28, 2026 15:32

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Pull request overview

Adds a new scheduled GitHub Actions workflow to run Homebrew’s advisory matching nightly and open/update a dedicated PR with any resulting advisory changes.

Changes:

  • Introduces .github/workflows/ingest.yml scheduled at 08:20 UTC (offset from Regenerate) with a 6-hour timeout.
  • Runs brew advisory-match --all --output advisories --no-history and force-pushes updates to a matched-advisories branch.
  • Creates a PR titled “Matched advisory candidates” when changes are detected.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread .github/workflows/ingest.yml Outdated
Mirrors regenerate.yml (from #30): run rake advisories:concat after
brew advisory-match writes to advisories/, and stage data/ so the
concatenated corpus reflects the new matched records. Adds the
setup-ruby step the rake task needs. Depends on #30 for the task
itself.
@kmarekspartz

Copy link
Copy Markdown

Do not merge before Homebrew/brew#23329 ships in a tagged release (expected next Monday); the brew advisory-match command doesn't exist in the current release. Draft until then.

You may want to mark this PR as draft just in case someone misses that.

@andrew
andrew marked this pull request as draft July 29, 2026 11:04
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.

3 participants