Skip AllocCheck tests on prerelease Julia#37
Merged
ChrisRackauckas merged 1 commit intoJun 20, 2026
Merged
Conversation
The folder-based SciMLTesting harness (PR SciML#36) runs test/alloc_tests.jl as part of the Core group across the full version x OS matrix, including the `pre` channel (currently 1.13.0-rc1). The original alloc test was deliberately scoped to GROUP=nopre on a single x86_64-linux runner, because AllocCheck builds on GPUCompiler/LLVM compiler internals that are unstable on Julia prereleases. On 1.13.0-rc1 / aarch64-macOS, `@check_allocs` reports a spurious 1 allocation (0 dynamic dispatches) for the surrogate call, failing CI. The same test passes on lts (1.10), 1 (1.12), and even 1.13.0-rc1 on x86_64-linux. Verified locally: file is a clean no-op on 1.13.0-rc1, and the AllocCheck tests still run and pass (3/3, 1/1) on 1.10 and 1.12. Gate the AllocCheck testsets on `isempty(VERSION.prerelease)`, restoring the original nopre intent while keeping full coverage on released Julia. Co-Authored-By: Chris Rackauckas <accounts@chrisrackauckas.com> Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Problem
The
mainCI is red on the single checktests / Core (julia pre, macos-latest)(Julia 1.13.0-rc1, aarch64-macOS). All other matrix entries (lts, 1, andpreon ubuntu/windows) are green.The failure is in
test/alloc_tests.jl:Root cause
test/alloc_tests.jlwas originally added (commit 43917ab) on a dedicated CI job scoped toubuntu-latest, Julia"1"only, withGROUP=nopre— deliberately excluding prereleases, because AllocCheck builds on GPUCompiler/LLVM compiler internals that are unstable on Julia prereleases.The CI centralization to the SciMLTesting v1.2 folder-based
run_tests()harness (#36) discovers every top-leveltest/*.jlas part of theCoregroup and runs it across the fullversions × osmatrix declared intest/test_groups.toml(["lts", "1", "pre"]× 3 OSes). That dropped the originalnopre/ single-runner scoping, soalloc_tests.jlnow runs onpre(1.13.0-rc1), where@check_allocsreports a spurious allocation on aarch64-macOS.Fix
Gate the two AllocCheck testsets on
isempty(VERSION.prerelease), restoring the originalnopreintent. Full AllocCheck coverage is retained on every released Julia.Local verification
Ran
test/alloc_tests.jlwith--check-bounds=yes(matching CI):(The aarch64-specific spurious-alloc failure could not be reproduced directly — no aarch64 hardware available — but on x86_64-linux 1.13.0-rc1 the test passes, matching the green
pre, ubuntu-latestCI entry; the gate removes the prerelease channel entirely, which is where the instability lives.)Runic formatting: clean (no diff).
Please ignore until reviewed by @ChrisRackauckas.