Skip to content

Keep coverage working on Julia 1.14 - #94

Merged
maleadt merged 2 commits into
JuliaCI:masterfrom
ranocha:hr/fix_nightly_ci
Oct 2, 2026
Merged

maleadt merged 2 commits into
JuliaCI:masterfrom
ranocha:hr/fix_nightly_ci

Conversation

@ranocha

@ranocha ranocha commented Sep 21, 2026 •

Copy link
Copy Markdown
Contributor

Julia 1.14 now instruments interpreted top-level statements and reports whether a line ran by default. In our source fixture, statements such as if true and module declarations now have coverage; the fixture has eight covered lines instead of one on Julia 1.13. Update the 1.14 expectations while retaining exact line-count checks on every supported version.

A newer Julia 1.14 change renamed Base.PkgLoadSpec.julia_syntax_version to julia_edition and represents the edition as a (major, minor) pair. CoverageTools reads this value when parsing source to mark function-body lines that were never compiled. Without the update, processing package coverage fails with a FieldError before it can produce a report. Convert the new pair to the VersionNumber expected by JuliaSyntax, while keeping the old path for earlier 1.14 nightlies.

The test suite passes on Julia 1.10.12, 1.13.1, and 1.14.0-DEV.3469 on Linux, and 1.14.0-DEV.3475 on macOS. The macOS run exercises the renamed field.

Codecov's patch and project checks are red because the Linux nightly used by CI is still DEV.3469, before the field rename, so it cannot cover the new branch. The macOS DEV.3475 run above verifies that branch. The minimum-coverage check was already red on the previous PR revision.

@codecov

codecov Bot commented Sep 21, 2026 •

Copy link
Copy Markdown

Codecov Report

❌ Patch coverage is 50.00000% with 1 line in your changes missing coverage. Please review.
✅ Project coverage is 95.81%. Comparing base (b1e7905) to head (f8c2340).

Files with missing lines Patch % Lines
src/CoverageTools.jl 50.00% 1 Missing ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##           master      #94      +/-   ##
==========================================
- Coverage   96.06%   95.81%   -0.26%     
==========================================
  Files           4        4              
  Lines         356      358       +2     
==========================================
+ Hits          342      343       +1     
- Misses         14       15       +1     

☔ View full report in Codecov by Harness.
📢 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.

JuliaLang/julia#63314 renamed PkgLoadSpec.julia_syntax_version to julia_edition and changed its type to a (major, minor) tuple. Convert that tuple to the VersionNumber expected by JuliaSyntax while continuing to use the old field on earlier 1.14 nightlies.
JuliaLang/julia#62514 instruments interpreted top-level statements and JuliaLang/julia#62724 defaults to hit counts. Update the fixture expectations and derive the folder summary from the per-file expectation, keeping exact count checks on every Julia version.
@maleadt
maleadt force-pushed the hr/fix_nightly_ci branch from 69811f8 to f8c2340 Compare October 2, 2026 10:32
@maleadt maleadt changed the title fix CI on Julia nightly (v1.14) Keep coverage working on Julia 1.14 Oct 2, 2026
@maleadt
maleadt merged commit a0d2e8e into JuliaCI:master Oct 2, 2026
8 of 11 checks passed
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