diff --git a/.conan/profiles/sen_gcc_arm64 b/.conan/profiles/sen_gcc_arm64 new file mode 100644 index 00000000..bef46580 --- /dev/null +++ b/.conan/profiles/sen_gcc_arm64 @@ -0,0 +1,6 @@ +include(sen_gcc) + +[settings] +arch=armv8 + +[conf] diff --git a/.github/scripts/generate_matrix_jobs.py b/.github/scripts/generate_matrix_jobs.py index cfd8ca99..0fb680ba 100644 --- a/.github/scripts/generate_matrix_jobs.py +++ b/.github/scripts/generate_matrix_jobs.py @@ -45,7 +45,7 @@ class JobSpecification: """Pipeline job specification that defines the configuration options.""" name: str os: str - runner: tp.Literal["ubuntu-latest", "windows-2022", "self-hosted"] + runner: tp.Literal["ubuntu-latest", "windows-2022", "self-hosted", "ubuntu-24.04-arm"] container: Container | None compiler: Compiler std: tp.Literal[17, 20, 23] @@ -90,6 +90,14 @@ def compute_jobs(release: bool, conan: bool) -> list[JobSpecification]: JobSpecification("Basic Windows", "windows", "windows-2022", None, Compiler("msvc", 194, "cl", "cl"), 17, "Debug")) + # Add amd64 jobs + if not release: + jobs.append( + JobSpecification("Basic Ubuntu arm", "ubuntu-24.04", + "ubuntu-24.04-arm", None, + Compiler("gcc_arm64", 12, "gcc-14", + "g++-14"), 17, "Debug")) + return sorted(jobs) diff --git a/.github/workflows/conan.yaml b/.github/workflows/conan.yaml index 025451aa..4b58f096 100644 --- a/.github/workflows/conan.yaml +++ b/.github/workflows/conan.yaml @@ -96,6 +96,7 @@ jobs: run: | rm -f ~/.conan2/profiles/default conan profile detect --force -vquiet + conan config install .conan/profiles/ --target-folder ~/.conan2/profiles/ cp .conan/profiles/sen_$COMPILER ~/.conan2/profiles/default echo tools.system.package_manager:mode=install >> ~/.conan2/profiles/default echo tools.system.package_manager:sudo=True >> ~/.conan2/profiles/default