diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index a8693964216e616ceb147a81f2bfa36051128ecb_LmdpdGxhYi1jaS55bWw=..6ce24587efc59924e4bacc46a4e3bea3cd034bcc_LmdpdGxhYi1jaS55bWw= 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -43,7 +43,7 @@ - armhf ### For services that need a docker daemon -.docker_job: &docker_job +.docker_job: image: "${BUILDER_IMAGE_REGISTRY}/distribution_ci_tools:${BUILDER_IMAGE_REVISION}" variables: DOCKER_DRIVER: overlay2 @@ -67,7 +67,7 @@ paths: - gems -.build-package: &build-package +.build-package: - bundle exec rake cache:populate - bundle exec rake cache:restore - bundle exec rake build:project diff --git a/gitlab-ci-config/check-packages.yml b/gitlab-ci-config/check-packages.yml index a8693964216e616ceb147a81f2bfa36051128ecb_Z2l0bGFiLWNpLWNvbmZpZy9jaGVjay1wYWNrYWdlcy55bWw=..6ce24587efc59924e4bacc46a4e3bea3cd034bcc_Z2l0bGFiLWNpLWNvbmZpZy9jaGVjay1wYWNrYWdlcy55bWw= 100644 --- a/gitlab-ci-config/check-packages.yml +++ b/gitlab-ci-config/check-packages.yml @@ -7,7 +7,7 @@ # hardcoding the dev registry for SLES jobs. DEV_BUILDER_IMAGE_REGISTRY: 'dev.gitlab.org:5005/cookbooks/gitlab-omnibus-builder' -.ee-tag-only: &ee-tag-only +.ee-tag-only: rules: # SLES job might not have connection to RMT server to install additional packages # FIPS packages won't necessarily work in a non-fips environment @@ -15,7 +15,7 @@ when: never - if: '$CI_COMMIT_TAG =~ /^.*ee\.\d.*$/' -.ce-tag-only: &ce-tag-only +.ce-tag-only: rules: # RPi packages are not uploaded to pre-release repo. - if: '$deploy_instance == "true"' @@ -37,7 +37,7 @@ before_script: - bash scripts/ci/prepare_bundle.sh -.job_base: &job_base +.job_base: stage: package script: - bash scripts/ci/install_package.sh @@ -45,9 +45,9 @@ tags: !reference [.distribution-amd64-tags] retry: 2 -.apt-install: &apt-install +.apt-install: extends: .job_base variables: package_type: deb package_manager: apt @@ -49,11 +49,11 @@ extends: .job_base variables: package_type: deb package_manager: apt -.yum-install: &yum-install +.yum-install: extends: .job_base variables: package_type: rpm package_manager: yum @@ -55,11 +55,11 @@ extends: .job_base variables: package_type: rpm package_manager: yum -.zypper-install: &zypper-install +.zypper-install: extends: .job_base variables: package_type: rpm package_manager: zypper @@ -61,9 +61,9 @@ extends: .job_base variables: package_type: rpm package_manager: zypper -.apt-arm-install: &apt-arm-install +.apt-arm-install: extends: .apt-install tags: !reference [.distribution-arm64-tags] @@ -67,7 +67,7 @@ extends: .apt-install tags: !reference [.distribution-arm64-tags] -.yum-arm-install: &yum-arm-install +.yum-arm-install: extends: .yum-install tags: !reference [.distribution-arm64-tags] @@ -71,7 +71,7 @@ extends: .yum-install tags: !reference [.distribution-arm64-tags] -.zypper-arm-install: &zypper-arm-install +.zypper-arm-install: extends: .zypper-install tags: !reference [.distribution-arm64-tags] diff --git a/gitlab-ci-config/dev-gitlab-org.yml b/gitlab-ci-config/dev-gitlab-org.yml index a8693964216e616ceb147a81f2bfa36051128ecb_Z2l0bGFiLWNpLWNvbmZpZy9kZXYtZ2l0bGFiLW9yZy55bWw=..6ce24587efc59924e4bacc46a4e3bea3cd034bcc_Z2l0bGFiLWNpLWNvbmZpZy9kZXYtZ2l0bGFiLW9yZy55bWw= 100644 --- a/gitlab-ci-config/dev-gitlab-org.yml +++ b/gitlab-ci-config/dev-gitlab-org.yml @@ -21,7 +21,7 @@ paths: - pkg/ -.package-artifacts-release: &package-artifacts-release +.package-artifacts-release: <<: *package-artifacts expire_in: 7 days @@ -31,8 +31,8 @@ - assets_cache - node_modules -.branch-cache: &branch-cache +.branch-cache: key: "${CI_JOB_NAME}-${BUILDER_IMAGE_REVISION}-${CACHE_EDITION}${CACHE_KEY_SUFFIX}" paths: !reference [.cache-paths] policy: $CACHE_POLICY @@ -35,10 +35,10 @@ key: "${CI_JOB_NAME}-${BUILDER_IMAGE_REVISION}-${CACHE_EDITION}${CACHE_KEY_SUFFIX}" paths: !reference [.cache-paths] policy: $CACHE_POLICY -.tag-cache: &tag-cache +.tag-cache: # Use the same cache key as branch builds, by manually appending `-branch` substring. key: "${CI_JOB_NAME}-branch-${BUILDER_IMAGE_REVISION}-${CACHE_EDITION}${CACHE_KEY_SUFFIX}" paths: !reference [.cache-paths] policy: $CACHE_POLICY @@ -40,9 +40,9 @@ # Use the same cache key as branch builds, by manually appending `-branch` substring. key: "${CI_JOB_NAME}-branch-${BUILDER_IMAGE_REVISION}-${CACHE_EDITION}${CACHE_KEY_SUFFIX}" paths: !reference [.cache-paths] policy: $CACHE_POLICY -.branch_template: &branch_build +.branch_template: stage: package script: - support/import_gpg_secrets.sh @@ -66,7 +66,7 @@ - !reference [.default_rules, rules] - if: '$PIPELINE_TYPE =~ /_(NIGHTLY|BRANCH)_BUILD_PIPELINE$/' -.fips_branch_template: &fips_branch_build +.fips_branch_template: extends: .branch_template variables: USE_SYSTEM_SSL: "true" @@ -77,7 +77,7 @@ when: manual allow_failure: true -.arm64_branch_template: &arm64_branch_build +.arm64_branch_template: extends: .branch_template tags: !reference [.distribution-arm64-tags] @@ -81,7 +81,7 @@ extends: .branch_template tags: !reference [.distribution-arm64-tags] -.rpi_branch_template: &rpi_branch_build +.rpi_branch_template: extends: .branch_template variables: NO_SOURCEMAPS: "true" @@ -93,7 +93,7 @@ - if: '$PIPELINE_TYPE == "CE_NIGHTLY_BUILD_PIPELINE"' - if: '$PIPELINE_TYPE == "EE_BRANCH_BUILD_PIPELINE" && $CI_PIPELINE_SOURCE == "parent_pipeline"' -.tag_template: &tag_build +.tag_template: stage: package script: # Always compile assets for auto-deploy builds, @@ -128,7 +128,7 @@ - !reference [.default_rules, rules] - if: '$PIPELINE_TYPE =~ /_(RC|TAG)_BUILD_PIPELINE$/' -.fips_tag_template: &fips_tag_build +.fips_tag_template: extends: .tag_template variables: USE_SYSTEM_SSL: "true" @@ -136,7 +136,7 @@ - !reference [.default_rules, rules] - if: '$PIPELINE_TYPE =~ /^EE_(RC|TAG)_BUILD_PIPELINE$/' -.arm64_tag_template: &arm64_tag_build +.arm64_tag_template: extends: .tag_template tags: !reference [.distribution-arm64-tags] @@ -140,7 +140,7 @@ extends: .tag_template tags: !reference [.distribution-arm64-tags] -.rpi_tag_template: &rpi_tag_build +.rpi_tag_template: extends: .tag_template variables: NO_SOURCEMAPS: "true" @@ -152,7 +152,7 @@ ### This stage is used for uploading packages ### 1. To a staging package repository ### 2. Always ran on dev.gitlab.org -.staging_upload_template: &staging_upload +.staging_upload_template: stage: staging_upload image: "${BUILDER_IMAGE_REGISTRY}/ubuntu_22.04:${BUILDER_IMAGE_REVISION}" variables: @@ -169,7 +169,7 @@ - !reference [.skip_release_jobs, rules] - if: '$PIPELINE_TYPE =~ /_(RC|TAG)_BUILD_PIPELINE$/' -.fips_staging_upload_template: &fips_staging_upload +.fips_staging_upload_template: extends: .staging_upload_template variables: USE_SYSTEM_SSL: "true" @@ -179,7 +179,7 @@ - if: '$PIPELINE_TYPE =~ /^EE_(RC|TAG)_BUILD_PIPELINE$/' - if: '$PIPELINE_TYPE == "EE_NIGHTLY_BUILD_PIPELINE"' -.staging_upload_with_deployment_template: &staging_upload_with_deployment +.staging_upload_with_deployment_template: extends: .staging_upload_template script: - bundle exec rake repository:upload:staging[$STAGING_REPO] @@ -189,7 +189,7 @@ ### 1. It is a manual action ### 2. It will upload the package to public, user facing repositories ### 3. Only ran on dev.gitlab.org -.production_release_template: &production_release +.production_release_template: stage: package-and-image-release image: "${BUILDER_IMAGE_REGISTRY}/ubuntu_22.04:${BUILDER_IMAGE_REVISION}" variables: @@ -206,7 +206,7 @@ - if: '$PIPELINE_TYPE =~ /_(RC|TAG)_BUILD_PIPELINE$/' when: manual -.fips_release_template: &fips_release +.fips_release_template: extends: .production_release_template variables: USE_SYSTEM_SSL: "true" @@ -217,7 +217,7 @@ - if: '$PIPELINE_TYPE =~ /^EE_(RC|TAG)_BUILD_PIPELINE$/' when: manual -.raspbian_release_template: &raspbian_release +.raspbian_release_template: extends: .production_release_template variables: RASPBERRY_REPO: "raspberry-pi2" @@ -229,7 +229,7 @@ - if: '$PIPELINE_TYPE =~ /^CE_(RC|TAG)_BUILD_PIPELINE$/' when: manual -.aws_ami_build: &aws_ami_build +.aws_ami_build: stage: package-and-image-release image: "${BUILDER_IMAGE_REGISTRY}/debian_packer:${BUILDER_IMAGE_REVISION}" script: @@ -251,7 +251,7 @@ - if: '$PIPELINE_TYPE =~ /_TAG_BUILD_PIPELINE$/' when: manual -.aws_marketplace_release: &aws_marketplace_release +.aws_marketplace_release: image: "${BUILDER_IMAGE_REGISTRY}/distribution_ci_tools:${BUILDER_IMAGE_REVISION}" stage: aws-marketplace-release script: diff --git a/gitlab-ci-config/gitlab-com.yml b/gitlab-ci-config/gitlab-com.yml index a8693964216e616ceb147a81f2bfa36051128ecb_Z2l0bGFiLWNpLWNvbmZpZy9naXRsYWItY29tLnltbA==..6ce24587efc59924e4bacc46a4e3bea3cd034bcc_Z2l0bGFiLWNpLWNvbmZpZy9naXRsYWItY29tLnltbA== 100644 --- a/gitlab-ci-config/gitlab-com.yml +++ b/gitlab-ci-config/gitlab-com.yml @@ -17,7 +17,7 @@ - knapsack/ artifacts: !reference [.knapsack-artifacts] -.knapsack: &prepare_knapsack +.knapsack: extends: .knapsack-state stage: prepare before_script: [] @@ -34,7 +34,7 @@ needs: - rubocop -.install-gems: &install-gems +.install-gems: - gem install bundler:${BUNDLER_VERSION} - bundle config build.ffi --disable-system-libffi - bundle config set --local path 'gems' @@ -42,7 +42,7 @@ - bundle install -j $(nproc) - bundle binstubs --all -.spec_template: &spec_template +.spec_template: extends: .gems-cache-os-dependent stage: tests before_script: @@ -650,9 +650,9 @@ - ./scripts/renovate/checksums/update_all.sh - mismatches="$(git status --porcelain)" - if [ -n "$mismatches" ]; then - echo "Checksum mismatch detected"; - echo "$mismatches"; - exit 1; + echo "Checksum mismatch detected"; + echo "$mismatches"; + exit 1; fi rules: - if: '$PIPELINE_TYPE == "GITLAB_MR_PIPELINE"'