Skip to content

ci(release): prepare v0.38.0 — bump agents gate pin past agents#1010, tag the gate-validated SHA - #6613

Open
waynesun09 wants to merge 1 commit into
mainfrom
release-prep/v0.38.0-agents-gate
Open

ci(release): prepare v0.38.0 — bump agents gate pin past agents#1010, tag the gate-validated SHA#6613
waynesun09 wants to merge 1 commit into
mainfrom
release-prep/v0.38.0-agents-gate

Conversation

@waynesun09

Copy link
Copy Markdown
Member

Summary

Preparation for the next release (v0.38.0). Two changes to release.yml, both maintainer-owned (workflow file):

  1. Bump the agents gate pin a8566cd5 → b9c07455 (agents main). This includes agents#1010, which makes the gate check out fullsend-ai/agents at an explicit ref instead of github.workflow_sha — proven on the v0.37.0 run to be the caller's commit (not our ref). With this pin, a fullsend release can validate agents content cross-repo for the first time, and the gate exposes the validated commit as the agents_sha workflow_call output.
  2. tag-agents tags the gate-validated SHA (needs.validate-agents.outputs.agents_sha), falling back to resolve-agents' release-start resolution only if the gate output is empty, and logs which source it used. Closes the resolve-once loop end to end (fullsend#6512): the tree the gate validated is the tree that gets tagged.

Also: the checks: read grant pre-granted in #6513 is now actually exercised by the gate's roll-up job; comments updated to match.

Why now

v0.38.0 carries the user-facing pi-runtime readiness (#6583 per-agent runtime/model/effort in config.yaml, #6540 local-run flow, #6523 provider-update retry) plus the #6585 SSRF fix; the agents tag it cuts will carry agents#1010, #1025 (harness images repinned to release builds, shipping the xai-vertex extension) and the risk-assessment review feature. This PR is what lets that release's gate do its job instead of taking the manual-recovery path again.

What to watch on the release run

Validation

  • YAML parses; actionlint clean (tag-triggered workflow gets no CI parse until the next tag)
  • b9c07455 verified to contain agents#1010 (dd9ca90) via merge-base --is-ancestor
  • Next tag push exercises it end to end

Related: fullsend#6512, agents#1001, agents#1010, #6513

… tag the gate-validated SHA

Preparation for the next release (v0.38.0).

Bump validate-agents' reusable-workflow pin from a8566cd5 to agents
main b9c07455, which includes agents#1010: the gate now checks out
fullsend-ai/agents at an explicit ref instead of github.workflow_sha
(the caller's commit), so a cross-repo call can validate for the first
time (fullsend#6512 §2, proven on the v0.37.0 run), and it exposes the
validated SHA as the agents_sha workflow_call output.

tag-agents now tags that gate-validated SHA, falling back to the SHA
resolve-agents captured at release start only if the gate output is
empty, and logs which source it used. This closes the resolve-once loop
end to end: the tree the gate validated is the tree that gets tagged.

The pin-drift check stays informational; the checks: read grant that
was pre-granted in #6513 is now exercised by the roll-up job.

Signed-off-by: Wayne Sun <gsun@redhat.com>
@qodo-code-review

Copy link
Copy Markdown

PR Summary by Qodo

Tag agents releases at the gate-validated commit

🐞 Bug fix ⚙️ Configuration changes 🕐 10-20 Minutes

Grey Divider

AI Description

• Pin the agents validation gate to the cross-repository checkout fix.
• Tag the gate-validated agents commit, with release-start resolution as a fallback.
Diagram

graph TD
  A["Release tag"] --> B["Release build"] --> C["Pinned agents gate"] -->|"validated SHA"| D{"Gate SHA present?"} -->|"yes"| F["Tag agents"] --> G["Agents version tag"]
  B --> E["Resolve agents main"] -->|"fallback"| D
Loading
High-Level Assessment

The following are alternative approaches to this PR:

1. Require the gate output
  • ➕ Guarantees every agents tag points to a gate-reported commit
  • ➕ Removes fallback selection logic
  • ➖ Makes releases fail if the reusable workflow omits or temporarily breaks its output
  • ➖ Reduces compatibility during the gate-output rollout
2. Keep release-start resolution only
  • ➕ Uses a locally controlled and deterministic SHA
  • ➕ Avoids coupling tagging to reusable-workflow outputs
  • ➖ Can tag a different agents tree than the gate validated
  • ➖ Leaves the cross-repository validation gap unresolved

Recommendation: Keep the PR's gate-first selection with a validated release-start fallback. It preserves release resilience while ensuring the normal path tags exactly the agents tree that passed the gate; the source and divergence notices make fallback behavior observable.

Files changed (1) +19 / -16

Bug fix (1) +19 / -16
release.ymlTag the agents commit reported by the validation gate +19/-16

Tag the agents commit reported by the validation gate

• Advances the pinned agents reusable workflow to the revision containing the cross-repository checkout and 'agents_sha' output fix. The tagging job now prefers that validated SHA, falls back to the release-start resolution when absent, validates the selected value, and logs its source or any divergence.

.github/workflows/release.yml

@qodo-code-review

Copy link
Copy Markdown

Code Review by Qodo

🐞 Bugs (0) 📘 Rule violations (0) 📎 Requirement gaps (0)

Grey Divider

Great, no issues found!

Qodo reviewed your code and found no material issues that require review

Grey Divider

Tip of the day
💡 Did you know, you can hide the parts of a finding you never read, like the evidence or the agent prompt

More tips ↗ | Customize Qodo ↗ | Qodo docs ↗

Grey Divider

Qodo Logo

@fullsend-ai-review

fullsend-ai-review Bot commented Aug 25, 2026

Copy link
Copy Markdown

🤖 Finished Review · ✅ Success · Started 9:33 PM UTC · Completed 9:51 PM UTC

Commit: 4d43687 · View workflow run →

Runtime: claude · Model: opus → claude-opus-4-6 · Effort: high · Cost: $4.00

@codecov

codecov Bot commented Aug 25, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.

📢 Thoughts on this report? Let us know!

@fullsend-ai-review fullsend-ai-review Bot added the risk/moderate PR risk: moderate label Aug 25, 2026
@fullsend-ai-review

Copy link
Copy Markdown

Risk Assessment: moderate (2/5)

Details

Small, focused CI workflow change (1 file, 35 lines) to bump the agents gate pin and tag the validated SHA for v0.38.0, but elevated git history signals (release.yml has 8 recent authors and 4 fix/revert commits in 90d) temper the low metadata risk, yielding a moderate composite score.

@fullsend-ai-review

Copy link
Copy Markdown

Review

Findings

Medium

Low

  • [edge-case] .github/workflows/release.yml:152 — The preference for the gate-validated SHA (GATE_SHA) depends on the called reusable workflow (functional-tests.yml at b9c07455...) declaring agents_sha as a workflow_call output. This cannot be verified from this repository. If agents#1010 did not add that output declaration, GATE_SHA will silently be empty and the fallback to RESOLVED_SHA will always activate — making the gate-preference logic functionally inert. The fallback is safe (tagging still works), but the PR's core improvement would not take effect.
    Remediation: Confirm the agents workflow at b9c0745580084af09d1f1e2df8448d1d478458c6 declares agents_sha under on.workflow_call.outputs. Consider adding a warning log when GATE_SHA is empty to make the fallback observable.

Labels: PR modifies .github/workflows/release.yml (CI release workflow)

@fullsend-ai-review fullsend-ai-review Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

See the review comment for full details.

RESOLVED_SHA: ${{ needs.resolve-agents.outputs.agents_sha }}
run: |
set -euo pipefail
AGENTS_SHA="${GATE_SHA:-${RESOLVED_SHA}}"

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

[low] edge-case

The preference for the gate-validated SHA (GATE_SHA) depends on the called reusable workflow (functional-tests.yml at b9c07455...) declaring agents_sha as a workflow_call output. This cannot be verified from this repository. If agents#1010 did not add that output declaration, GATE_SHA will silently be empty and the fallback to RESOLVED_SHA will always activate, making the gate-preference logic functionally inert. The fallback is safe but the PR's core improvement would not take effect.

Suggested fix: Confirm the agents workflow at b9c0745580084af09d1f1e2df8448d1d478458c6 declares agents_sha under on.workflow_call.outputs. Consider adding a warning log when GATE_SHA is empty to make the fallback observable.

@fullsend-ai-review fullsend-ai-review Bot added requires-manual-review Review requires human judgment component/ci CI pipelines and checks labels Aug 25, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

component/ci CI pipelines and checks requires-manual-review Review requires human judgment risk/moderate PR risk: moderate

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants