From 0714fe6f40456bc6cfb6797f39d592a718670db6 Mon Sep 17 00:00:00 2001 From: Michal Nowak Date: Wed, 17 Mar 2021 17:19:47 +0100 Subject: [PATCH 1/4] Add FreeBSD 13.0 --- .gitlab-ci.yml | 31 +++++++++++++++++++++++++++++++ PLATFORMS.md | 2 +- 2 files changed, 32 insertions(+), 1 deletion(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 4143d4832b..7caeb8ac30 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -173,6 +173,10 @@ stages: image: "freebsd-12.2-x86_64" <<: *libvirt_amd64 +.freebsd-13-amd64: &freebsd_13_amd64_image + image: "freebsd-13.0-x86_64" + <<: *libvirt_amd64 + .openbsd-amd64: &openbsd_amd64_image image: "openbsd-6.9-x86_64" <<: *libvirt_amd64 @@ -1157,6 +1161,33 @@ unit:clang:freebsd12:amd64: - job: clang:freebsd12:amd64 artifacts: true +# Jobs for Clang builds on FreeBSD 13 (amd64) + +clang:freebsd13:amd64: + variables: + CFLAGS: "${CFLAGS_COMMON}" + EXTRA_CONFIGURE: "${WITH_READLINE_LIBEDIT}" + USER: gitlab-runner + <<: *freebsd_13_amd64_image + <<: *build_job + +system:clang:freebsd13:amd64: + <<: *freebsd_13_amd64_image + <<: *system_test_job + variables: + USER: gitlab-runner + TEST_PARALLEL_JOBS: 4 + needs: + - job: clang:freebsd13:amd64 + artifacts: true + +unit:clang:freebsd13:amd64: + <<: *freebsd_13_amd64_image + <<: *unit_test_job + needs: + - job: clang:freebsd13:amd64 + artifacts: true + # Jobs for Clang builds on OpenBSD (amd64) clang:openbsd:amd64: diff --git a/PLATFORMS.md b/PLATFORMS.md index 6276a34e31..6130167a03 100644 --- a/PLATFORMS.md +++ b/PLATFORMS.md @@ -49,7 +49,7 @@ following systems: * Ubuntu LTS 16.04, 20.04 * Fedora 33 * Red Hat Enterprise Linux / CentOS 7, 8 -* FreeBSD 11.4, 12.2 +* FreeBSD 11.4, 12.2, 13.0 * OpenBSD 6.9 * Alpine Linux 3.13 From e4f88c359c85c2f084901289e3406c80674368ff Mon Sep 17 00:00:00 2001 From: Michal Nowak Date: Thu, 20 May 2021 10:56:12 +0200 Subject: [PATCH 2/4] Create an anchor for schedules, tags, and web rules It's a common pattern to spawn CI jobs only for pipelines triggered by schedules, tags, and web. There should be an anchor so that the rules are not repeated. --- .gitlab-ci.yml | 41 +++++++++++++---------------------------- 1 file changed, 13 insertions(+), 28 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 7caeb8ac30..1ad638a9c9 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -199,6 +199,12 @@ stages: - main@isc-projects/bind9 - /^v9_[1-9][0-9]$/@isc-projects/bind9 +.schedules-tags-web-triggering-rules: &schedules_tags_web_triggering_rules + only: + - schedules + - tags + - web + .precheck: &precheck_job <<: *default_triggering_rules <<: *base_image @@ -357,6 +363,7 @@ stages: when: on_failure .windows_system_test: &windows_system_test_job + <<: *schedules_tags_web_triggering_rules stage: system script: - 'Push-Location bin/tests/system' @@ -372,10 +379,6 @@ stages: untracked: true expire_in: "1 day" when: on_failure - only: - - schedules - - tags - - web .unit_test_common: &unit_test_common <<: *default_triggering_rules @@ -786,10 +789,7 @@ system:gcc:out-of-tree: artifacts: true <<: *base_image <<: *system_test_job - only: - - schedules - - tags - - web + <<: *schedules_tags_web_triggering_rules unit:gcc:out-of-tree: variables: @@ -799,10 +799,7 @@ unit:gcc:out-of-tree: artifacts: true <<: *base_image <<: *unit_test_job - only: - - schedules - - tags - - web + <<: *schedules_tags_web_triggering_rules # Jobs for tarball GCC builds on Debian 10 "buster" (amd64) @@ -813,6 +810,7 @@ gcc:tarball: RUN_MAKE_INSTALL: 1 <<: *base_image <<: *build_job + <<: *schedules_tags_web_triggering_rules before_script: - tar --extract --file bind-*.tar.${TARBALL_EXTENSION} - rm -f bind-*.tar.${TARBALL_EXTENSION} @@ -820,37 +818,27 @@ gcc:tarball: needs: - job: tarball-create artifacts: true - only: - - schedules - - tags - - web system:gcc:tarball: <<: *base_image <<: *system_test_job + <<: *schedules_tags_web_triggering_rules before_script: - cd bind-* - *setup_interfaces needs: - job: gcc:tarball artifacts: true - only: - - schedules - - tags - - web unit:gcc:tarball: <<: *base_image <<: *unit_test_job + <<: *schedules_tags_web_triggering_rules before_script: - cd bind-* needs: - job: gcc:tarball artifacts: true - only: - - schedules - - tags - - web # Jobs for debug GCC builds on openSUSE Tumbleweed (amd64) @@ -1242,12 +1230,9 @@ system:msvc:windows:amd64: msvc-debug:windows:amd64: <<: *windows_server_2016_amd64_image <<: *windows_build_job + <<: *schedules_tags_web_triggering_rules variables: VSCONF: Debug - only: - - schedules - - tags - - web system:msvc-debug:windows:amd64: <<: *windows_server_2016_amd64_image From 70eccd29526cbfab7b3032072dddbe37201ed254 Mon Sep 17 00:00:00 2001 From: Michal Nowak Date: Thu, 20 May 2021 11:06:48 +0200 Subject: [PATCH 3/4] Do not spawn FreeBSD 11 CI jobs in merge requests --- .gitlab-ci.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 1ad638a9c9..68efe8ea82 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -1104,10 +1104,12 @@ clang:freebsd11:amd64: USER: gitlab-runner <<: *freebsd_11_amd64_image <<: *build_job + <<: *schedules_tags_web_triggering_rules system:clang:freebsd11:amd64: <<: *freebsd_11_amd64_image <<: *system_test_job + <<: *schedules_tags_web_triggering_rules variables: USER: gitlab-runner TEST_PARALLEL_JOBS: 4 @@ -1118,6 +1120,7 @@ system:clang:freebsd11:amd64: unit:clang:freebsd11:amd64: <<: *freebsd_11_amd64_image <<: *unit_test_job + <<: *schedules_tags_web_triggering_rules needs: - job: clang:freebsd11:amd64 artifacts: true From 83617cea9a7ac4b877b0874d041d21d80eb36fac Mon Sep 17 00:00:00 2001 From: Michal Nowak Date: Thu, 20 May 2021 18:00:28 +0200 Subject: [PATCH 4/4] Run gcc:tarball CI job for merge requests Running gcc:tarball CI job for merge requests is consistent with how we run gcc:out-of-tree CI job and should help identify problems with the build system during the review process, not once merged during daily runs. For the sake of time, unit and system tests associated with the gcc:tarball CI job are excluded from merge requests. --- .gitlab-ci.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 68efe8ea82..13cf945c9b 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -810,7 +810,6 @@ gcc:tarball: RUN_MAKE_INSTALL: 1 <<: *base_image <<: *build_job - <<: *schedules_tags_web_triggering_rules before_script: - tar --extract --file bind-*.tar.${TARBALL_EXTENSION} - rm -f bind-*.tar.${TARBALL_EXTENSION}