Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Move build toolchain to LLVM 18 #290

Merged
merged 36 commits into from
Jun 28, 2024
Merged

Move build toolchain to LLVM 18 #290

merged 36 commits into from
Jun 28, 2024

Conversation

abeltrano
Copy link
Contributor

@abeltrano abeltrano commented Jun 19, 2024

Type

  • Bug fix
  • Feature addition
  • Feature update
  • Documentation
  • Build Infrastructure

Side Effects

  • Breaking change
  • Non-functional change

Background

This change transitions the compiler toolchain from LLVM 17 to LLVM 18, which is not available either as a standard package nor as a GitHub hosted runner image for Ubuntu 23.10 (mantic). It is available for Ubuntu 24.04 (noble) however,

Goals

Technical Details

  • Add explicit CMake presets for CI/CD.
  • Add hidden CMake presets for Linux compiler toolchains (clang 17, clang 18).
  • Enable clang 18 for use in CI/CD, leaving clang 17 as the default for development.
  • Change hosted Linux runner to use Ubuntu 24.04 (noble).
  • Conditionalize using vcpkg binary caching in build-with-host action, necessary since it is currently implemented in the action script to only work with Windows.
  • Add step in build-with-host GitHub action to explicitly install dependencies for the Linux build.
  • Update test step in build-with-host GitHub action to only run tests that don't require elevated privileges (root).
  • Fix package preset name in build-with-host GitHub action.
  • Use fixed preset names for build-specific steps in build-with-host GitHub action.
  • Remove self-hosted build from os matrix configuration.
  • Enable vcpkg binary caching for both Linux and Windows (previously only configured for Windows).

Test Results

  • Test build using the build-with-host action passed.

Reviewer Focus

  • None

Future Work

  • None

Checklist

  • Build target all compiles cleanly.
  • clang-format and clang-tidy deltas produced no new output.
  • Newly added functions include doxygen-style comment block.

@abeltrano abeltrano force-pushed the hostedlinuxbuild branch 2 times, most recently from cd29748 to 10dd7ff Compare June 20, 2024 21:03
@github-advanced-security
Copy link

This pull request sets up GitHub code scanning for this repository. Once the scans have completed and the checks have passed, the analysis results for this pull request branch will appear on this overview. Once you merge this pull request, the 'Security' tab will show more code scanning analysis results (for example, for the default branch). Depending on your configuration and choice of analysis tool, future pull requests will be annotated with code scanning analysis results. For more information about GitHub code scanning, check out the documentation.

@abeltrano abeltrano marked this pull request as ready for review June 28, 2024 07:22
@abeltrano abeltrano requested a review from a team as a code owner June 28, 2024 07:22
@abeltrano abeltrano merged commit 8067d9a into develop Jun 28, 2024
5 checks passed
@abeltrano abeltrano deleted the hostedlinuxbuild branch June 28, 2024 14:37
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Allow running tests not requiring root in workflows
1 participant