ci: adopt org-infra reusable release workflows - #61
Conversation
e26f824 to
9914bc4
Compare
5b60a01 to
86a762c
Compare
084ea61 to
274e749
Compare
yvonnedevlinrh
left a comment
There was a problem hiding this comment.
Review Summary
Verdict: APPROVE — CI passes, SHA pin verified, permissions correctly scoped.
Findings
MEDIUM
-
CHANGELOG Go version claim without corresponding change — The "Security" subsection states "Go bumped to 1.25.12 for crypto/tls vulnerability fix" but
go.mod/go.sumare not in the changed file list for this PR. If the bump landed in a prior commit on this branch, the entry is accurate but potentially misleading about scope. Worth clarifying. -
Token-in-URL pattern in
sign-macos(pre-existing carry-over) — The Homebrew tap clone constructs a URL embedding the token via shell expansion (https://x-access-token:${HOMEBREW_TAP_GITHUB_TOKEN}@github.com/...). If the step produces verbose output (set -x,git remote -v), the token could leak to runner logs. Consider migrating togit config url.insteadOforghCLI token injection. Not introduced by this PR — carried over from the previous inline implementation.
LOW
- Deletion of
.opencode/agents/reviewer-testing.mdis not mentioned in the PR description or CHANGELOG. - Minor header comment style inconsistency between
ci.yml(# --) andrelease.yml(# =======). awkSHA-patching script insign-macosis fragile if the cask format changes (mitigated by existinggrep -qintegrity check).- Workflow-level
concurrencygroup was removed; concurrentworkflow_dispatchinvocations are guarded by the reusable preflight's tag-uniqueness check but lack admission-level deduplication.
Verified
- Reusable workflow SHA
0c784711926c9864f027ec565fd7c06a382d80f8confirmed againstcomplytime/org-infratag v0.7.1 - Workflow-level
permissions: {}enforces least privilege; per-job permissions correctly scoped - Three
skip_*boolean inputs default tofalse, passed through to reusable workflow — no injection vector agentkit_test.goimprovements convert ignored errors tot.Fatalfand strengthen overwrite assertions- Spec-first, branching convention, and documentation gate requirements satisfied
Review generated by /uf.review-pr (AI-assisted).
274e749 to
184dff6
Compare
Replace inline preflight and GoReleaser jobs with org-infra reusable workflow callers (reusable_release_preflight.yml + reusable_release_goreleaser.yml @ v0.7.1). Key improvements over the inline implementation: - Smart re-run detection (tag at HEAD = re-run, not error) - Semver-aware Python comparator (replaces sort -V which breaks on pre-releases) - Configurable CI checks via ci_checks input - Skip inputs for debugging (skip_semver_check, skip_ci_checks, skip_unreleased_check) - Tag creation via GitHub API (annotated tags) sign-macos job stays inline — extracting that into a reusable is a separate concern. A new check-signing-secrets job provides the has_signing_secrets output that the reusable preflight does not expose. GoReleaser config gains release.extra_files to upload generated Homebrew cask as a release asset (previously done by the inline release job). Ref: unbound-force/unbound-force#428 Assisted-by: OpenCode (claude-opus-4-6) Signed-off-by: sonupreetam <spreetam@redhat.com>
- Resolve 24 stash conflict markers across 15 files - Remove workflow-level concurrency (conflicts with reusable preflight) - Add allow_prerelease to release preflight inputs - Add signing credential cleanup step (if: always()) - Add Homebrew cask SHA verification after patching - Add CI workflow header comment (CI-011) - Expand CHANGELOG with Added/Changed/Security sections - Update AGENTS.md convention packs and recent changes - Align CLAUDE.md pack list with AGENTS.md - Strengthen agentkit test assertions and error handling Signed-off-by: sonupreetam <spreetam@redhat.com>
- Distinguish os.ErrNotExist from other os.Stat errors in Scaffold - Wrap os.WriteFile error with context in Scaffold - Add new commands, agents, and skills to CHANGELOG - Broaden Security section to cover all SHA-pinned actions - Add make coverage and make check-coverage to README and CONTRIBUTING Signed-off-by: sonupreetam <spreetam@redhat.com>
184dff6 to
beaf60b
Compare
Summary
Replace inline preflight and GoReleaser jobs with org-infra reusable workflow callers (
reusable_release_preflight.yml+reusable_release_goreleaser.yml@ v0.7.1).Changes
release.ymlskip_semver_check,skip_ci_checks,skip_unreleased_checkfor debuggingci_checks: '["Build and Test"]'has_signing_secretsneeds.preflight.outputs.taginstead ofinputs.tag.goreleaser.yamlrelease.extra_filesto upload generated Homebrew cask as a release asset (previously done by the inline release job'sgh release uploadstep)Key improvements over inline implementation
sort -V(breaks on pre-releases)semverlibrary (spec-compliant)ci_checksJSON array inputgit tag -a+git pushPart of unbound-force/unbound-force#428