Browse Source

ci: Enable IAR test on some Debian jobs in nightly pipeline

Closes: #23308
Brad King 1 year ago
parent
commit
61039ae8f1

+ 1 - 0
.gitlab/ci/configure_debian12_makefiles_clang.cmake

@@ -2,6 +2,7 @@ set(CMake_TEST_C_STANDARDS "90;99;11;17;23" CACHE STRING "")
 set(CMake_TEST_CXX_STANDARDS "98;11;14;17;20;23" CACHE STRING "")
 
 if (NOT "$ENV{CMAKE_CI_NIGHTLY}" STREQUAL "")
+  set(CMake_TEST_IAR_TOOLCHAINS "/opt/iarsystems" CACHE PATH "")
   set(CMake_TEST_TICLANG_TOOLCHAINS "$ENV{CI_PROJECT_DIR}/.gitlab/ticlang" CACHE PATH "")
 endif()
 

+ 1 - 0
.gitlab/ci/configure_debian12_ninja_clang.cmake

@@ -1,4 +1,5 @@
 if (NOT "$ENV{CMAKE_CI_NIGHTLY}" STREQUAL "")
+  set(CMake_TEST_IAR_TOOLCHAINS "/opt/iarsystems" CACHE PATH "")
   set(CMake_TEST_TICLANG_TOOLCHAINS "$ENV{CI_PROJECT_DIR}/.gitlab/ticlang" CACHE PATH "")
 endif()
 

+ 4 - 0
.gitlab/ci/configure_debian12_ninja_multi_symlinked.cmake

@@ -1,3 +1,7 @@
+if (NOT "$ENV{CMAKE_CI_NIGHTLY}" STREQUAL "")
+  set(CMake_TEST_IAR_TOOLCHAINS "/opt/iarsystems" CACHE PATH "")
+endif()
+
 include("${CMAKE_CURRENT_LIST_DIR}/configure_symlinked_common.cmake")
 include("${CMAKE_CURRENT_LIST_DIR}/configure_debian12_ninja_common.cmake")
 set(CMake_TEST_UseSWIG "OFF" CACHE BOOL "")

+ 1 - 0
.gitlab/ci/env_debian12_makefiles_clang.sh

@@ -1,4 +1,5 @@
 if test "$CMAKE_CI_NIGHTLY" = "true"; then
+  source .gitlab/ci/iar-env.sh
   source .gitlab/ci/ticlang-env.sh
 fi
 

+ 1 - 0
.gitlab/ci/env_debian12_ninja_clang.sh

@@ -1,4 +1,5 @@
 if test "$CMAKE_CI_NIGHTLY" = "true"; then
+  source .gitlab/ci/iar-env.sh
   source .gitlab/ci/ticlang-env.sh
 fi
 

+ 4 - 0
.gitlab/ci/env_debian12_ninja_multi_symlinked.sh

@@ -1,5 +1,9 @@
 export MY_RUBY_HOME="/usr/local/rvm/rubies/ruby-3.2.2"
 
+if test "$CMAKE_CI_NIGHTLY" = "true"; then
+  source .gitlab/ci/iar-env.sh
+fi
+
 if test -z "$CI_MERGE_REQUEST_ID"; then
   source .gitlab/ci/swift-env.sh
 fi

+ 33 - 0
.gitlab/ci/iar-env.sh

@@ -0,0 +1,33 @@
+# FIXME(#26249): Testing fails with RH850 tooling.
+# bxrh850-3.10.2.deb
+files='
+bxarm-9.50.2.deb
+bxavr-8.10.2.deb
+bxriscv-3.30.1.deb
+bxrl78-5.10.3.deb
+bxrx-5.10.1.deb
+'
+for f in $files; do
+  # This URL is only visible inside of Kitware's network.
+  curl -OJLs https://cmake.org/files/dependencies/internal/iar/$f
+done
+
+echo '
+cb6a276ace472939fbb76fc5ce517149296ac2c87047b59504f9fe95aed81794  bxarm-9.50.2.deb
+4a1065291952a23a8bfbbaa4eb36ca49b0af8653b8faab34ce955d9d48d64506  bxavr-8.10.2.deb
+#b14085a0f21750c58168125d3cece2e3fcbd4c6495c652b5e65b6637bac0ac31  bxrh850-3.10.2.deb
+517e18dffdd4345f97c480b5128c7feea25ec1c3f06e62d8e2e6808c401d514a  bxriscv-3.30.1.deb
+3deca7f6afd5f47684464ad748334ab0690097a109d9c680603450074fc32ccf  bxrl78-5.10.3.deb
+260e592c48cbaf902b13bdb2feeeba83068978131fcb5c027dab17e715dec7e7  bxrx-5.10.1.deb
+' > bxdebs.sha256sum
+sha256sum --check bxdebs.sha256sum
+
+dpkg -i bx*.deb
+rm bx*.deb bxdebs.sha256sum
+
+find /opt/iarsystems -executable -wholename "*bin/icc*"
+
+if test -n "$CMAKE_CI_IAR_LICENSE_SERVER"; then
+  find /opt/iarsystems -executable -wholename '*bin/lightlicensemanager' -exec {} setup --host "$CMAKE_CI_IAR_LICENSE_SERVER" ';'
+  find /opt/iarsystems -executable -wholename "*bin/icc*" -exec {} --version ';'
+fi