clash-lang / clash-compiler

Haskell to VHDL/Verilog/SystemVerilog compiler
https://clash-lang.org/
Other
1.4k stars 147 forks source link

GitLab CI: Simplify finding binaries #2669

Closed DigitalBrains1 closed 4 months ago

DigitalBrains1 commented 4 months ago

The build job creates an artifact that subsequent jobs download to run the tests. The jobs that actually run the tests cannot use cabal list-bin because the artifact doesn't include enough of the build data. We can simplify finding the binaries by having the artifact include symlinks to the binaries, created in the build job where cabal list-bin still works.

The artifact included some bits that seem redundant since PR #2403, they have been removed.

The minimum version of cabal-install that contains a properly working list-bin command is 3.8.1.0. Because of the fixed security issue, we instead update cabal-install to 3.10.2.0 for all GHC's in CI.

GHC versions in CI are updated to the latest point release.

Fixed a mistake in the Docker image: use the same Ubuntu version for building and for running.

In GitLab CI, the after_script cannot use environment variables set in before_script or script. We use zstd -T$THREADS in after_script. Before this commit, that rendered to zstd -T which happens to mean "use all cores" and worked fine but was unintended.

Triggered child pipelines (.ci/gitlab/test.yml) did not have interruptible: true set. Moved the default section into .ci/gitlab/common.yml.

Still TODO: