Skip to content

ci(#5481): add mint-cf-worker-test workflow and stub Make target - #5482

Merged
ifireball merged 4 commits into
fullsend-ai:mainfrom
ifireball:ci/5481-mint-cf-worker-test
Jul 23, 2026
Merged

ci(#5481): add mint-cf-worker-test workflow and stub Make target#5482
ifireball merged 4 commits into
fullsend-ai:mainfrom
ifireball:ci/5481-mint-cf-worker-test

Conversation

@ifireball

Copy link
Copy Markdown
Member

Summary

Add a path-filtered GitHub Actions workflow and a stub mint-cf-worker-test Make target so CF mint Worker bridge smoke tests have a stable CI contract. PR #5427 can fill in the real wasm-stage + workersrc sequence without renaming the target or landing workflow changes from agents.

Related Issue

Closes #5481

Changes

  • Add .github/workflows/mint-cf-worker-test.yml calling make mint-cf-worker-test, path-filtered for internal/dispatch/cf/**, cmd/mint-wasm/**, Makefile, and the workflow itself
  • Add stub mint-cf-worker-test Make target (qualified name — not bare worker-test) documented in make help

Testing

  • make mint-cf-worker-test runs the stub successfully
  • make help lists mint-cf-worker-test
  • make lint passes (staged changes)

Checklist

  • PR title follows Conventional Commits (correct type, ! for breaking changes)
  • Commits are signed off (DCO) — human and human-directed agent sessions only
  • I wrote this contribution myself and can explain all changes in it

Made with Cursor

…target

Establish a path-filtered CI contract for CF mint Worker bridge smoke
tests so fullsend-ai#5427 can fill in the real wasm-stage + workersrc sequence
without renaming the target or landing workflow changes from agents.

Signed-off-by: Barak Korren <bkorren@redhat.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
@ifireball
ifireball requested a review from a team as a code owner July 22, 2026 20:32
@ifireball ifireball self-assigned this Jul 22, 2026
@qodo-code-review

Copy link
Copy Markdown

PR Summary by Qodo

Add path-filtered mint-cf-worker-test CI workflow and stub Make target

⚙️ Configuration changes ✨ Enhancement 🕐 10-20 Minutes

Grey Divider

AI Description

• Add a dedicated GitHub Actions workflow to run CF mint Worker bridge smoke tests.
• Path-filter the workflow to only run when relevant CF/wasm inputs change.
• Introduce a stub make mint-cf-worker-test target to establish a stable CI contract.
Diagram

graph TD
A["GitHub event (push/PR)"] --> B["Workflow: mint-cf-worker-test.yml"] --> C["Make target: mint-cf-worker-test"] --> D["Current behavior: stub output"]
C -.-> E["Future: wasm-stage + workersrc tests"]
Loading
High-Level Assessment

The following are alternative approaches to this PR:

1. Fold into an existing CI workflow with path filters
  • ➕ Fewer standalone workflows to maintain
  • ➕ Consolidated CI visibility and shared setup steps (checkout, toolchain caching)
  • ➖ Harder to preserve a stable, dedicated CI contract name for downstream expectations
  • ➖ Existing workflow complexity can make incremental follow-ups riskier
2. Use a reusable workflow (workflow_call) shared across worker test jobs
  • ➕ Standardizes concurrency, checkout pinning, and make-invocation patterns
  • ➕ Easier to add more worker-test entrypoints without duplicating YAML
  • ➖ Adds indirection that may be overkill for a single job today
  • ➖ Requires designing inputs/outputs up front (can slow initial landing)

Recommendation: Current approach is appropriate for establishing a stable CI contract early: a dedicated, path-filtered workflow calling a qualified Make target minimizes collisions and keeps follow-up work (#5427) unblocked. If additional worker smoke tests proliferate, consider refactoring to a reusable workflow to reduce YAML duplication while preserving the target name as the external contract.

Files changed (2) +49 / -1

Other (2) +49 / -1
mint-cf-worker-test.ymlAdd path-filtered CI workflow for mint CF Worker tests +40/-0

Add path-filtered CI workflow for mint CF Worker tests

• Introduces a new GitHub Actions workflow that triggers on push/PR (with path filters) and manual dispatch. The job runs on ubuntu-24.04, pins the checkout action, and invokes 'make mint-cf-worker-test' with concurrency cancellation enabled.

.github/workflows/mint-cf-worker-test.yml

MakefileAdd stub mint-cf-worker-test target and expose it in help +9/-1

Add stub mint-cf-worker-test target and expose it in help

• Registers 'mint-cf-worker-test' as a documented Make target and includes it in the help listing. Implements the target as a stub that prints guidance, explicitly establishing a stable CI entrypoint until the real workersrc-based tests land.

Makefile

@fullsend-ai-review

fullsend-ai-review Bot commented Jul 22, 2026

Copy link
Copy Markdown

🤖 Finished Review · ✅ Success · Started 8:34 PM UTC · Completed 8:45 PM UTC
Commit: 264a245 · View workflow run →

@github-actions

github-actions Bot commented Jul 22, 2026

Copy link
Copy Markdown

Site preview

Preview: https://7467c625-site.fullsend-ai.workers.dev

Commit: c0557f65768ffd740775da269c54372ef99286b7

@qodo-code-review

qodo-code-review Bot commented Jul 22, 2026

Copy link
Copy Markdown

Code Review by Qodo

🐞 Bugs (0) 📘 Rule violations (0) 📜 Skill insights (0)

Context used
✅ Compliance rules (platform): 54 rules

Grey Divider


Remediation recommended

1. Missing merge_group trigger ✓ Resolved 🐞 Bug ☼ Reliability
Description
The new workflow does not trigger on merge_group, so it won’t produce a status check for GitHub
merge-queue runs (and thus can’t participate in merge-queue validation; if later marked required, it
may also block the queue due to a missing check). Other repo CI workflows explicitly include
merge_group, indicating merge-queue support is expected.
Code

.github/workflows/mint-cf-worker-test.yml[R10-25]

+on:
+  push:
+    branches: [main]
+    paths:
+      - "internal/dispatch/cf/**"
+      - "cmd/mint-wasm/**"
+      - "Makefile"
+      - ".github/workflows/mint-cf-worker-test.yml"
+  pull_request:
+    paths:
+      - "internal/dispatch/cf/**"
+      - "cmd/mint-wasm/**"
+      - "Makefile"
+      - ".github/workflows/mint-cf-worker-test.yml"
+  workflow_dispatch:
+
Relevance

⭐⭐⭐ High

Repo CI expects merge queue checks; PRs added/used merge_group triggers for required status checks
in merge queue.

PR-#1988
PR-#2617
PR-#39

ⓘ Recommendations generated based on similar findings in past PRs

Evidence
The new workflow’s triggers exclude merge_group, while other CI workflows in the repo include
merge_group (and even reference merge-queue behavior), supporting that merge-queue coverage is
expected for CI checks.

.github/workflows/mint-cf-worker-test.yml[10-25]
.github/workflows/lint.yml[3-9]
.github/workflows/lint.yml[76-81]
.github/workflows/e2e.yml[9-48]

Agent prompt
The issue below was found during a code review. Follow the provided context and guidance below and implement a solution

### Issue description
The workflow `.github/workflows/mint-cf-worker-test.yml` doesn’t include a `merge_group` trigger, so it will not run (and won’t emit a check) for GitHub merge-queue validations.

### Issue Context
This repo already runs other CI workflows on `merge_group`, so merge-queue support appears to be a standard expectation.

### Fix Focus Areas
- .github/workflows/mint-cf-worker-test.yml[10-25]

### Suggested fix
1. Add `merge_group:` under `on:`.
2. Because `merge_group` can’t be path-filtered like `push.paths`/`pull_request.paths`, keep the workflow cheap by adding a job-level guard for `merge_group` that computes changed files between `${{ github.event.merge_group.base_sha }}` and `${{ github.event.merge_group.head_sha }}` and exits early (success) when none of the relevant paths changed.
  - This preserves the intent of the path-filtered CI contract while still participating in merge-queue validation.

ⓘ Copy this prompt and use it to remediate the issue with your preferred AI generation tools


Grey Divider

Qodo Logo

Comment thread .github/workflows/mint-cf-worker-test.yml
@fullsend-ai-review

fullsend-ai-review Bot commented Jul 22, 2026

Copy link
Copy Markdown

Review

Findings

Medium

  • [protected-path] .github/workflows/mint-cf-worker-test.yml — This PR adds a new file under the protected .github/ path. The change is authorized by issue ci: add mint-cf-worker-test workflow + stub Make target #5481, which explicitly requests adding a GitHub Actions workflow for the CF mint Worker bridge tests. Human approval is always required for protected-path changes, regardless of context.

Low

  • [workflow-path-filtering-pattern] .github/workflows/mint-cf-worker-test.yml — The merge_group path-filtering step adds complexity for a currently-stub target, but is the only mechanism to achieve path filtering for merge_group events (GitHub Actions does not support on.merge_group.paths). When feat(#5344): add CF Worker adapter and Wrangler config for mint #5427 fills in the real wasm-stage + npm smoke tests, this path filtering will avoid running expensive tests on unrelated merge queue entries. No change required.
Previous run

Review

Findings

Medium

  • [protected-path] .github/workflows/mint-cf-worker-test.yml — This PR adds a new file under the protected .github/ path. The change is authorized by issue ci: add mint-cf-worker-test workflow + stub Make target #5481, which explicitly requests adding a GitHub Actions workflow for the CF mint Worker bridge tests. Human approval is always required for protected-path changes, regardless of context.
Previous run (2)

Review

Findings

Medium

  • [action-version-consistency] .github/workflows/mint-cf-worker-test.yml:37 — The checkout action uses v7.0.0 (actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0), but all other workflows in this repository (56+ occurrences) use v7.0.1 (actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1). This is an unnecessary inconsistency that uses an older version.
    Remediation: Update to actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 to match the rest of the repository.

  • [protected-path] .github/workflows/mint-cf-worker-test.yml — This PR adds a new file under the protected .github/ path. The change is authorized by issue ci: add mint-cf-worker-test workflow + stub Make target #5481, which explicitly requests adding a GitHub Actions workflow for the CF mint Worker bridge tests. Human approval is always required for protected-path changes, regardless of context.


Labels: PR adds a CI workflow and Make target for the CF mint Worker bridge tests

fullsend-ai-review[bot]

This comment was marked as outdated.

@fullsend-ai-review fullsend-ai-review Bot added requires-manual-review Review requires human judgment component/ci CI pipelines and checks component/mint Token mint and cross-boundary credentials labels Jul 22, 2026
Address review feedback: participate in merge-queue validation with a
path-relevance guard, and align actions/checkout with the repo's v7.0.1 pin.

Signed-off-by: Barak Korren <bkorren@redhat.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
@fullsend-ai-review

fullsend-ai-review Bot commented Jul 22, 2026

Copy link
Copy Markdown

🤖 Review · ❌ Terminated · Started 8:50 PM UTC · Ended 9:02 PM UTC
Commit: a7975da · View workflow run →

@codecov

codecov Bot commented Jul 22, 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

Copy link
Copy Markdown

🤖 Finished Review · ✅ Success · Started 8:50 PM UTC · Completed 9:02 PM UTC
Commit: a7975da · View workflow run →

@ifireball

Copy link
Copy Markdown
Member Author

Babysit note

Required checks (test, e2e, commit-lint, DCO) are green. Review threads from Qodo / review-agent are addressed and resolved.

behaviour is not a required status check. It ran because this PR touches Makefile (in the e2e path filter) and twice hit the job’s 30-minute timeout mid-suite (cancelled during the fork-sync scenario) — no Gherkin assertion failure. Re-run reproduced the same timeout. That looks like suite/timeout pressure rather than anything specific to the mint-cf-worker-test stub.

Ready for @fullsend-ai/core review/approval.

Comment thread .github/workflows/mint-cf-worker-test.yml Outdated
Comment thread .github/workflows/mint-cf-worker-test.yml

@rh-hemartin rh-hemartin left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

A couple of comments, but looks good to me

ifireball and others added 2 commits July 23, 2026 11:00
Signed-off-by: Barak Korren <bkorren@redhat.com>
Address review: drop redundant workflow name prefix from the concurrency
group, and set a 15-minute job timeout for the (eventual) wasm/npm smoke.

Signed-off-by: Barak Korren <bkorren@redhat.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
@fullsend-ai-review

fullsend-ai-review Bot commented Jul 23, 2026

Copy link
Copy Markdown

🤖 Finished Review · ✅ Success · Started 8:02 AM UTC · Completed 8:17 AM UTC
Commit: c0557f6 · View workflow run →

@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.

Comment thread .github/workflows/mint-cf-worker-test.yml
@ifireball
ifireball added this pull request to the merge queue Jul 23, 2026
Merged via the queue into fullsend-ai:main with commit 0541118 Jul 23, 2026
21 of 26 checks passed
@ifireball
ifireball deleted the ci/5481-mint-cf-worker-test branch July 23, 2026 09:46
@fullsend-ai-retro

fullsend-ai-retro Bot commented Jul 23, 2026

Copy link
Copy Markdown

🤖 Finished Retro · ✅ Success · Started 9:49 AM UTC · Completed 10:01 AM UTC
Commit: c0557f6 · View workflow run →

@fullsend-ai-retro

Copy link
Copy Markdown

Retro: PR #5482ci(#5481): add mint-cf-worker-test workflow and stub Make target

This was a human-authored PR by @ifireball adding a GitHub Actions workflow and stub Make target for CF mint Worker bridge smoke tests. The PR went through 3 review agent cycles, 1 qodo review, and 1 human review before merging.

Timeline

  1. Issue ci: add mint-cf-worker-test workflow + stub Make target #5481 created (2026-07-22 20:28) — CI infrastructure needed because code agents cannot modify .github/workflows/.
  2. Triage agent ran successfully (run 29955291488), classified as medium/feature in ~4 min.
  3. PR ci(#5481): add mint-cf-worker-test workflow and stub Make target #5482 opened (20:33) with initial commit.
  4. qodo-code-review caught a missing merge_group trigger — a correctness bug that would cause merge-queue failures.
  5. Review agent (run 29955607925) flagged actions/checkout version mismatch (v7.0.0 vs v7.0.1) and protected-path change. Did not flag the missing merge_group trigger, redundant concurrency group, or missing timeout-minutes.
  6. Author pushed fix (a7975da): added merge_group trigger + bumped checkout.
  7. Human reviewer (@rh-hemartin, 07:15 next day) caught two more issues: redundant concurrency group prefix and missing timeout-minutes. Approved with comments.
  8. Author pushed fix (c0557f6): simplified concurrency group + added 15-min timeout.
  9. Third review agent run posted an informational finding about merge_group complexity. No new actionable findings.
  10. PR merged via merge queue (09:46).

Review quality assessment

Finding Caught by Severity Action taken
actions/checkout version mismatch Review agent Medium Fixed (commit 2)
Protected-path change (.github/) Review agent Medium Prompted human review
Missing merge_group trigger qodo High (bug) Fixed (commit 2)
Redundant concurrency group prefix Human only Medium Fixed (commit 4)
Missing timeout-minutes Human only Medium Fixed (commit 4)

The review agent and human reviewer were complementary — the agent excelled at cross-file consistency checks (comparing checkout SHAs across 56+ workflows), while the human caught issues requiring GitHub Actions domain knowledge (github.workflow expansion semantics, timeout best practices). The review agent's CI workflow coverage is currently limited to security concerns (injection, permissions, secrets) and protected-path governance; functional correctness of workflow configuration is absent.

Rework

2 rounds of rework (commits 2 and 4), both addressing review findings. Both rounds could theoretically have been avoided if the issues were caught in the first review — but the human review came ~11 hours after PR open, so the first rework round (addressing qodo + agent findings) was already complete.

Existing issues with new evidence

Neither existing issue covers the functional correctness gaps identified (concurrency patterns, timeout requirements, trigger completeness).

Proposals filed

ifireball pushed a commit to ifireball/fullsend that referenced this pull request Jul 27, 2026
Create docs/contributing/ci-workflows.md covering concurrency
group patterns, timeout policy, trigger completeness
(merge_group), checkout SHA pinning, reusable workflow
contracts, permissions, and additional conventions. Uses
checklist format for reliable agent consumption during
review.

Add a row to the AGENTS.md topic-specific guidance table
linking the new doc for .github/workflows/ changes.

Conventions are derived from patterns already established
in the repo's existing workflows (e2e.yml,
functional-tests.yml, mint-cf-worker-test.yml) and from
review feedback on PR fullsend-ai#5482 that caught a redundant
concurrency prefix, missing timeout-minutes, and missing
merge_group trigger.

Note: pre-commit could not run in sandbox (network
restriction on git fetch). The post-script runs
pre-commit authoritatively on the runner.

Closes fullsend-ai#5521
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 component/mint Token mint and cross-boundary credentials requires-manual-review Review requires human judgment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

ci: add mint-cf-worker-test workflow + stub Make target

2 participants