[Workflows] Re-write release-binaries workflow (#89521)
authorTom Stellard <tstellar@redhat.com>
Sat, 4 May 2024 22:10:12 +0000 (15:10 -0700)
committerTom Stellard <tstellar@redhat.com>
Thu, 9 May 2024 02:47:50 +0000 (19:47 -0700)
commitd1d7131906d9c912fad01078483ba0248d16feb2
treeb5a6db2f32560b4a385f7c8eac9b7adc76580535
parent211cdc65a1fbdcb18665e0076aa8aae43aa0d20e
[Workflows] Re-write release-binaries workflow (#89521)

This updates the release-binaries workflow so that the different build
stages are split across multiple jobs. This saves money by reducing the
time spent on the larger github runners and also makes it easier to
debug, because now it's possible to build a smaller release package
(with clang and lld) using only the free GitHub runners.

The workflow no longer uses the test-release.sh script but instead uses
the Release.cmake cache. This gives the workflow more flexibility and
ensures that the binary package will always be created even if the tests
fail.

This idea to split the stages comes from the "LLVM Precommit CI through
Github Actions" RFC:

https://discourse.llvm.org/t/rfc-llvm-precommit-ci-through-github-actions/76456
(cherry picked from commit abac98479b81cc0cc717bb6cdbae6f774e3b0232)
.github/workflows/release-binaries.yml
.github/workflows/set-release-binary-outputs.sh