Open felixfontein opened 1 year ago
Likely a bug I introduced, and probably should look more like: https://github.com/hiddeco/sshsig/blob/main/.github/workflows/test.yaml#L18
It's nothing you introduced, it has been like that for a longer time: a115ce479f7d3e05a10ce2cedb6e59c2a5a17efd You only increased the amount of parallel runs from 3 to 5 ;-)
I checked back the travis config, https://github.com/getsops/sops/blob/886c1ee78144be6328f546d3aae09445562aefff/.travis.yml#L28, it simply ran them once and all on the same platform (probably some form of Linux).
Looking into this, the better way would be to leverage QEMU in combination with binfmt_misc
(1, 2) while running e.g. ARM64 tests with GOARCH
set (3).
In combination with the available Ubuntu, MacOS and Windows GitHub runners, this would allow us to run the Go tests for almost every platform (except for Darwin/ARM64). While running integration tests for at least every platform (but not every CPU architecture).
While looking a bit closer at CI I noticed that
make test
is run in all fiveBuild and test ${{ matrix.os }} ${{ matrix.arch }}
GHA runs. Since every of these runs runs onubuntu-latest
, the exact same tests are run in all five runs. This seems a bit wasteful, especially since running these tests takes around 2/3 of the total run time for each of these runs.I would propose to run the unit tests (
make test
) only once in a second stage, similar to the functional tests - or maybe as an intermediate stage between build and functional tests?@getsops/maintainers what do you think?