From 692c6a2f10b4ae6e56058e66daf9ce4eb8e95441 Mon Sep 17 00:00:00 2001 From: Tim Wojtulewicz Date: Thu, 28 Aug 2025 12:52:01 -0700 Subject: [PATCH 1/4] Switch Zeek Spicy builds to Ubuntu 24 --- .cirrus.yml | 12 ++++++------ ci/ubuntu-24.04/Dockerfile | 4 +++- 2 files changed, 9 insertions(+), 7 deletions(-) diff --git a/.cirrus.yml b/.cirrus.yml index a8de9c1259..be1d2e5d97 100644 --- a/.cirrus.yml +++ b/.cirrus.yml @@ -432,10 +432,10 @@ ubuntu22_task: benchmark_script: ./ci/benchmark.sh # Also enable Spicy SSL for this -ubuntu22_spicy_task: +ubuntu24_spicy_task: container: - # Ubuntu 22.04 EOL: April 2027 - dockerfile: ci/ubuntu-22.04/Dockerfile + # Ubuntu 24.04 EOL: Jun 2029 + dockerfile: ci/ubuntu-24.04/Dockerfile << : *RESOURCES_TEMPLATE << : *CI_TEMPLATE << : *ONLY_IF_PR_MASTER_RELEASE @@ -448,10 +448,10 @@ ubuntu22_spicy_task: path: build.tgz benchmark_script: ./ci/benchmark.sh -ubuntu22_spicy_head_task: +ubuntu24_spicy_head_task: container: - # Ubuntu 22.04 EOL: April 2027 - dockerfile: ci/ubuntu-22.04/Dockerfile + # Ubuntu 24.04 EOL: Jun 2029 + dockerfile: ci/ubuntu-24.04/Dockerfile << : *RESOURCES_TEMPLATE << : *CI_TEMPLATE << : *ONLY_IF_PR_MASTER_RELEASE_NIGHTLY diff --git a/ci/ubuntu-24.04/Dockerfile b/ci/ubuntu-24.04/Dockerfile index 47539ddf65..b4df50fcfb 100644 --- a/ci/ubuntu-24.04/Dockerfile +++ b/ci/ubuntu-24.04/Dockerfile @@ -4,7 +4,7 @@ ENV DEBIAN_FRONTEND="noninteractive" TZ="America/Los_Angeles" # A version field to invalidate Cirrus's build cache when needed, as suggested in # https://github.com/cirruslabs/cirrus-ci-docs/issues/544#issuecomment-566066822 -ENV DOCKERFILE_VERSION 20250522 +ENV DOCKERFILE_VERSION=20250522 RUN apt-get update && apt-get -y install \ bc \ @@ -32,7 +32,9 @@ RUN apt-get update && apt-get -y install \ make \ python3 \ python3-dev \ + python3-git \ python3-pip \ + python3-semantic-version \ redis-server \ ruby \ sqlite3 \ From 6e2ca35fb0c325f1f006947f94a09d6733e52a0b Mon Sep 17 00:00:00 2001 From: Tim Wojtulewicz Date: Thu, 28 Aug 2025 12:54:10 -0700 Subject: [PATCH 2/4] Rename Ubuntu-based tasks to have the full version name --- .cirrus.yml | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/.cirrus.yml b/.cirrus.yml index be1d2e5d97..f9e37cedab 100644 --- a/.cirrus.yml +++ b/.cirrus.yml @@ -365,7 +365,7 @@ ubuntu25_04_task: << : *ONLY_IF_PR_MASTER_RELEASE << : *SKIP_IF_PR_NOT_FULL_CI -ubuntu24_task: +ubuntu24_04_task: container: # Ubuntu 24.04 EOL: Jun 2029 dockerfile: ci/ubuntu-24.04/Dockerfile @@ -375,7 +375,7 @@ ubuntu24_task: << : *SKIP_IF_PR_NOT_FULL_CI # Same as above, but running the ZAM tests instead of the regular tests. -ubuntu24_zam_task: +ubuntu24_04_zam_task: container: # Ubuntu 24.04 EOL: Jun 2029 dockerfile: ci/ubuntu-24.04/Dockerfile @@ -391,7 +391,7 @@ ubuntu24_zam_task: ZEEK_CI_BTEST_JOBS: 3 # Same as above, but using Clang and libc++ -ubuntu24_clang_libcpp_task: +ubuntu24_04_clang_libcpp_task: container: # Ubuntu 24.04 EOL: Jun 2029 dockerfile: ci/ubuntu-24.04/Dockerfile @@ -404,7 +404,7 @@ ubuntu24_clang_libcpp_task: CXX: clang++-19 CXXFLAGS: -stdlib=libc++ -ubuntu24_clang_tidy_task: +ubuntu24_04_clang_tidy_task: container: # Ubuntu 24.04 EOL: Jun 2029 dockerfile: ci/ubuntu-24.04/Dockerfile @@ -417,7 +417,7 @@ ubuntu24_clang_tidy_task: CXX: clang++-19 ZEEK_CI_CONFIGURE_FLAGS: *CLANG_TIDY_CONFIG -ubuntu22_task: +ubuntu22_04_task: container: # Ubuntu 22.04 EOL: June 2027 dockerfile: ci/ubuntu-22.04/Dockerfile @@ -432,7 +432,7 @@ ubuntu22_task: benchmark_script: ./ci/benchmark.sh # Also enable Spicy SSL for this -ubuntu24_spicy_task: +ubuntu24_04_spicy_task: container: # Ubuntu 24.04 EOL: Jun 2029 dockerfile: ci/ubuntu-24.04/Dockerfile @@ -448,7 +448,7 @@ ubuntu24_spicy_task: path: build.tgz benchmark_script: ./ci/benchmark.sh -ubuntu24_spicy_head_task: +ubuntu24_04_spicy_head_task: container: # Ubuntu 24.04 EOL: Jun 2029 dockerfile: ci/ubuntu-24.04/Dockerfile From ea076dc14aa714a4b8e466791d6da5d3e823e8af Mon Sep 17 00:00:00 2001 From: Tim Wojtulewicz Date: Thu, 28 Aug 2025 15:36:56 -0700 Subject: [PATCH 3/4] Reorder ubuntu builds so 22.04 comes last --- .cirrus.yml | 28 ++++++++++++++-------------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/.cirrus.yml b/.cirrus.yml index f9e37cedab..4215e4fc7e 100644 --- a/.cirrus.yml +++ b/.cirrus.yml @@ -417,20 +417,6 @@ ubuntu24_04_clang_tidy_task: CXX: clang++-19 ZEEK_CI_CONFIGURE_FLAGS: *CLANG_TIDY_CONFIG -ubuntu22_04_task: - container: - # Ubuntu 22.04 EOL: June 2027 - dockerfile: ci/ubuntu-22.04/Dockerfile - << : *RESOURCES_TEMPLATE - << : *CI_TEMPLATE - << : *ONLY_IF_PR_MASTER_RELEASE - << : *SKIP_IF_PR_NOT_FULL_OR_BENCHMARK - env: - ZEEK_CI_CREATE_ARTIFACT: 1 - upload_binary_artifacts: - path: build.tgz - benchmark_script: ./ci/benchmark.sh - # Also enable Spicy SSL for this ubuntu24_04_spicy_task: container: @@ -466,6 +452,20 @@ ubuntu24_04_spicy_head_task: path: build.tgz benchmark_script: ./ci/benchmark.sh +ubuntu22_04_task: + container: + # Ubuntu 22.04 EOL: June 2027 + dockerfile: ci/ubuntu-22.04/Dockerfile + << : *RESOURCES_TEMPLATE + << : *CI_TEMPLATE + << : *ONLY_IF_PR_MASTER_RELEASE + << : *SKIP_IF_PR_NOT_FULL_OR_BENCHMARK + env: + ZEEK_CI_CREATE_ARTIFACT: 1 + upload_binary_artifacts: + path: build.tgz + benchmark_script: ./ci/benchmark.sh + alpine_task: container: # Alpine releases typically happen every 6 months w/ support for 2 years. From b156bcf6dd82da3e1c8809746cca543c4d5f4c40 Mon Sep 17 00:00:00 2001 From: Tim Wojtulewicz Date: Fri, 29 Aug 2025 10:39:49 -0700 Subject: [PATCH 4/4] Move benchmarking to Ubnutu 24 task, add to normal PR builds We already have a "regular Linux" build for PRs, but I'm adding this one in so that we have benchmark coverage on PRs as well. --- .cirrus.yml | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/.cirrus.yml b/.cirrus.yml index 4215e4fc7e..f8a3f46daa 100644 --- a/.cirrus.yml +++ b/.cirrus.yml @@ -372,7 +372,12 @@ ubuntu24_04_task: << : *RESOURCES_TEMPLATE << : *CI_TEMPLATE << : *ONLY_IF_PR_MASTER_RELEASE - << : *SKIP_IF_PR_NOT_FULL_CI + << : *SKIP_IF_PR_SKIP_ALL + env: + ZEEK_CI_CREATE_ARTIFACT: 1 + upload_binary_artifacts: + path: build.tgz + benchmark_script: ./ci/benchmark.sh # Same as above, but running the ZAM tests instead of the regular tests. ubuntu24_04_zam_task: @@ -459,12 +464,7 @@ ubuntu22_04_task: << : *RESOURCES_TEMPLATE << : *CI_TEMPLATE << : *ONLY_IF_PR_MASTER_RELEASE - << : *SKIP_IF_PR_NOT_FULL_OR_BENCHMARK - env: - ZEEK_CI_CREATE_ARTIFACT: 1 - upload_binary_artifacts: - path: build.tgz - benchmark_script: ./ci/benchmark.sh + << : *SKIP_IF_PR_NOT_FULL_CI alpine_task: container: