ci: run native and portable checks across six concurrent runners - #107
Merged
Merged
Conversation
Route CI through the shared pinned installers, install NASM for Windows assembly, and omit tools that the CI checks do not use. Retain complete native and portable test coverage, with script regressions on Linux x86-64. Preserve backend fixture bytes with explicit byte extraction and strict slice bounds, and document the existing unsafe test-helper requirements.
Let AEGIS-only RISC-V builds use the shared AES round operations without compiling unused key schedules and hardware backends. Preserve the existing round implementations and full AES feature behavior.
Preserve the failing Clippy exit status and stop before later workspaces. Add a regression covering early termination and status propagation.
Keep native CI tooling to Just and Nextest, and run dependency checks once on Linux x86-64 against the complete supported target graph. Preserve per-host compilation, documentation, and native and portable tests. Drop explicit OpenSSL and pkgconf packages from Linux CI and omit optional APT recommendations. Cover provisioning profiles and dependency-check routing with regressions.
Gate hash, AEAD, and Argon2 SIMD dispatch on the module target feature so scalar WebAssembly can load with SIMD disabled. Preserve diagnostic entry points and unavailable-backend behavior. Expose the existing runtime vectors to bare WASM and add the RFC 9106 Argon2id vector for scalar and SIMD execution.
Add a 32-vCPU compatibility runner with bounded feature, MSRV, bare-metal, and scalar/SIMD WASM/WASI checks. Keep it in the native fail-fast matrix without prerequisite dependencies. Run complete musl native and portable suites with doctests on the matching Linux hosts. Provision only role-specific pinned tools and test process cancellation, command routing, and installer profiles.
Run optimized native and portable suites with doctests, verify packaged consumers, and add bounded fuzz/Miri and selectable native CT lanes through the shared tooling installers. Reuse measurement runner selection and existing CT artifacts for a scoped SecretBytes cleanup sentinel. Retain explicit limits on full timing and whole-library zeroization qualification.
Keep portable P-256 and Windows ECDSA selection masks opaque to the tested compilers, and use fixed-bound ECDSA table traversal to avoid rejected RISC-V code generation. Retain target-specific binary and timing evidence requirements.
Resolve MSVC linker provenance and reconstruct final function ranges from its linker map. Count code symbols only and validate cleanup against the checked final disassembly, with negative controls for incomplete or inconsistent evidence.
Cross-build complete native and portable release suites and CT evidence on x86-64, then execute source-bound artifacts on physical RISC-V. Preserve doctest semantics, CT sampling and thresholds, and exact binary provenance while bounding native runner time. Separate build and execution tooling and restore RSA doctest merging for ordinary runs. Local transfer, script, and CT harness regressions pass; the real cross-build and physical RISC-V qualification remain pending CI.
Exclude the host line when comparing producer and consumer version reports, while retaining the pinned release and full source revision checks. Preserve both full reports in the transfer evidence and cover differing hosts with the real archive regression.
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.
No description provided.