Skip to content

Add release artifact smoke rehearsal - #120

Merged
mveril merged 2 commits into
mainfrom
feature/release-artifact-smoke-tests
Oct 12, 2026
Merged

mveril merged 2 commits into
mainfrom
feature/release-artifact-smoke-tests

Conversation

@mveril

@mveril mveril commented Oct 11, 2026 •

Copy link
Copy Markdown
Owner

Summary

  • Add a manually triggered, read-only release rehearsal for all six native dist targets.
  • Build target archives with the configured cargo-dist version, verify dist checksums, extract and run the packaged executable, and validate H2/STO-3G JSON output.
  • Keep the release architecture introduced by PR Add binary release workflow #119; the rehearsal does not publish releases, tags, or crates.

Corrections in this update

  • Reject non-finite, missing, and nonnumeric HF energies and non-finite reference energies using math.isfinite(), retaining the existing 1e-5 Eh tolerance and PySCF regression source.
  • Parse dist's standard SHA-256 checksum entries with exact filenames, reject malformed/ambiguous/mismatched entries, allow a digest-only value only in the matching archive .sha256 sidecar, and hash archives in chunks.
  • Install dist 0.33.0 from published binaries on Linux/macOS and Windows x64. On Windows ARM64, build the pinned cargo-dist 0.33.0 from source; the release has no native Windows ARM64 dist binary. Verify the installed version.
  • Improve stage-specific failure messages and retain build/validation logs in workflow artifacts. Failed summaries identify the failed stage and leave later checks as “not executed.”

Verification performed for this update

  • python3 -m unittest discover -s tools -p "test_release_smoke.py" -v — 13 tests passed.
  • git diff --check — passed.
  • Confirmed dist 0.33.0's build help accepts --artifacts, --target, and --output-format=json. dist manifest reports the expected target archive and .sha256 sidecar entries in upload_files.
  • Attempted dist build --artifacts=local --target x86_64-unknown-linux-gnu --output-format=json. It failed before producing an archive because this environment has no rustup; the JSON manifest/archive build and extracted-binary execution could not be verified locally.

Remaining validation and limitations

  • Run the manually triggered Release artifact smoke test workflow against this branch and confirm all six native runners pass. In particular, Windows ARM64 still needs its first workflow execution to verify the source installation and packaged executable end to end. No claim is made that all six platforms have been validated yet.
  • The rehearsal is a packaging smoke test, not comprehensive scientific validation or proof of compatibility with every OS installation.

@mveril
mveril merged commit 11fa1fc into main Oct 12, 2026
17 checks passed
@mveril
mveril deleted the feature/release-artifact-smoke-tests branch October 12, 2026 09:39
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