Skip to content

fix: remove continue-on-error from critical CI steps#29

Merged
shaia merged 2 commits into
mainfrom
fix/ci-workflow-short-circuits
Nov 24, 2025
Merged

fix: remove continue-on-error from critical CI steps#29
shaia merged 2 commits into
mainfrom
fix/ci-workflow-short-circuits

Conversation

@shaia
Copy link
Copy Markdown
Owner

@shaia shaia commented Nov 24, 2025

Previously, the CI workflow had several critical short-circuits that would hide failures:

  1. go vet had continue-on-error: true (line 56)

    • This silently ignored all vet failures
    • Removed to catch real issues
  2. Tests had continue-on-error: true (line 84)

    • This was VERY problematic - test failures were ignored
    • Tests would appear to pass even when failing
    • Removed to ensure test failures fail the CI
  3. ci-success job had flawed logic (lines 250-253)

    • Allowed both success AND failure for vet
    • Now properly checks that all jobs succeeded
    • Added detailed output showing each job result
  4. Improved ci-success validation

    • Added echo statements to show all job results
    • Uses a FAILED flag to accumulate failures
    • Clear error messages for each failed job
    • Better visibility into what failed

These changes ensure that:

  • Test failures always fail the CI
  • Vet issues are not silently ignored
  • CI accurately reports the build status
  • No more hidden failures in the pipeline

The previous continue-on-error flags were added for known assembly bugs but they prevented discovering NEW bugs and regressions.

Previously, the CI workflow had several critical short-circuits that
would hide failures:

1. go vet had continue-on-error: true (line 56)
   - This silently ignored all vet failures
   - Removed to catch real issues

2. Tests had continue-on-error: true (line 84)
   - This was VERY problematic - test failures were ignored
   - Tests would appear to pass even when failing
   - Removed to ensure test failures fail the CI

3. ci-success job had flawed logic (lines 250-253)
   - Allowed both success AND failure for vet
   - Now properly checks that all jobs succeeded
   - Added detailed output showing each job result

4. Improved ci-success validation
   - Added echo statements to show all job results
   - Uses a FAILED flag to accumulate failures
   - Clear error messages for each failed job
   - Better visibility into what failed

These changes ensure that:
- Test failures always fail the CI
- Vet issues are not silently ignored
- CI accurately reports the build status
- No more hidden failures in the pipeline

The previous continue-on-error flags were added for known assembly
bugs but they prevented discovering NEW bugs and regressions.
Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

This PR improves CI reliability by removing continue-on-error flags from critical validation steps and enhancing failure detection in the ci-success job.

  • Removed continue-on-error from go vet and test steps to ensure failures are properly reported
  • Fixed ci-success job to reject vet failures instead of allowing them
  • Enhanced error reporting with emoji indicators and detailed job status logging
Comments suppressed due to low confidence (1)

.github/workflows/ci.yml:27

  • Go version 1.25.x does not exist. As of January 2025, the latest stable Go version is 1.23.x. This should be updated to a valid Go version such as '1.23.x' or '1.24.x' if it has been released. This issue exists in multiple places in the file (lines 27, 51, 72, 107, 135, 162, 184, 213) but is not introduced by this PR.
        go-version: '1.25.x'

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

Fix two assembly issues that were revealed after removing continue-on-error:

1. Fixed bucketLookupAVX2 frame size
   - Changed from $0-40 to $0-33
   - go vet correctly calculated the argument size:
     * []byte = 24 bytes (ptr + len + cap)
     * byte = 1 byte
     * bool return = 1 byte
     * Total with padding = 33 bytes

2. Disabled unused processBatchXXHashAVX2 assembly
   - Added "unused" build tag to batch_avx2_amd64.s
   - The Go declaration is commented out in batch_amd64.go
   - Prevents "missing Go declaration" error from go vet
   - Added clear documentation on how to re-enable

These issues were previously hidden by continue-on-error: true
in the CI workflow. Now that we properly fail on vet errors,
these needed to be fixed.

All tests pass and go vet is clean.
@shaia shaia merged commit 8e4339e into main Nov 24, 2025
15 checks passed
@shaia shaia deleted the fix/ci-workflow-short-circuits branch November 24, 2025 12:21
shaia added a commit that referenced this pull request Nov 24, 2025
fix: remove continue-on-error from critical CI steps
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.

2 participants