mirror of
https://github.com/zeek/zeek.git
synced 2025-10-02 14:48:21 +00:00
Merge remote-tracking branch 'origin/topic/timw/reduce-ci-load'
* origin/topic/timw/reduce-ci-load: CI: Rework layout of when each task runs
This commit is contained in:
commit
cfa73bd512
3 changed files with 163 additions and 104 deletions
257
.cirrus.yml
257
.cirrus.yml
|
@ -48,53 +48,102 @@ freebsd_environment: &FREEBSD_ENVIRONMENT
|
||||||
ZEEK_CI_CPUS: 8
|
ZEEK_CI_CPUS: 8
|
||||||
ZEEK_CI_BTEST_JOBS: 8
|
ZEEK_CI_BTEST_JOBS: 8
|
||||||
|
|
||||||
builds_only_if_template: &BUILDS_ONLY_IF_TEMPLATE
|
only_if_pr_master_release: &ONLY_IF_PR_MASTER_RELEASE
|
||||||
# Rules for skipping builds:
|
|
||||||
# - Do not run builds for anything that's cron triggered
|
|
||||||
# - Don't do darwin builds on zeek-security repo because they use up a ton of compute credits.
|
|
||||||
# - Always build PRs, but not if they come from dependabot
|
|
||||||
# - Always build master and release/* builds from the main repo
|
|
||||||
only_if: >
|
only_if: >
|
||||||
( $CIRRUS_CRON == '' ) &&
|
|
||||||
( ( $CIRRUS_PR != '' && $CIRRUS_BRANCH !=~ 'dependabot/.*' ) ||
|
|
||||||
( ( $CIRRUS_REPO_NAME == 'zeek' || $CIRRUS_REPO_NAME == 'zeek-security' ) &&
|
( ( $CIRRUS_REPO_NAME == 'zeek' || $CIRRUS_REPO_NAME == 'zeek-security' ) &&
|
||||||
(
|
( $CIRRUS_CRON != 'weekly' ) &&
|
||||||
|
( $CIRRUS_PR != '' ||
|
||||||
$CIRRUS_BRANCH == 'master' ||
|
$CIRRUS_BRANCH == 'master' ||
|
||||||
$CIRRUS_BRANCH =~ 'release/.*'
|
$CIRRUS_BRANCH =~ 'release/.*'
|
||||||
)
|
)
|
||||||
) )
|
)
|
||||||
|
|
||||||
skip_task_on_pr: &SKIP_TASK_ON_PR
|
only_if_pr_master_release_nightly: &ONLY_IF_PR_MASTER_RELEASE_NIGHTLY
|
||||||
# Skip this task on PRs if it does not have the CI: Full label,
|
|
||||||
# it continues to run for direct pushes to master/release.
|
|
||||||
skip: >
|
|
||||||
( ! ($CIRRUS_PR == '' || $CIRRUS_PR_LABELS =~ '.*CI: Full.*') || $CIRRUS_PR_LABELS =~ '.*CI: Skip All' )
|
|
||||||
|
|
||||||
skip_cluster_test_on_pr: &SKIP_CLUSTER_TEST_ON_PR
|
|
||||||
# Skip this task on PRs if it does not have the CI: Full label,
|
|
||||||
# it continues to run for direct pushes to master/release.
|
|
||||||
skip: >
|
|
||||||
( ! ($CIRRUS_PR == '' || $CIRRUS_PR_LABELS =~ '.*CI: (Full|Cluster Test).*') || $CIRRUS_PR_LABELS =~ '.*CI: Skip All' )
|
|
||||||
|
|
||||||
zam_skip_task_on_pr: &ZAM_SKIP_TASK_ON_PR
|
|
||||||
# Skip this task on PRs unless it has the "CI: Full" or "CI: ZAM" label
|
|
||||||
# or files in src/script_opt/** were modified.
|
|
||||||
# It continues to run for direct pushes to master/release, as
|
|
||||||
# CIRRUS_PR will be empty.
|
|
||||||
skip: >
|
|
||||||
( ! ($CIRRUS_PR == '' || $CIRRUS_PR_LABELS =~ '.*CI: (Full|ZAM).*' || changesInclude('src/script_opt/**')) || $CIRRUS_PR_LABELS =~ '.*CI: Skip All' )
|
|
||||||
|
|
||||||
benchmark_only_if_template: &BENCHMARK_ONLY_IF_TEMPLATE
|
|
||||||
# only_if condition for cron-triggered benchmarking tests.
|
|
||||||
# These currently do not run for release/.*
|
|
||||||
only_if: >
|
only_if: >
|
||||||
( $CIRRUS_REPO_NAME == 'zeek' || $CIRRUS_REPO_NAME == 'zeek-security' ) &&
|
( ( $CIRRUS_REPO_NAME == 'zeek' || $CIRRUS_REPO_NAME == 'zeek-security' ) &&
|
||||||
( $CIRRUS_CRON == 'benchmark-nightly' ||
|
( $CIRRUS_CRON != 'weekly' ) &&
|
||||||
$CIRRUS_PR_LABELS =~ '.*CI: (Full|Benchmark).*' )
|
( $CIRRUS_PR != '' ||
|
||||||
|
$CIRRUS_BRANCH == 'master' ||
|
||||||
|
$CIRRUS_BRANCH =~ 'release/.*' ||
|
||||||
|
( $CIRRUS_CRON == 'nightly' && $CIRRUS_BRANCH == 'master' )
|
||||||
|
)
|
||||||
|
)
|
||||||
|
|
||||||
|
only_if_pr_release_and_nightly: &ONLY_IF_PR_RELEASE_AND_NIGHTLY
|
||||||
|
only_if: >
|
||||||
|
( ( $CIRRUS_REPO_NAME == 'zeek' || $CIRRUS_REPO_NAME == 'zeek-security' ) &&
|
||||||
|
( $CIRRUS_CRON != 'weekly' ) &&
|
||||||
|
( $CIRRUS_PR != '' ||
|
||||||
|
$CIRRUS_BRANCH =~ 'release/.*' ||
|
||||||
|
( $CIRRUS_CRON == 'nightly' && $CIRRUS_BRANCH == 'master' )
|
||||||
|
)
|
||||||
|
)
|
||||||
|
|
||||||
|
only_if_pr_nightly: &ONLY_IF_PR_NIGHTLY
|
||||||
|
only_if: >
|
||||||
|
( ( $CIRRUS_REPO_NAME == 'zeek' || $CIRRUS_REPO_NAME == 'zeek-security' ) &&
|
||||||
|
( $CIRRUS_CRON != 'weekly' ) &&
|
||||||
|
( $CIRRUS_PR != '' ||
|
||||||
|
( $CIRRUS_CRON == 'nightly' && $CIRRUS_BRANCH == 'master' )
|
||||||
|
)
|
||||||
|
)
|
||||||
|
|
||||||
|
only_if_release_tag_nightly: &ONLY_IF_RELEASE_TAG_NIGHTLY
|
||||||
|
only_if: >
|
||||||
|
( ( $CIRRUS_REPO_NAME == 'zeek' ) &&
|
||||||
|
( $CIRRUS_CRON != 'weekly' ) &&
|
||||||
|
( ( $CIRRUS_BRANCH =~ 'release/.*' && $CIRRUS_TAG =~ 'v[0-9]+\.[0-9]+\.[0-9]+(-rc[0-9]+)?$' ) ||
|
||||||
|
( $CIRRUS_CRON == 'nightly' && $CIRRUS_BRANCH == 'master' )
|
||||||
|
)
|
||||||
|
)
|
||||||
|
|
||||||
|
only_if_nightly: &ONLY_IF_NIGHTLY
|
||||||
|
only_if: >
|
||||||
|
( ( $CIRRUS_REPO_NAME == 'zeek' ) &&
|
||||||
|
( $CIRRUS_CRON == 'nightly' && $CIRRUS_BRANCH == 'master' )
|
||||||
|
)
|
||||||
|
|
||||||
|
only_if_weekly: &ONLY_IF_WEEKLY
|
||||||
|
only_if: >
|
||||||
|
( ( $CIRRUS_REPO_NAME == 'zeek' || $CIRRUS_REPO_NAME == 'zeek-security' ) &&
|
||||||
|
( $CIRRUS_CRON == 'weekly' && $CIRRUS_BRANCH == 'master' )
|
||||||
|
)
|
||||||
|
|
||||||
|
skip_if_pr_skip_all: &SKIP_IF_PR_SKIP_ALL
|
||||||
|
skip: >
|
||||||
|
( $CIRRUS_PR != '' && $CIRRUS_PR_LABELS =~ ".*CI: Skip All.*" )
|
||||||
|
|
||||||
|
skip_if_pr_not_full_ci: &SKIP_IF_PR_NOT_FULL_CI
|
||||||
|
skip: >
|
||||||
|
( ( $CIRRUS_PR != '' && $CIRRUS_PR_LABELS !=~ ".*CI: Full.*") ||
|
||||||
|
( $CIRRUS_PR_LABELS =~ ".*CI: Skip All.*" )
|
||||||
|
)
|
||||||
|
|
||||||
|
skip_if_pr_not_full_or_benchmark: &SKIP_IF_PR_NOT_FULL_OR_BENCHMARK
|
||||||
|
skip: >
|
||||||
|
( ( $CIRRUS_PR != '' && $CIRRUS_PR_LABELS !=~ ".*CI: (Full|Benchmark).*" ) ||
|
||||||
|
( $CIRRUS_PR_LABELS =~ ".*CI: Skip All.*" )
|
||||||
|
)
|
||||||
|
|
||||||
|
skip_if_pr_not_full_or_cluster_test: &SKIP_IF_PR_NOT_FULL_OR_CLUSTER_TEST
|
||||||
|
skip: >
|
||||||
|
( ( $CIRRUS_PR != '' && $CIRRUS_PR_LABELS !=~ ".*CI: (Full|Cluster Test).*" ) ||
|
||||||
|
( $CIRRUS_PR_LABELS =~ ".*CI: Skip All.*" )
|
||||||
|
)
|
||||||
|
|
||||||
|
skip_if_pr_not_full_or_zam: &SKIP_IF_PR_NOT_FULL_OR_ZAM
|
||||||
|
skip: >
|
||||||
|
( ( $CIRRUS_PR != '' && $CIRRUS_PR_LABELS !=~ ".*CI: (Full|ZAM).*" ) ||
|
||||||
|
( $CIRRUS_PR_LABELS =~ ".*CI: Skip All.*" )
|
||||||
|
)
|
||||||
|
|
||||||
|
skip_if_pr_not_full_or_zeekctl: &SKIP_IF_PR_NOT_FULL_OR_ZEEKCTL
|
||||||
|
skip: >
|
||||||
|
( ( $CIRRUS_PR != '' && $CIRRUS_PR_LABELS !=~ ".*CI: (Full|Zeekctl).*" ) ||
|
||||||
|
( $CIRRUS_PR_LABELS =~ ".*CI: Skip All.*" )
|
||||||
|
)
|
||||||
|
|
||||||
ci_template: &CI_TEMPLATE
|
ci_template: &CI_TEMPLATE
|
||||||
<< : *BUILDS_ONLY_IF_TEMPLATE
|
|
||||||
|
|
||||||
# Default timeout is 60 minutes, Cirrus hard limit is 120 minutes for free
|
# Default timeout is 60 minutes, Cirrus hard limit is 120 minutes for free
|
||||||
# tasks, so may as well ask for full time.
|
# tasks, so may as well ask for full time.
|
||||||
timeout_in: 120m
|
timeout_in: 120m
|
||||||
|
@ -136,10 +185,6 @@ ci_template: &CI_TEMPLATE
|
||||||
# Evit some of the cached build artifacts not used in this build.
|
# Evit some of the cached build artifacts not used in this build.
|
||||||
CCACHE_MAXSIZE=${ZEEK_CCACHE_PRUNE_SIZE} ccache -c
|
CCACHE_MAXSIZE=${ZEEK_CCACHE_PRUNE_SIZE} ccache -c
|
||||||
|
|
||||||
# Always skip all tasks on a PR if the "CI: Skip All" label is applied.
|
|
||||||
skip: >
|
|
||||||
$CIRRUS_PR != '' && $CIRRUS_PR_LABELS =~ '.*CI: Skip All.*'
|
|
||||||
|
|
||||||
env:
|
env:
|
||||||
CIRRUS_WORKING_DIR: /zeek
|
CIRRUS_WORKING_DIR: /zeek
|
||||||
CIRRUS_LOG_TIMESTAMP: true
|
CIRRUS_LOG_TIMESTAMP: true
|
||||||
|
@ -193,6 +238,8 @@ fedora42_task:
|
||||||
dockerfile: ci/fedora-42/Dockerfile
|
dockerfile: ci/fedora-42/Dockerfile
|
||||||
<< : *RESOURCES_TEMPLATE
|
<< : *RESOURCES_TEMPLATE
|
||||||
<< : *CI_TEMPLATE
|
<< : *CI_TEMPLATE
|
||||||
|
<< : *ONLY_IF_PR_MASTER_RELEASE
|
||||||
|
<< : *SKIP_IF_PR_SKIP_ALL
|
||||||
|
|
||||||
fedora41_task:
|
fedora41_task:
|
||||||
container:
|
container:
|
||||||
|
@ -200,7 +247,8 @@ fedora41_task:
|
||||||
dockerfile: ci/fedora-41/Dockerfile
|
dockerfile: ci/fedora-41/Dockerfile
|
||||||
<< : *RESOURCES_TEMPLATE
|
<< : *RESOURCES_TEMPLATE
|
||||||
<< : *CI_TEMPLATE
|
<< : *CI_TEMPLATE
|
||||||
<< : *SKIP_TASK_ON_PR
|
<< : *ONLY_IF_PR_MASTER_RELEASE
|
||||||
|
<< : *SKIP_IF_PR_NOT_FULL_CI
|
||||||
|
|
||||||
centosstream9_task:
|
centosstream9_task:
|
||||||
container:
|
container:
|
||||||
|
@ -208,6 +256,8 @@ centosstream9_task:
|
||||||
dockerfile: ci/centos-stream-9/Dockerfile
|
dockerfile: ci/centos-stream-9/Dockerfile
|
||||||
<< : *RESOURCES_TEMPLATE
|
<< : *RESOURCES_TEMPLATE
|
||||||
<< : *CI_TEMPLATE
|
<< : *CI_TEMPLATE
|
||||||
|
<< : *ONLY_IF_PR_MASTER_RELEASE
|
||||||
|
<< : *SKIP_IF_PR_NOT_FULL_CI
|
||||||
|
|
||||||
debian13_task:
|
debian13_task:
|
||||||
container:
|
container:
|
||||||
|
@ -215,6 +265,8 @@ debian13_task:
|
||||||
dockerfile: ci/debian-13/Dockerfile
|
dockerfile: ci/debian-13/Dockerfile
|
||||||
<< : *RESOURCES_TEMPLATE
|
<< : *RESOURCES_TEMPLATE
|
||||||
<< : *CI_TEMPLATE
|
<< : *CI_TEMPLATE
|
||||||
|
<< : *ONLY_IF_PR_MASTER_RELEASE
|
||||||
|
<< : *SKIP_IF_PR_NOT_FULL_CI
|
||||||
|
|
||||||
arm_debian13_task:
|
arm_debian13_task:
|
||||||
arm_container:
|
arm_container:
|
||||||
|
@ -222,6 +274,8 @@ arm_debian13_task:
|
||||||
dockerfile: ci/debian-13/Dockerfile
|
dockerfile: ci/debian-13/Dockerfile
|
||||||
<< : *RESOURCES_TEMPLATE
|
<< : *RESOURCES_TEMPLATE
|
||||||
<< : *CI_TEMPLATE
|
<< : *CI_TEMPLATE
|
||||||
|
<< : *ONLY_IF_PR_MASTER_RELEASE
|
||||||
|
<< : *SKIP_IF_PR_SKIP_ALL
|
||||||
|
|
||||||
debian13_static_task:
|
debian13_static_task:
|
||||||
container:
|
container:
|
||||||
|
@ -230,7 +284,8 @@ debian13_static_task:
|
||||||
dockerfile: ci/debian-13/Dockerfile
|
dockerfile: ci/debian-13/Dockerfile
|
||||||
<< : *RESOURCES_TEMPLATE
|
<< : *RESOURCES_TEMPLATE
|
||||||
<< : *CI_TEMPLATE
|
<< : *CI_TEMPLATE
|
||||||
<< : *SKIP_TASK_ON_PR
|
<< : *ONLY_IF_PR_MASTER_RELEASE
|
||||||
|
<< : *SKIP_IF_PR_NOT_FULL_CI
|
||||||
env:
|
env:
|
||||||
ZEEK_CI_CONFIGURE_FLAGS: *STATIC_CONFIG
|
ZEEK_CI_CONFIGURE_FLAGS: *STATIC_CONFIG
|
||||||
|
|
||||||
|
@ -244,7 +299,8 @@ debian13_binary_task:
|
||||||
dockerfile: ci/debian-13/Dockerfile
|
dockerfile: ci/debian-13/Dockerfile
|
||||||
<< : *RESOURCES_TEMPLATE
|
<< : *RESOURCES_TEMPLATE
|
||||||
<< : *CI_TEMPLATE
|
<< : *CI_TEMPLATE
|
||||||
<< : *SKIP_TASK_ON_PR
|
<< : *ONLY_IF_PR_MASTER_RELEASE
|
||||||
|
<< : *SKIP_IF_PR_NOT_FULL_CI
|
||||||
env:
|
env:
|
||||||
ZEEK_CI_CONFIGURE_FLAGS: *BINARY_CONFIG
|
ZEEK_CI_CONFIGURE_FLAGS: *BINARY_CONFIG
|
||||||
|
|
||||||
|
@ -254,7 +310,8 @@ debian12_task:
|
||||||
dockerfile: ci/debian-12/Dockerfile
|
dockerfile: ci/debian-12/Dockerfile
|
||||||
<< : *RESOURCES_TEMPLATE
|
<< : *RESOURCES_TEMPLATE
|
||||||
<< : *CI_TEMPLATE
|
<< : *CI_TEMPLATE
|
||||||
<< : *SKIP_TASK_ON_PR
|
<< : *ONLY_IF_PR_MASTER_RELEASE
|
||||||
|
<< : *SKIP_IF_PR_NOT_FULL_CI
|
||||||
|
|
||||||
opensuse_leap_15_6_task:
|
opensuse_leap_15_6_task:
|
||||||
container:
|
container:
|
||||||
|
@ -262,6 +319,8 @@ opensuse_leap_15_6_task:
|
||||||
dockerfile: ci/opensuse-leap-15.6/Dockerfile
|
dockerfile: ci/opensuse-leap-15.6/Dockerfile
|
||||||
<< : *RESOURCES_TEMPLATE
|
<< : *RESOURCES_TEMPLATE
|
||||||
<< : *CI_TEMPLATE
|
<< : *CI_TEMPLATE
|
||||||
|
<< : *ONLY_IF_PR_MASTER_RELEASE
|
||||||
|
<< : *SKIP_IF_PR_NOT_FULL_CI
|
||||||
|
|
||||||
opensuse_tumbleweed_task:
|
opensuse_tumbleweed_task:
|
||||||
container:
|
container:
|
||||||
|
@ -270,7 +329,8 @@ opensuse_tumbleweed_task:
|
||||||
<< : *RESOURCES_TEMPLATE
|
<< : *RESOURCES_TEMPLATE
|
||||||
prepare_script: ./ci/opensuse-tumbleweed/prepare.sh
|
prepare_script: ./ci/opensuse-tumbleweed/prepare.sh
|
||||||
<< : *CI_TEMPLATE
|
<< : *CI_TEMPLATE
|
||||||
# << : *SKIP_TASK_ON_PR
|
<< : *ONLY_IF_PR_MASTER_RELEASE
|
||||||
|
<< : *SKIP_IF_PR_NOT_FULL_CI
|
||||||
|
|
||||||
weekly_current_gcc_task:
|
weekly_current_gcc_task:
|
||||||
container:
|
container:
|
||||||
|
@ -279,8 +339,7 @@ weekly_current_gcc_task:
|
||||||
<< : *RESOURCES_TEMPLATE
|
<< : *RESOURCES_TEMPLATE
|
||||||
prepare_script: ./ci/opensuse-tumbleweed/prepare-weekly.sh
|
prepare_script: ./ci/opensuse-tumbleweed/prepare-weekly.sh
|
||||||
<< : *CI_TEMPLATE
|
<< : *CI_TEMPLATE
|
||||||
only_if: >
|
<< : *ONLY_IF_WEEKLY
|
||||||
$CIRRUS_REPO_NAME == 'zeek' && $CIRRUS_BRANCH == 'master' && $CIRRUS_CRON == 'weekly'
|
|
||||||
env:
|
env:
|
||||||
ZEEK_CI_COMPILER: gcc
|
ZEEK_CI_COMPILER: gcc
|
||||||
|
|
||||||
|
@ -291,8 +350,7 @@ weekly_current_clang_task:
|
||||||
<< : *RESOURCES_TEMPLATE
|
<< : *RESOURCES_TEMPLATE
|
||||||
prepare_script: ./ci/opensuse-tumbleweed/prepare-weekly.sh
|
prepare_script: ./ci/opensuse-tumbleweed/prepare-weekly.sh
|
||||||
<< : *CI_TEMPLATE
|
<< : *CI_TEMPLATE
|
||||||
only_if: >
|
<< : *ONLY_IF_WEEKLY
|
||||||
$CIRRUS_REPO_NAME == 'zeek' && $CIRRUS_BRANCH == 'master' && $CIRRUS_CRON == 'weekly'
|
|
||||||
env:
|
env:
|
||||||
ZEEK_CI_COMPILER: clang
|
ZEEK_CI_COMPILER: clang
|
||||||
|
|
||||||
|
@ -302,7 +360,8 @@ ubuntu25_04_task:
|
||||||
dockerfile: ci/ubuntu-25.04/Dockerfile
|
dockerfile: ci/ubuntu-25.04/Dockerfile
|
||||||
<< : *RESOURCES_TEMPLATE
|
<< : *RESOURCES_TEMPLATE
|
||||||
<< : *CI_TEMPLATE
|
<< : *CI_TEMPLATE
|
||||||
<< : *SKIP_TASK_ON_PR
|
<< : *ONLY_IF_PR_MASTER_RELEASE
|
||||||
|
<< : *SKIP_IF_PR_NOT_FULL_CI
|
||||||
|
|
||||||
ubuntu24_task:
|
ubuntu24_task:
|
||||||
container:
|
container:
|
||||||
|
@ -310,6 +369,8 @@ ubuntu24_task:
|
||||||
dockerfile: ci/ubuntu-24.04/Dockerfile
|
dockerfile: ci/ubuntu-24.04/Dockerfile
|
||||||
<< : *RESOURCES_TEMPLATE
|
<< : *RESOURCES_TEMPLATE
|
||||||
<< : *CI_TEMPLATE
|
<< : *CI_TEMPLATE
|
||||||
|
<< : *ONLY_IF_PR_MASTER_RELEASE
|
||||||
|
<< : *SKIP_IF_PR_NOT_FULL_CI
|
||||||
|
|
||||||
# Same as above, but running the ZAM tests instead of the regular tests.
|
# Same as above, but running the ZAM tests instead of the regular tests.
|
||||||
ubuntu24_zam_task:
|
ubuntu24_zam_task:
|
||||||
|
@ -318,6 +379,8 @@ ubuntu24_zam_task:
|
||||||
dockerfile: ci/ubuntu-24.04/Dockerfile
|
dockerfile: ci/ubuntu-24.04/Dockerfile
|
||||||
<< : *RESOURCES_TEMPLATE
|
<< : *RESOURCES_TEMPLATE
|
||||||
<< : *CI_TEMPLATE
|
<< : *CI_TEMPLATE
|
||||||
|
<< : *ONLY_IF_PR_MASTER_RELEASE
|
||||||
|
<< : *SKIP_IF_PR_NOT_FULL_OR_ZAM
|
||||||
env:
|
env:
|
||||||
ZEEK_CI_SKIP_UNIT_TESTS: 1
|
ZEEK_CI_SKIP_UNIT_TESTS: 1
|
||||||
ZEEK_CI_SKIP_EXTERNAL_BTESTS: 1
|
ZEEK_CI_SKIP_EXTERNAL_BTESTS: 1
|
||||||
|
@ -332,7 +395,8 @@ ubuntu24_clang_libcpp_task:
|
||||||
dockerfile: ci/ubuntu-24.04/Dockerfile
|
dockerfile: ci/ubuntu-24.04/Dockerfile
|
||||||
<< : *RESOURCES_TEMPLATE
|
<< : *RESOURCES_TEMPLATE
|
||||||
<< : *CI_TEMPLATE
|
<< : *CI_TEMPLATE
|
||||||
<< : *SKIP_TASK_ON_PR
|
<< : *ONLY_IF_PR_MASTER_RELEASE
|
||||||
|
<< : *SKIP_IF_PR_NOT_FULL_CI
|
||||||
env:
|
env:
|
||||||
CC: clang-19
|
CC: clang-19
|
||||||
CXX: clang++-19
|
CXX: clang++-19
|
||||||
|
@ -344,36 +408,25 @@ ubuntu24_clang_tidy_task:
|
||||||
dockerfile: ci/ubuntu-24.04/Dockerfile
|
dockerfile: ci/ubuntu-24.04/Dockerfile
|
||||||
<< : *RESOURCES_TEMPLATE
|
<< : *RESOURCES_TEMPLATE
|
||||||
<< : *CI_TEMPLATE
|
<< : *CI_TEMPLATE
|
||||||
# Run on merges to master and release/.* and benchmark-nightly cron.
|
<< : *ONLY_IF_PR_MASTER_RELEASE
|
||||||
only_if: >
|
<< : *SKIP_IF_PR_NOT_FULL_CI
|
||||||
( $CIRRUS_REPO_NAME == 'zeek' || $CIRRUS_REPO_NAME == 'zeek-security' ) &&
|
|
||||||
$CIRRUS_BRANCH == 'master' ||
|
|
||||||
$CIRRUS_BRANCH =~ 'release/.*' ||
|
|
||||||
$CIRRUS_CRON == 'benchmark-nightly'
|
|
||||||
env:
|
env:
|
||||||
CC: clang-19
|
CC: clang-19
|
||||||
CXX: clang++-19
|
CXX: clang++-19
|
||||||
ZEEK_CI_CONFIGURE_FLAGS: *CLANG_TIDY_CONFIG
|
ZEEK_CI_CONFIGURE_FLAGS: *CLANG_TIDY_CONFIG
|
||||||
|
|
||||||
|
|
||||||
ubuntu22_task:
|
ubuntu22_task:
|
||||||
container:
|
container:
|
||||||
# Ubuntu 22.04 EOL: June 2027
|
# Ubuntu 22.04 EOL: June 2027
|
||||||
dockerfile: ci/ubuntu-22.04/Dockerfile
|
dockerfile: ci/ubuntu-22.04/Dockerfile
|
||||||
<< : *RESOURCES_TEMPLATE
|
<< : *RESOURCES_TEMPLATE
|
||||||
<< : *CI_TEMPLATE
|
<< : *ONLY_IF_PR_MASTER_RELEASE
|
||||||
|
<< : *SKIP_IF_PR_NOT_FULL_OR_BENCHMARK
|
||||||
env:
|
env:
|
||||||
ZEEK_CI_CREATE_ARTIFACT: 1
|
ZEEK_CI_CREATE_ARTIFACT: 1
|
||||||
upload_binary_artifacts:
|
upload_binary_artifacts:
|
||||||
path: build.tgz
|
path: build.tgz
|
||||||
benchmark_script: ./ci/benchmark.sh
|
benchmark_script: ./ci/benchmark.sh
|
||||||
# Run on PRs, merges to master and release/.* and benchmark-nightly cron.
|
|
||||||
only_if: >
|
|
||||||
( $CIRRUS_PR != '' && $CIRRUS_BRANCH !=~ 'dependabot/.*' ) ||
|
|
||||||
( ( $CIRRUS_REPO_NAME == 'zeek' || $CIRRUS_REPO_NAME == 'zeek-security' ) &&
|
|
||||||
$CIRRUS_BRANCH == 'master' ||
|
|
||||||
$CIRRUS_BRANCH =~ 'release/.*' ||
|
|
||||||
$CIRRUS_CRON == 'benchmark-nightly' )
|
|
||||||
|
|
||||||
# Also enable Spicy SSL for this
|
# Also enable Spicy SSL for this
|
||||||
ubuntu22_spicy_task:
|
ubuntu22_spicy_task:
|
||||||
|
@ -382,6 +435,8 @@ ubuntu22_spicy_task:
|
||||||
dockerfile: ci/ubuntu-22.04/Dockerfile
|
dockerfile: ci/ubuntu-22.04/Dockerfile
|
||||||
<< : *RESOURCES_TEMPLATE
|
<< : *RESOURCES_TEMPLATE
|
||||||
<< : *CI_TEMPLATE
|
<< : *CI_TEMPLATE
|
||||||
|
<< : *ONLY_IF_PR_MASTER_RELEASE
|
||||||
|
<< : *SKIP_IF_PR_NOT_FULL_OR_BENCHMARK
|
||||||
env:
|
env:
|
||||||
ZEEK_CI_CREATE_ARTIFACT: 1
|
ZEEK_CI_CREATE_ARTIFACT: 1
|
||||||
ZEEK_CI_CONFIGURE_FLAGS: *SPICY_SSL_CONFIG
|
ZEEK_CI_CONFIGURE_FLAGS: *SPICY_SSL_CONFIG
|
||||||
|
@ -389,7 +444,6 @@ ubuntu22_spicy_task:
|
||||||
upload_binary_artifacts:
|
upload_binary_artifacts:
|
||||||
path: build.tgz
|
path: build.tgz
|
||||||
benchmark_script: ./ci/benchmark.sh
|
benchmark_script: ./ci/benchmark.sh
|
||||||
<< : *BENCHMARK_ONLY_IF_TEMPLATE
|
|
||||||
|
|
||||||
ubuntu22_spicy_head_task:
|
ubuntu22_spicy_head_task:
|
||||||
container:
|
container:
|
||||||
|
@ -397,6 +451,8 @@ ubuntu22_spicy_head_task:
|
||||||
dockerfile: ci/ubuntu-22.04/Dockerfile
|
dockerfile: ci/ubuntu-22.04/Dockerfile
|
||||||
<< : *RESOURCES_TEMPLATE
|
<< : *RESOURCES_TEMPLATE
|
||||||
<< : *CI_TEMPLATE
|
<< : *CI_TEMPLATE
|
||||||
|
<< : *ONLY_IF_PR_MASTER_RELEASE_NIGHTLY
|
||||||
|
<< : *SKIP_IF_PR_NOT_FULL_OR_BENCHMARK
|
||||||
env:
|
env:
|
||||||
ZEEK_CI_CREATE_ARTIFACT: 1
|
ZEEK_CI_CREATE_ARTIFACT: 1
|
||||||
ZEEK_CI_CONFIGURE_FLAGS: *SPICY_SSL_CONFIG
|
ZEEK_CI_CONFIGURE_FLAGS: *SPICY_SSL_CONFIG
|
||||||
|
@ -406,10 +462,6 @@ ubuntu22_spicy_head_task:
|
||||||
upload_binary_artifacts:
|
upload_binary_artifacts:
|
||||||
path: build.tgz
|
path: build.tgz
|
||||||
benchmark_script: ./ci/benchmark.sh
|
benchmark_script: ./ci/benchmark.sh
|
||||||
# Don't run this job on release branches. It tests against spicy HEAD, which
|
|
||||||
# will frequently require other fixes that won't be in a release branch.
|
|
||||||
skip: $CIRRUS_BRANCH =~ 'release/.*'
|
|
||||||
<< : *BENCHMARK_ONLY_IF_TEMPLATE
|
|
||||||
|
|
||||||
alpine_task:
|
alpine_task:
|
||||||
container:
|
container:
|
||||||
|
@ -419,6 +471,8 @@ alpine_task:
|
||||||
dockerfile: ci/alpine/Dockerfile
|
dockerfile: ci/alpine/Dockerfile
|
||||||
<< : *RESOURCES_TEMPLATE
|
<< : *RESOURCES_TEMPLATE
|
||||||
<< : *CI_TEMPLATE
|
<< : *CI_TEMPLATE
|
||||||
|
<< : *ONLY_IF_PR_MASTER_RELEASE
|
||||||
|
<< : *SKIP_IF_PR_NOT_FULL_CI
|
||||||
|
|
||||||
# Cirrus only supports the following macos runner currently, selecting
|
# Cirrus only supports the following macos runner currently, selecting
|
||||||
# anything else automatically upgrades to this one.
|
# anything else automatically upgrades to this one.
|
||||||
|
@ -431,6 +485,8 @@ macos_sequoia_task:
|
||||||
image: ghcr.io/cirruslabs/macos-runner:sequoia
|
image: ghcr.io/cirruslabs/macos-runner:sequoia
|
||||||
prepare_script: ./ci/macos/prepare.sh
|
prepare_script: ./ci/macos/prepare.sh
|
||||||
<< : *CI_TEMPLATE
|
<< : *CI_TEMPLATE
|
||||||
|
<< : *ONLY_IF_PR_MASTER_RELEASE
|
||||||
|
<< : *SKIP_IF_PR_SKIP_ALL
|
||||||
<< : *MACOS_ENVIRONMENT
|
<< : *MACOS_ENVIRONMENT
|
||||||
|
|
||||||
# FreeBSD EOL timelines: https://www.freebsd.org/security/#sup
|
# FreeBSD EOL timelines: https://www.freebsd.org/security/#sup
|
||||||
|
@ -442,6 +498,8 @@ freebsd14_task:
|
||||||
|
|
||||||
prepare_script: ./ci/freebsd/prepare.sh
|
prepare_script: ./ci/freebsd/prepare.sh
|
||||||
<< : *CI_TEMPLATE
|
<< : *CI_TEMPLATE
|
||||||
|
<< : *ONLY_IF_PR_MASTER_RELEASE
|
||||||
|
<< : *SKIP_IF_PR_SKIP_ALL
|
||||||
<< : *FREEBSD_ENVIRONMENT
|
<< : *FREEBSD_ENVIRONMENT
|
||||||
|
|
||||||
freebsd13_task:
|
freebsd13_task:
|
||||||
|
@ -452,7 +510,8 @@ freebsd13_task:
|
||||||
|
|
||||||
prepare_script: ./ci/freebsd/prepare.sh
|
prepare_script: ./ci/freebsd/prepare.sh
|
||||||
<< : *CI_TEMPLATE
|
<< : *CI_TEMPLATE
|
||||||
<< : *SKIP_TASK_ON_PR
|
<< : *ONLY_IF_PR_MASTER_RELEASE
|
||||||
|
<< : *SKIP_IF_PR_NOT_FULL_CI
|
||||||
<< : *FREEBSD_ENVIRONMENT
|
<< : *FREEBSD_ENVIRONMENT
|
||||||
|
|
||||||
asan_sanitizer_task:
|
asan_sanitizer_task:
|
||||||
|
@ -462,6 +521,8 @@ asan_sanitizer_task:
|
||||||
<< : *RESOURCES_TEMPLATE
|
<< : *RESOURCES_TEMPLATE
|
||||||
|
|
||||||
<< : *CI_TEMPLATE
|
<< : *CI_TEMPLATE
|
||||||
|
<< : *ONLY_IF_PR_MASTER_RELEASE
|
||||||
|
<< : *SKIP_IF_PR_SKIP_ALL
|
||||||
test_fuzzers_script: ./ci/test-fuzzers.sh
|
test_fuzzers_script: ./ci/test-fuzzers.sh
|
||||||
coverage_script: ./ci/upload-coverage.sh
|
coverage_script: ./ci/upload-coverage.sh
|
||||||
env:
|
env:
|
||||||
|
@ -478,6 +539,8 @@ asan_sanitizer_zam_task:
|
||||||
<< : *RESOURCES_TEMPLATE
|
<< : *RESOURCES_TEMPLATE
|
||||||
|
|
||||||
<< : *CI_TEMPLATE
|
<< : *CI_TEMPLATE
|
||||||
|
<< : *ONLY_IF_PR_NIGHTLY
|
||||||
|
<< : *SKIP_IF_PR_NOT_FULL_OR_ZAM
|
||||||
env:
|
env:
|
||||||
ZEEK_CI_CONFIGURE_FLAGS: *ASAN_SANITIZER_CONFIG
|
ZEEK_CI_CONFIGURE_FLAGS: *ASAN_SANITIZER_CONFIG
|
||||||
ASAN_OPTIONS: detect_leaks=1:detect_odr_violation=0
|
ASAN_OPTIONS: detect_leaks=1:detect_odr_violation=0
|
||||||
|
@ -486,7 +549,6 @@ asan_sanitizer_zam_task:
|
||||||
ZEEK_CI_BTEST_EXTRA_ARGS: -a zam
|
ZEEK_CI_BTEST_EXTRA_ARGS: -a zam
|
||||||
# Use a lower number of jobs due to OOM issues with ZAM tasks
|
# Use a lower number of jobs due to OOM issues with ZAM tasks
|
||||||
ZEEK_CI_BTEST_JOBS: 3
|
ZEEK_CI_BTEST_JOBS: 3
|
||||||
<< : *ZAM_SKIP_TASK_ON_PR
|
|
||||||
|
|
||||||
ubsan_sanitizer_task:
|
ubsan_sanitizer_task:
|
||||||
container:
|
container:
|
||||||
|
@ -495,7 +557,8 @@ ubsan_sanitizer_task:
|
||||||
<< : *RESOURCES_TEMPLATE
|
<< : *RESOURCES_TEMPLATE
|
||||||
|
|
||||||
<< : *CI_TEMPLATE
|
<< : *CI_TEMPLATE
|
||||||
<< : *SKIP_TASK_ON_PR
|
<< : *ONLY_IF_PR_NIGHTLY
|
||||||
|
<< : *SKIP_IF_PR_NOT_FULL_CI
|
||||||
test_fuzzers_script: ./ci/test-fuzzers.sh
|
test_fuzzers_script: ./ci/test-fuzzers.sh
|
||||||
env:
|
env:
|
||||||
CC: clang-19
|
CC: clang-19
|
||||||
|
@ -511,6 +574,8 @@ ubsan_sanitizer_zam_task:
|
||||||
<< : *RESOURCES_TEMPLATE
|
<< : *RESOURCES_TEMPLATE
|
||||||
|
|
||||||
<< : *CI_TEMPLATE
|
<< : *CI_TEMPLATE
|
||||||
|
<< : *ONLY_IF_PR_NIGHTLY
|
||||||
|
<< : *SKIP_IF_PR_NOT_FULL_OR_ZAM
|
||||||
env:
|
env:
|
||||||
CC: clang-19
|
CC: clang-19
|
||||||
CXX: clang++-19
|
CXX: clang++-19
|
||||||
|
@ -522,7 +587,6 @@ ubsan_sanitizer_zam_task:
|
||||||
ZEEK_CI_BTEST_EXTRA_ARGS: -a zam
|
ZEEK_CI_BTEST_EXTRA_ARGS: -a zam
|
||||||
# Use a lower number of jobs due to OOM issues with ZAM tasks
|
# Use a lower number of jobs due to OOM issues with ZAM tasks
|
||||||
ZEEK_CI_BTEST_JOBS: 3
|
ZEEK_CI_BTEST_JOBS: 3
|
||||||
<< : *ZAM_SKIP_TASK_ON_PR
|
|
||||||
|
|
||||||
tsan_sanitizer_task:
|
tsan_sanitizer_task:
|
||||||
container:
|
container:
|
||||||
|
@ -531,7 +595,8 @@ tsan_sanitizer_task:
|
||||||
<< : *RESOURCES_TEMPLATE
|
<< : *RESOURCES_TEMPLATE
|
||||||
|
|
||||||
<< : *CI_TEMPLATE
|
<< : *CI_TEMPLATE
|
||||||
<< : *SKIP_TASK_ON_PR
|
<< : *ONLY_IF_PR_NIGHTLY
|
||||||
|
<< : *SKIP_IF_PR_NOT_FULL_CI
|
||||||
env:
|
env:
|
||||||
CC: clang-19
|
CC: clang-19
|
||||||
CXX: clang++-19
|
CXX: clang++-19
|
||||||
|
@ -555,13 +620,12 @@ windows_task:
|
||||||
prepare_script: ci/windows/prepare.cmd
|
prepare_script: ci/windows/prepare.cmd
|
||||||
build_script: ci/windows/build.cmd
|
build_script: ci/windows/build.cmd
|
||||||
test_script: ci/windows/test.cmd
|
test_script: ci/windows/test.cmd
|
||||||
|
<< : *ONLY_IF_PR_MASTER_RELEASE
|
||||||
|
<< : *SKIP_IF_PR_NOT_FULL_CI
|
||||||
env:
|
env:
|
||||||
ZEEK_CI_CPUS: 8
|
ZEEK_CI_CPUS: 8
|
||||||
# Give verbose error output on a test failure.
|
# Give verbose error output on a test failure.
|
||||||
CTEST_OUTPUT_ON_FAILURE: 1
|
CTEST_OUTPUT_ON_FAILURE: 1
|
||||||
<< : *BUILDS_ONLY_IF_TEMPLATE
|
|
||||||
skip: >
|
|
||||||
$CIRRUS_PR != '' && $CIRRUS_PR_LABELS =~ '.*CI: Skip All.*'
|
|
||||||
|
|
||||||
|
|
||||||
# Container images
|
# Container images
|
||||||
|
@ -642,22 +706,18 @@ arm64_container_image_docker_builder:
|
||||||
env:
|
env:
|
||||||
CIRRUS_ARCH: arm64
|
CIRRUS_ARCH: arm64
|
||||||
<< : *DOCKER_BUILD_TEMPLATE
|
<< : *DOCKER_BUILD_TEMPLATE
|
||||||
<< : *SKIP_TASK_ON_PR
|
<< : *ONLY_IF_RELEASE_TAG_NIGHTLY
|
||||||
|
|
||||||
amd64_container_image_docker_builder:
|
amd64_container_image_docker_builder:
|
||||||
env:
|
env:
|
||||||
CIRRUS_ARCH: amd64
|
CIRRUS_ARCH: amd64
|
||||||
<< : *DOCKER_BUILD_TEMPLATE
|
<< : *DOCKER_BUILD_TEMPLATE
|
||||||
<< : *SKIP_CLUSTER_TEST_ON_PR
|
<< : *ONLY_IF_PR_MASTER_RELEASE_NIGHTLY
|
||||||
|
<< : *SKIP_IF_PR_NOT_FULL_OR_CLUSTER_TEST
|
||||||
|
|
||||||
container_image_manifest_docker_builder:
|
container_image_manifest_docker_builder:
|
||||||
cpu: 1
|
cpu: 1
|
||||||
# Push master builds to zeek/zeek-dev, or tagged release branches to zeek/zeek
|
<< : *ONLY_IF_RELEASE_TAG_NIGHTLY
|
||||||
only_if: >
|
|
||||||
( $CIRRUS_CRON == '' ) &&
|
|
||||||
( $CIRRUS_REPO_FULL_NAME == 'zeek/zeek' &&
|
|
||||||
( $CIRRUS_BRANCH == 'master' ||
|
|
||||||
$CIRRUS_TAG =~ 'v[0-9]+\.[0-9]+\.[0-9]+(-rc[0-9]+)?$' ) )
|
|
||||||
env:
|
env:
|
||||||
DOCKER_USERNAME: ENCRYPTED[!505b3dee552a395730a7e79e6aab280ffbe1b84ec62ae7616774dfefe104e34f896d2e20ce3ad701f338987c13c33533!]
|
DOCKER_USERNAME: ENCRYPTED[!505b3dee552a395730a7e79e6aab280ffbe1b84ec62ae7616774dfefe104e34f896d2e20ce3ad701f338987c13c33533!]
|
||||||
DOCKER_PASSWORD: ENCRYPTED[!6c4b2f6f0e5379ef1091719cc5d2d74c90cfd2665ac786942033d6d924597ffb95dbbc1df45a30cc9ddeec76c07ac620!]
|
DOCKER_PASSWORD: ENCRYPTED[!6c4b2f6f0e5379ef1091719cc5d2d74c90cfd2665ac786942033d6d924597ffb95dbbc1df45a30cc9ddeec76c07ac620!]
|
||||||
|
@ -736,8 +796,7 @@ container_image_manifest_docker_builder:
|
||||||
# images from the public ECR repository to stay within free-tier bounds.
|
# images from the public ECR repository to stay within free-tier bounds.
|
||||||
public_ecr_cleanup_docker_builder:
|
public_ecr_cleanup_docker_builder:
|
||||||
cpu: 1
|
cpu: 1
|
||||||
only_if: >
|
<< : *ONLY_IF_NIGHTLY
|
||||||
$CIRRUS_CRON == '' && $CIRRUS_REPO_FULL_NAME == 'zeek/zeek' && $CIRRUS_BRANCH == 'master'
|
|
||||||
env:
|
env:
|
||||||
AWS_ACCESS_KEY_ID: ENCRYPTED[!eff52f6442e1bc78bce5b15a23546344df41bf519f6201924cb70c7af12db23f442c0e5f2b3687c2d856ceb11fcb8c49!]
|
AWS_ACCESS_KEY_ID: ENCRYPTED[!eff52f6442e1bc78bce5b15a23546344df41bf519f6201924cb70c7af12db23f442c0e5f2b3687c2d856ceb11fcb8c49!]
|
||||||
AWS_SECRET_ACCESS_KEY: ENCRYPTED[!748bc302dd196140a5fa8e89c9efd148882dc846d4e723787d2de152eb136fa98e8dea7e6d2d6779d94f72dd3c088228!]
|
AWS_SECRET_ACCESS_KEY: ENCRYPTED[!748bc302dd196140a5fa8e89c9efd148882dc846d4e723787d2de152eb136fa98e8dea7e6d2d6779d94f72dd3c088228!]
|
||||||
|
@ -777,7 +836,8 @@ cluster_testing_docker_builder:
|
||||||
path: "testing/external/zeek-testing-cluster/.tmp/**"
|
path: "testing/external/zeek-testing-cluster/.tmp/**"
|
||||||
depends_on:
|
depends_on:
|
||||||
- amd64_container_image
|
- amd64_container_image
|
||||||
<< : *SKIP_CLUSTER_TEST_ON_PR
|
<< : *ONLY_IF_PR_RELEASE_AND_NIGHTLY
|
||||||
|
<< : *SKIP_IF_PR_NOT_FULL_OR_CLUSTER_TEST
|
||||||
|
|
||||||
|
|
||||||
# Test zeekctl upon master and release pushes and also when
|
# Test zeekctl upon master and release pushes and also when
|
||||||
|
@ -788,13 +848,8 @@ cluster_testing_docker_builder:
|
||||||
zeekctl_debian12_task:
|
zeekctl_debian12_task:
|
||||||
cpu: *CPUS
|
cpu: *CPUS
|
||||||
memory: *MEMORY
|
memory: *MEMORY
|
||||||
only_if: >
|
<< : *ONLY_IF_PR_MASTER_RELEASE
|
||||||
( $CIRRUS_CRON == 'zeekctl-nightly' ) ||
|
<< : *SKIP_IF_PR_NOT_FULL_OR_ZEEKCTL
|
||||||
( $CIRRUS_PR != '' && $CIRRUS_PR_LABELS =~ '.*CI: (Zeekctl|Full).*' ) ||
|
|
||||||
( $CIRRUS_REPO_NAME == 'zeek' && (
|
|
||||||
$CIRRUS_BRANCH == 'master' ||
|
|
||||||
$CIRRUS_BRANCH =~ 'release/.*' )
|
|
||||||
)
|
|
||||||
container:
|
container:
|
||||||
# Debian 13 (trixie) EOL: TBD
|
# Debian 13 (trixie) EOL: TBD
|
||||||
dockerfile: ci/debian-13/Dockerfile
|
dockerfile: ci/debian-13/Dockerfile
|
||||||
|
@ -852,5 +907,5 @@ include_plugins_debian12_task:
|
||||||
on_failure:
|
on_failure:
|
||||||
upload_include_plugins_testing_artifacts:
|
upload_include_plugins_testing_artifacts:
|
||||||
path: "testing/builtin-plugins/.tmp/**"
|
path: "testing/builtin-plugins/.tmp/**"
|
||||||
<< : *BUILDS_ONLY_IF_TEMPLATE
|
<< : *ONLY_IF_PR_MASTER_RELEASE
|
||||||
<< : *SKIP_TASK_ON_PR
|
<< : *SKIP_IF_PR_NOT_FULL_CI
|
||||||
|
|
4
CHANGES
4
CHANGES
|
@ -1,3 +1,7 @@
|
||||||
|
8.1.0-dev.461 | 2025-08-26 14:39:50 -0700
|
||||||
|
|
||||||
|
* CI: Rework layout of when each task runs (Tim Wojtulewicz, Corelight)
|
||||||
|
|
||||||
8.1.0-dev.459 | 2025-08-26 08:59:20 -0700
|
8.1.0-dev.459 | 2025-08-26 08:59:20 -0700
|
||||||
|
|
||||||
* Fix installation of symlink with `DESTDIR` (Benjamin Bannier, Corelight)
|
* Fix installation of symlink with `DESTDIR` (Benjamin Bannier, Corelight)
|
||||||
|
|
2
VERSION
2
VERSION
|
@ -1 +1 @@
|
||||||
8.1.0-dev.459
|
8.1.0-dev.461
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue