Skip to content

Comments

fix: remove duplicate CI pipeline that ran on every push to main#26

Merged
AndrewAltimit merged 2 commits intomainfrom
fix/deduplicate-ci-pipelines
Feb 21, 2026
Merged

fix: remove duplicate CI pipeline that ran on every push to main#26
AndrewAltimit merged 2 commits intomainfrom
fix/deduplicate-ci-pipelines

Conversation

@AndrewAltimit
Copy link
Owner

Summary

  • Delete .github/workflows/ci.yml which was a duplicate of the CI job in main-ci.yml. Both triggered on push: branches: [main], causing 2 pipeline runs for every merge to main.
  • Consolidate missing steps into main-ci.yml: Docker image build, test output capture, screenshot regression tests, benchmarks, and test metrics summary.
  • The release flow (build-release-binaries + create-release gated on v* tags or manual dispatch) was already in main-ci.yml and remains unchanged.

Result

Event Before After
PR opened/updated pr-validation.yml + (nothing else) pr-validation.yml (unchanged)
Push to main ci.yml + main-ci.yml (duplicate!) main-ci.yml only
Tag v* push ci.yml + main-ci.yml (release) main-ci.yml (release)
Nightly fuzz.yml fuzz.yml (unchanged)

Test plan

  • Verify main-ci.yml runs all expected stages: format, clippy, test, build, screenshots, cargo-deny, benchmarks, PSP build, PPSSPP test
  • Verify release jobs are still gated on v* tags or create_release manual input
  • Confirm only 1 pipeline runs when this PR merges to main (not 2)

Generated with Claude Code

ci.yml and main-ci.yml both triggered on push to main, causing two
redundant pipeline runs per merge. Delete ci.yml and consolidate its
missing steps (Docker image build, screenshot tests, benchmarks, test
metrics) into main-ci.yml which already has release support.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@github-actions
Copy link

Gemini AI Code Review

Issues (if any)

(none)

Previous Issues (for incremental reviews)

(none)

Suggestions (if any)

  • .github/workflows/main-ci.yml:71 & .github/workflows/main-ci.yml:101 - Upload screenshot report and Upload benchmark results use if: always(), so they execute even when their generation steps are skipped due to earlier failures. This causes actions/upload-artifact@v4 to emit warnings when expected file paths don't exist.
    • How to fix: Add if-no-files-found: ignore to these upload-artifact steps to suppress noisy warnings during unrelated CI failures.

Notes

  • The Test metrics summary step correctly handles missing files with if [ ! -f test_output.txt ]; then ..., properly accounting for its if: always() condition.
  • The pipeline consolidation cleanly merges jobs from the deleted ci.yml into main-ci.yml while preserving set -o pipefail safety measures.

Reaction


Generated by Gemini AI (gemini-3.1-pro-preview). Supplementary to human reviews.

@github-actions
Copy link

Codex AI Code Review

Issues (if any)

(none)

Previous Issues (for incremental reviews)

(none)

Suggestions (if any)

  • .github/workflows/main-ci.yml:83 - Add if-no-files-found: ignore to Upload screenshot report to avoid noisy artifact warnings when earlier steps fail/skip output generation.
  • .github/workflows/main-ci.yml:105 - Add if-no-files-found: ignore to Upload benchmark results for the same reason.

Notes

  • .github/workflows/ci.yml is removed, so the duplicate push-to-main pipeline is eliminated.
  • .github/workflows/main-ci.yml retains CI stages and keeps release jobs gated to tag/manual-dispatch conditions; no blocking functional regression is visible in the provided diff.

Reaction


Generated by Codex AI (gpt-5.3-codex). Supplementary to human reviews.

Add if-no-files-found: ignore to upload-artifact steps that use
if: always(), preventing noisy warnings when screenshot or benchmark
files don't exist due to earlier step failures.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@AndrewAltimit
Copy link
Owner Author

Review Response Agent (Iteration 1)

Status: No changes needed

Fixed Issues

  • Added if-no-files-found: ignore to Upload screenshot report (line 89) and Upload benchmark results (line 112) in .github/workflows/main-ci.yml. Both steps use if: always() but their artifacts may not exist when earlier steps fail, causing noisy warnings from actions/upload-artifact@v4.

Ignored Issues

  • (none — both reviewers flagged the same valid issue)

Deferred to Human

  • (none)

Notes

  • Both Gemini and Codex independently identified the same issue, confirming it as a real concern. The fix is a two-line addition and has no functional impact on successful CI runs.

The agent reviewed feedback but determined no code changes were required.

@github-actions
Copy link

Gemini AI Incremental Review

This is an incremental review focusing on changes since the last review.

Issues (if any)

(none)

Previous Issues (for incremental reviews)

  • [RESOLVED] .github/workflows/main-ci.yml - Added if-no-files-found: ignore to Upload screenshot report to suppress missing file warnings.
  • [RESOLVED] .github/workflows/main-ci.yml - Added if-no-files-found: ignore to Upload benchmark results to suppress missing file warnings.

Suggestions (if any)

(none)

Notes

  • The duplicate pipeline has been successfully removed and the necessary jobs cleanly integrated into main-ci.yml.
  • The suggested fixes for the artifact warnings from the previous review cycle were implemented correctly.

Reaction


Generated by Gemini AI (gemini-3.1-pro-preview). Supplementary to human reviews.

@github-actions
Copy link

Codex AI Incremental Review

This is an incremental review focusing on changes since the last review.

Issues (if any)

(none)

Previous Issues (for incremental reviews)

  • [RESOLVED] .github/workflows/main-ci.yml:89 - Upload screenshot report now includes if-no-files-found: ignore, so missing report files no longer create noisy artifact warnings.
  • [RESOLVED] .github/workflows/main-ci.yml:112 - Upload benchmark results now includes if-no-files-found: ignore, so missing benchmark output no longer creates noisy artifact warnings.

Suggestions (if any)

(none)

Notes

  • No new actionable bugs, crashes, or security issues are visible in the newly added workflow changes.
  • The duplicate main-branch CI trigger is removed by deleting .github/workflows/ci.yml and keeping CI execution in .github/workflows/main-ci.yml.

Reaction


Generated by Codex AI (gpt-5.3-codex). Supplementary to human reviews.

@AndrewAltimit
Copy link
Owner Author

Review Response Agent (Iteration 2)

Status: No changes needed

Fixed Issues

  • (none needed — all previous issues already resolved)

Ignored Issues

  • (none — both reviewers reported no issues)

Deferred to Human

  • (none)

Notes

  • Both Gemini and Codex confirmed all previously identified issues are resolved. No new issues were raised in this iteration. The PR is clean.

The agent reviewed feedback but determined no code changes were required.

@AndrewAltimit AndrewAltimit merged commit 03631a9 into main Feb 21, 2026
7 checks passed
@AndrewAltimit AndrewAltimit deleted the fix/deduplicate-ci-pipelines branch February 21, 2026 11:30
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.

1 participant