From 48610bef4193f820453df55c36ff0cad149780c2 Mon Sep 17 00:00:00 2001 From: Tim Wojtulewicz Date: Tue, 22 Jul 2025 13:52:21 -0700 Subject: [PATCH] CI: Add weekly task for running builds with newest compilers --- .cirrus.yml | 28 ++++++++++++++++++++++++ ci/opensuse-tumbleweed/prepare-weekly.sh | 27 +++++++++++++++++++++++ 2 files changed, 55 insertions(+) create mode 100755 ci/opensuse-tumbleweed/prepare-weekly.sh diff --git a/.cirrus.yml b/.cirrus.yml index a9557a83e1..7cc1947fa2 100644 --- a/.cirrus.yml +++ b/.cirrus.yml @@ -273,6 +273,34 @@ opensuse_tumbleweed_task: << : *CI_TEMPLATE # << : *SKIP_TASK_ON_PR +weekly_current_gcc_task: + container: + # Opensuse Tumbleweed has no EOL + dockerfile: ci/opensuse-tumbleweed/Dockerfile + << : *RESOURCES_TEMPLATE + prepare_script: ./ci/opensuse-tumbleweed/prepare-weekly.sh + << : *CI_TEMPLATE + only_if: > + ( $CIRRUS_REPO_NAME == 'zeek' || $CIRRUS_REPO_NAME == 'zeek-security' ) && + $CIRRUS_BRANCH == 'master' || + $CIRRUS_CRON == 'weekly' + env: + ZEEK_CI_COMPILER: gcc + +weekly_current_clang_task: + container: + # Opensuse Tumbleweed has no EOL + dockerfile: ci/opensuse-tumbleweed/Dockerfile + << : *RESOURCES_TEMPLATE + prepare_script: ./ci/opensuse-tumbleweed/prepare-weekly.sh + << : *CI_TEMPLATE + only_if: > + ( $CIRRUS_REPO_NAME == 'zeek' || $CIRRUS_REPO_NAME == 'zeek-security' ) && + $CIRRUS_BRANCH == 'master' || + $CIRRUS_CRON == 'weekly' + env: + ZEEK_CI_COMPILER: clang + ubuntu24_10_task: container: # Ubuntu 24.10 EOL: 2025-07-30 diff --git a/ci/opensuse-tumbleweed/prepare-weekly.sh b/ci/opensuse-tumbleweed/prepare-weekly.sh new file mode 100755 index 0000000000..be46e3e004 --- /dev/null +++ b/ci/opensuse-tumbleweed/prepare-weekly.sh @@ -0,0 +1,27 @@ +#!/bin/sh + +zypper refresh +zypper patch -y --with-update --with-optional + +LATEST_VERSION=$(zypper search -n ${ZEEK_CI_COMPILER} | + awk -F "|" "match(\$2, / ${ZEEK_CI_COMPILER}([0-9]{2})[^-]/, a) {print a[1]}" | + sort | tail -1) + +echo "Installing ${ZEEK_CI_COMPILER} ${LATEST_VERSION}" + +zypper install -y "${ZEEK_CI_COMPILER}${LATEST_VERSION}" + +if [ "${ZEEK_CI_COMPILER}" == "gcc" ]; then + zypper install -y "${ZEEK_CI_COMPILER}${LATEST_VERSION}-c++" +fi + +update-alternatives --install /usr/bin/cc cc "/usr/bin/${ZEEK_CI_COMPILER}-${LATEST_VERSION}" 100 +update-alternatives --set cc "/usr/bin/${ZEEK_CI_COMPILER}-${LATEST_VERSION}" + +if [ "${ZEEK_CI_COMPILER}" == "gcc" ]; then + update-alternatives --install /usr/bin/c++ c++ "/usr/bin/g++-${LATEST_VERSION}" 100 + update-alternatives --set c++ "/usr/bin/g++-${LATEST_VERSION}" +else + update-alternatives --install /usr/bin/c++ c++ "/usr/bin/clang++-${LATEST_VERSION}" 100 + update-alternatives --set c++ "/usr/bin/clang++-${LATEST_VERSION}" +fi