diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index b0e8977445..baf4ac1c95 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -59,11 +59,11 @@ variables: # # This is done by running `ci-fairy generate-template` and possibly bumping # ".default_tag". - ALPINE_TAG: 'tag-75ecbb5bcef4' - CENTOS_TAG: 'tag-0de3c2e2d9ed' - DEBIAN_TAG: 'tag-1ccef04c657b' - FEDORA_TAG: 'tag-0de3c2e2d9ed' - UBUNTU_TAG: 'tag-1ccef04c657b' + ALPINE_TAG: 'tag-4cf5505b3b7d' + CENTOS_TAG: 'tag-f78e39f6e045' + DEBIAN_TAG: 'tag-f7bdc50d0819' + FEDORA_TAG: 'tag-f78e39f6e045' + UBUNTU_TAG: 'tag-f7bdc50d0819' ALPINE_EXEC: 'bash .gitlab-ci/alpine-install.sh' CENTOS_EXEC: 'bash .gitlab-ci/fedora-install.sh' @@ -111,19 +111,7 @@ tier1:fedora:40@prep: rules: - if: $CI_PIPELINE_SOURCE != 'schedule' -tier1:fedora:rawhide@prep: - extends: - - .fdo.container-build@fedora - stage: prep - variables: - GIT_STRATEGY: none - FDO_DISTRIBUTION_VERSION: 'rawhide' - FDO_DISTRIBUTION_TAG: $FEDORA_TAG - FDO_DISTRIBUTION_EXEC: $FEDORA_EXEC - rules: - - if: $CI_PIPELINE_SOURCE != 'schedule' - -tier1:centos:stream9@prep: +tier2:centos:stream9@prep: extends: - .fdo.container-build@centos stage: prep @@ -134,6 +122,22 @@ tier1:centos:stream9@prep: FDO_DISTRIBUTION_EXEC: $CENTOS_EXEC rules: - if: $CI_PIPELINE_SOURCE != 'schedule' + when: manual + allow_failure: true + +tier2:fedora:rawhide@prep: + extends: + - .fdo.container-build@fedora + stage: prep + variables: + GIT_STRATEGY: none + FDO_DISTRIBUTION_VERSION: 'rawhide' + FDO_DISTRIBUTION_TAG: $FEDORA_TAG + FDO_DISTRIBUTION_EXEC: $FEDORA_EXEC + rules: + - if: $CI_PIPELINE_SOURCE != 'schedule' + when: manual + allow_failure: true tier2:debian:sid@prep: extends: @@ -342,13 +346,9 @@ t_fedora:40: parallel: matrix: - NM_TEST_SELECT_RUN: - - autotools+gcc+docs+valgrind - meson+gcc+docs+valgrind - - autotools+clang - meson+clang - - rpm+autotools - rpm+meson - - tarball+autotools - tarball+meson - tarball - subtree @@ -360,57 +360,31 @@ t_fedora:40: rules: - if: $CI_PIPELINE_SOURCE != 'schedule' -t_fedora:rawhide: - extends: - - .build@template - - .fdo.distribution-image@fedora - - .nm_artifacts - stage: tier1 - parallel: - matrix: - - NM_TEST_SELECT_RUN: - - autotools+gcc+docs+valgrind - - meson+gcc+docs+valgrind - - autotools+clang - - meson+clang - - rpm+autotools - - rpm+meson - - tarball+autotools - - tarball+meson - - tarball - - subtree - variables: - FDO_DISTRIBUTION_VERSION: 'rawhide' - FDO_DISTRIBUTION_TAG: $FEDORA_TAG - needs: - - "tier1:fedora:rawhide@prep" - rules: - - if: $CI_PIPELINE_SOURCE != 'schedule' - t_centos:stream9: extends: - .build@template - .fdo.distribution-image@centos - .nm_artifacts_debug - stage: tier1 - parallel: - matrix: - - NM_TEST_SELECT_RUN: - - autotools+gcc+docs+valgrind - - meson+gcc+docs+valgrind - - autotools+clang - - meson+clang - - rpm+autotools - - rpm+meson - - tarball+autotools - - tarball+meson - - tarball - - subtree + stage: tier2 variables: FDO_DISTRIBUTION_VERSION: 'stream9' FDO_DISTRIBUTION_TAG: $CENTOS_TAG needs: - - "tier1:centos:stream9@prep" + - "tier2:centos:stream9@prep" + rules: + - if: $CI_PIPELINE_SOURCE != 'schedule' + +t_fedora:rawhide: + extends: + - .build@template + - .fdo.distribution-image@fedora + - .nm_artifacts_debug + stage: tier2 + variables: + FDO_DISTRIBUTION_VERSION: 'rawhide' + FDO_DISTRIBUTION_TAG: $FEDORA_TAG + needs: + - "tier2:fedora:rawhide@prep" rules: - if: $CI_PIPELINE_SOURCE != 'schedule' @@ -650,9 +624,9 @@ pages: when: never - if: $CI_MERGE_REQUEST_SOURCE_BRANCH_NAME == 'main' dependencies: - - "t_fedora:40: [autotools+gcc+docs+valgrind]" + - "t_fedora:40: [meson+gcc+docs+valgrind]" needs: - - "t_fedora:40: [autotools+gcc+docs+valgrind]" + - "t_fedora:40: [meson+gcc+docs+valgrind]" # triage:issues: # stage: triage diff --git a/.gitlab-ci/ci.template b/.gitlab-ci/ci.template index 85b3601850..c6776406e3 100644 --- a/.gitlab-ci/ci.template +++ b/.gitlab-ci/ci.template @@ -156,13 +156,9 @@ t_{{distro.name}}:{{version}}: parallel: matrix: - NM_TEST_SELECT_RUN: - - autotools+gcc+docs+valgrind - meson+gcc+docs+valgrind - - autotools+clang - meson+clang - - rpm+autotools - rpm+meson - - tarball+autotools - tarball+meson - tarball - subtree @@ -237,9 +233,9 @@ pages: when: never - if: $CI_MERGE_REQUEST_SOURCE_BRANCH_NAME == 'main' dependencies: - - "t_{{default_distro.name}}:{{default_distro.versions[0]}}: [autotools+gcc+docs+valgrind]" + - "t_{{default_distro.name}}:{{default_distro.versions[0]}}: [meson+gcc+docs+valgrind]" needs: - - "t_{{default_distro.name}}:{{default_distro.versions[0]}}: [autotools+gcc+docs+valgrind]" + - "t_{{default_distro.name}}:{{default_distro.versions[0]}}: [meson+gcc+docs+valgrind]" # triage:issues: # stage: triage diff --git a/.gitlab-ci/config.yml b/.gitlab-ci/config.yml index 4e97ecf187..c0f3538342 100644 --- a/.gitlab-ci/config.yml +++ b/.gitlab-ci/config.yml @@ -24,14 +24,17 @@ distributions: tier: 1 versions: - '40' - - rawhide - - name: centos - tier: 1 - versions: - - 'stream9' # TIER 2: distribution versions that will or might use the current NM version. # Run when doing a release. + - name: centos + tier: 2 + versions: + - 'stream9' + - name: fedora + tier: 2 + versions: + - rawhide - name: debian tier: 2 versions: diff --git a/.gitlab-ci/run-test.sh b/.gitlab-ci/run-test.sh index d97163b63d..4091cdd40a 100755 --- a/.gitlab-ci/run-test.sh +++ b/.gitlab-ci/run-test.sh @@ -57,13 +57,9 @@ check_run_assert() { # These are the supported $NM_TEST_SELECT_RUN values. local _CHECK_RUN_LIST=( - autotools+gcc+docs+valgrind meson+gcc+docs+valgrind - autotools+clang meson+clang - rpm+autotools rpm+meson - tarball+autotools tarball+meson tarball subtree @@ -110,17 +106,13 @@ check_run_clean() { return 0 } -if check_run_clean autotools+gcc+docs+valgrind ; then - BUILD_TYPE=autotools CC=gcc WITH_DOCS=1 WITH_VALGRIND=1 contrib/scripts/nm-ci-run.sh - mv build/INST/share/gtk-doc/html "$ARTIFACT_DIR/docs-html" +if check_run_clean meson+gcc+docs+valgrind ; then + BUILD_TYPE=meson CC=gcc WITH_DOCS=1 WITH_VALGRIND=1 contrib/scripts/nm-ci-run.sh + mv INST/share/gtk-doc/html "$ARTIFACT_DIR/docs-html" fi -check_run_clean meson+gcc+docs+valgrind && BUILD_TYPE=meson CC=gcc WITH_DOCS=1 WITH_VALGRIND=1 contrib/scripts/nm-ci-run.sh -check_run_clean autotools+clang && BUILD_TYPE=autotools CC=clang WITH_DOCS=0 contrib/scripts/nm-ci-run.sh -check_run_clean meson+clang && BUILD_TYPE=meson CC=clang WITH_DOCS=0 contrib/scripts/nm-ci-run.sh - -check_run_clean rpm+autotools && test $IS_FEDORA = 1 -o $IS_CENTOS = 1 && ./contrib/fedora/rpm/build_clean.sh -g -w crypto_gnutls -w debug -w iwd -w test -W meson -check_run_clean rpm+meson && test $IS_FEDORA = 1 && ./contrib/fedora/rpm/build_clean.sh -g -w crypto_gnutls -w debug -w iwd -w test -w meson +check_run_clean meson+clang && BUILD_TYPE=meson CC=clang WITH_DOCS=0 contrib/scripts/nm-ci-run.sh +check_run_clean rpm+meson && test $IS_FEDORA = 1 && ./contrib/fedora/rpm/build_clean.sh -g -w crypto_gnutls -w debug -w iwd -w test -w meson if check_run_clean tarball && [ "$NM_BUILD_TARBALL" = 1 ]; then SIGN_SOURCE=0 ./contrib/fedora/rpm/build_clean.sh -r @@ -129,41 +121,7 @@ if check_run_clean tarball && [ "$NM_BUILD_TARBALL" = 1 ]; then do_clean fi -if check_run_clean tarball+autotools; then - BUILD_TYPE=autotools CC=gcc WITH_DOCS=1 CONFIGURE_ONLY=1 contrib/scripts/nm-ci-run.sh - pushd ./build - # dist & build with autotools - make distcheck -j$(nproc) - - # build with meson - DISTSRC="./distsrc-$RANDOM" - mkdir $DISTSRC - tar xvf ./NetworkManager-1*.tar.xz -C $DISTSRC --strip-components=1 - pushd $DISTSRC - BUILD_TYPE=meson CC=gcc WITH_DOCS=1 ../../contrib/scripts/nm-ci-run.sh - popd - popd - do_clean -fi - -if check_run_clean tarball+meson; then - BUILD_TYPE=meson CC=gcc WITH_DOCS=1 CONFIGURE_ONLY=1 contrib/scripts/nm-ci-run.sh - pushd ./build - # dist with meson/ninja - ninja dist - - # build with autotools - DISTSRC="./distsrc-$RANDOM" - mkdir $DISTSRC - tar xvf ./meson-dist/NetworkManager-1*.tar.xz -C $DISTSRC --strip-components=1 - pushd $DISTSRC - BUILD_TYPE=autotools CC=gcc WITH_DOCS=1 ../../contrib/scripts/nm-ci-run.sh - popd - rm -rf $DISTSRC - popd - do_clean -fi - +check_run_clean tarball+meson && BUILD_TYPE=meson CC=gcc WITH_DOCS=1 CONFIGURE_ONLY=1 contrib/scripts/nm-ci-run.sh ############################################################################### @@ -202,7 +160,7 @@ fi if [ "$NM_BUILD_TARBALL" = 1 ]; then do_clean - if check_run autotools+gcc+docs+valgrind ; then + if check_run meson+gcc+docs+valgrind ; then mv "$ARTIFACT_DIR/docs-html/" ./ fi if check_run tarball ; then