Repository navigation
Run the conformance suite on x86_64 and aarch64, held to one baseline - #91
Merged
Merged
Conversation
The conformance job ran on ubuntu-latest only. The fielded edge box is aarch64, so its conformance result had never been measured. The job is now a matrix over ubuntu-latest and ubuntu-24.04-arm, with the same toolchain request on both (OTP 28, Elixir 1.18, Node 22). Both are held to the same conformance/baseline-<revision>.yml. The suite exits 1 on an unexpected failure and on a stale baseline entry, so two green jobs mean the same scenarios fail on both architectures. The results artifact is named by architecture, because one run cannot upload two artifacts with the same name. Minutes for a public repository are free on both architectures. The suite has not run on aarch64 yet; this pull request's first run is that measurement. Signed-off-by: Ayla Croft <aylacroft@proton.me>
The floor leg of gate run 39344186410 failed tracer_test.exs:913: two calls into a traced module counted as one (weight 1, want 2). The test's barrier before Tracer.stop/0 was :sys.get_state(Tracer), which waits only for messages already in the tracer's mailbox. Trace messages can still be on their way: erlang:trace_delivered/1's documentation says their delivery "is dislocated on the time-line compared to other events", and names trace_delivered as the way to wait for them. One trace message arrived after the stop and was discarded. handled/0 calls :erlang.trace_delivered(:all), waits for its reply (with a 5 s bound), then calls :sys.get_state(Tracer). The seven tests that stop the tracer after a barrier use it. trace:delivered/2 is the same BIF for a session, so the tracer's private session handle is not needed. The red was not reproduced locally (25 seeds at a 2-core cap, no failure). After the change: 10 seeds without a failure, and the full suite passes (11 properties, 767 tests, 0 failures). Signed-off-by: Ayla Croft <aylacroft@proton.me>
HackTuah
force-pushed
the
slice/049-conformance-arm64
branch
from
October 20, 2026 12:26
4593990 to
b8bb54f
Compare
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.
This change is CI only. Nothing a consumer of the package can hit changes.
The conformance job ran on x86_64 only. The fielded edge box is aarch64, so its conformance result had never been measured.
What changes
ubuntu-latestandubuntu-24.04-arm, with the same toolchain request on both, so the architecture is the only variable.conformance/baseline-<revision>.yml. The suite exits 1 on an unexpected failure and on a stale baseline entry, so two green jobs mean the same scenarios fail on both architectures. The job checks that equality; no one has to compare the results by eye.conformance-results-X64,conformance-results-ARM64), because one run cannot upload two artifacts with the same name.Evidence
mix test test/beam_mcp/governance_test.exs(actions pinned by SHA, workflow posture): 7 tests, 0 failures.reuse lint: compliant.Not yet measured