Skip to content

ci: run stdlib corpus gate across Go versions#9

Merged
cpunion merged 5 commits into
xgo-dev:mainfrom
cpunion:fix/x86-target-feature-attrs
Mar 9, 2026
Merged

ci: run stdlib corpus gate across Go versions#9
cpunion merged 5 commits into
xgo-dev:mainfrom
cpunion:fix/x86-target-feature-attrs

Conversation

@cpunion
Copy link
Copy Markdown
Collaborator

@cpunion cpunion commented Mar 9, 2026

Summary

Run the stdlib asm corpus gate across the same Go version range already covered by the go test matrix, and run that gate on both CI host platforms we care about: ubuntu-latest and macos-latest.

Why

The existing workflow only ran scripts/check-stdlib-corpus.sh under Go 1.26.x on Ubuntu.
That left an older-stdlib gap: code paths exercised by LLGo demos under Go 1.21.13 could still pull in asm syntax that the current corpus gate never checked.

This change makes that gap explicit by adding a dedicated stdlib-corpus matrix job.

What changed

  • Keep build as the single-version Go 1.26.x build job.
  • Add a separate stdlib-corpus matrix job for:
    • host OS:
      • ubuntu-latest
      • macos-latest
    • Go versions:
      • 1.21.x
      • 1.22.x
      • 1.23.x
      • 1.24.x
      • 1.25.x
      • 1.26.x
  • The corpus script itself still cross-compiles the stdlib asm corpus for:
    • linux/amd64
    • linux/arm64
    • darwin/amd64
    • darwin/arm64

Local verification

  • GOTOOLCHAIN=go1.26.1 ./scripts/check-stdlib-corpus.sh
    • passes on macOS host
  • GOTOOLCHAIN=go1.21.13 ./scripts/check-stdlib-corpus.sh
    • currently fails on linux/amd64
    • this is expected and is the point of the change: expose the missing old-stdlib coverage in CI

@gemini-code-assist
Copy link
Copy Markdown

Note

Gemini is unable to generate a summary for this pull request due to the file types involved not being currently supported.

@fennoai
Copy link
Copy Markdown

fennoai Bot commented Mar 9, 2026

Good approach to close the older-stdlib coverage gap. Two things to address: (1) the '1.26.x' matrix entry duplicates the corpus gate already in the build job, and (2) the PR description explicitly states Go 1.21.x currently fails — if stdlib-corpus is configured as a required status check, this will block all subsequent PRs until the gap is fixed.

Comment thread .github/workflows/go-ci.yml
Comment thread .github/workflows/go-ci.yml
@cpunion cpunion merged commit 1e5e3f7 into xgo-dev:main Mar 9, 2026
20 checks passed
@codecov
Copy link
Copy Markdown

codecov Bot commented Mar 9, 2026

Codecov Report

❌ Patch coverage is 55.55556% with 4 lines in your changes missing coverage. Please review.
✅ Project coverage is 32.44%. Comparing base (f1146f5) to head (15b2d9c).
⚠️ Report is 7 commits behind head on main.

Files with missing lines Patch % Lines
preprocess.go 55.55% 3 Missing and 1 partial ⚠️
Additional details and impacted files
@@           Coverage Diff           @@
##             main       #9   +/-   ##
=======================================
  Coverage   32.44%   32.44%           
=======================================
  Files          41       41           
  Lines       12640    12646    +6     
=======================================
+ Hits         4101     4103    +2     
- Misses       7806     7809    +3     
- Partials      733      734    +1     
Flag Coverage Δ
unittests 32.44% <55.55%> (+<0.01%) ⬆️

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

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