-
Notifications
You must be signed in to change notification settings - Fork 156
Closed
Milestone
Description
We need an own baseimage for CI because of required dependencies which need to be compiled.
Motivation:
- Ubuntu 20.04 is marked for brownout by github which will disable the 20.04 runner at 01.04.2025. https://github.blog/changelog/2025-01-15-github-actions-ubuntu-20-runner-image-brownout-dates-and-other-breaking-changes/
- Swift is required in version 5.8, last version which is compatible with llvm 15, which isn't available as prebuild package. But it is possible to build the toolchain from source.
- Conan dependencies llvm / clang aren't in conancenter and without each run would need to compile them. Testing Conan Integration in CI #745
- Using LTO with e.g. clang-19 on llvm-14 seems to fail, this is purely optional.
- Dependency installation via InstallAptDependencies.sh can also be done in the baseimage.
Demand:
This is required in the near future to ensure stable compatibility with swift and conan, alternative is to just don't test these.
Whats the plan:
- To have a CI job which builds an pushes a baseimage which is consumed by other jobs.
- Naming suggestion: ..phasar:build-environment-250218-shortcommit
- The job itself should only run if the dependency script or the Dockerfile itself changes.
- Swift toolchain 5.8 is build and installed
- optional: distcc can be used locally to speedup testing e.g. via RUN --mount
- Conan dependencies are build and installed
- Optional: LLVM 14 ist compiled with clang-19 to fix LTO issues
- Existing job is consuming the image to test certain configurations.
Follow up:
- Job is added to test the Conan build
- This image should only be used in CI and to build phasar but the resulting Dockerfile should contain only installed files.
- Therefore a multi stage build would be nice to slim the final image - only ubuntu + installed phasar in Release & LTO.
Metadata
Metadata
Assignees
Labels
No labels