ACCESS-NRI / ACCESS-OM2

ACCESS-OM2: ACCESS Ocean-Sea Ice Model
Apache License 2.0
5 stars 0 forks source link

Scheduled `build reproducibility` tests #39

Open CodeGat opened 5 months ago

CodeGat commented 5 months ago

Background

In a similar vein to the scheduled Bitwise Reproducibility testing on ACCESS-NRI/access-om2-configs, we want to test that, on a schedule, rebuilding different versions of models from scratch produce the same build. Since we use spack, a good hallmark of a reproducible model build would be the spack.lock file.

Potential Solutions

Questions

Pinging @aidanheerdegen

CodeGat commented 5 months ago

Also pinging @harshula for his thoughts

aidanheerdegen commented 3 months ago

I think it is worth seeing if it is even still possible to rebuild exactly: don't need to check spack.lock is reproduced, just check if it even works to exactly rebuild from spack.lock.

Or maybe build from spack.yaml and seeing if we can recreate spack.lock? If not, why not? If hashing changes with every spack version then this is probably not worth the effort.

If we can't re-build exactly from spack.lock do we need to generate a PR against a known test config to test for bit repro? Would we then update the spack.lock if we reproduce?

There was a desire to update the software stack and test for bit repro (External Dependency CI). Is this effectively that process?