Commit 461af5e3 authored by Adrian DC's avatar Adrian DC
Browse files

ci(gitlab-ci): migrate from YAML '&/*' anchors to CI '!reference'

Signed-off-by: default avatarAdrian DC <radian.dc@gmail.com>
parent 80c88654
Loading
Loading
Loading
Loading
+56 −53
Changes for .gitlab-ci.yml: 56 added lines, 53 removed lines.
Original line number Diff line number Diff line
@@ -285,9 +285,9 @@ install:
# Stage: test (templates)

.unit-tests-dependencies:
  before_script: &unit-tests-dependencies-before |-
    apt-get update -qq
    apt-get install -qq -y sudo time 2>&1 | grep 'Setting up'
  before_script:
    - apt-get update -qq
    - apt-get install -qq -y sudo time 2>&1 | grep 'Setting up'

.unit-tests-docker:
  services:
@@ -296,21 +296,23 @@ install:
    - build
  variables:
    DOCKER_DRIVER: overlay2
  before_script: &unit-tests-docker-before |-
  before_script:
    - 'true'

.unit-tests-podman:
  needs:
    - build
  variables:
    CI_LOCAL_NETWORK: host
  before_script: &unit-tests-podman-before |-
    export DOCKER_HOST='tcp://127.0.0.1:9999'
    apt-get update -qq
    apt-get install -qq -y podman 2>&1 | grep 'Setting up podman'
    sed -i 's#.*cgroup_manager = ".*"#cgroup_manager = "cgroupfs"#g' /usr/share/containers/containers.conf
    sed -i 's#.*events_logger = ".*"#events_logger = "file"#g' /usr/share/containers/containers.conf
    sed -i 's#.*log_driver = ".*"#log_driver = "k8s-file"#g' /usr/share/containers/containers.conf
    sed -i '/# unqualified-search-registries =/a unqualified-search-registries = ["docker.io"]' /etc/containers/registries.conf
  before_script:
    - export DOCKER_HOST='tcp://127.0.0.1:9999'
    - apt-get update -qq
    - apt-get install -qq -y podman 2>&1 | grep 'Setting up podman'
    - sed -i 's#.*cgroup_manager = ".*"#cgroup_manager = "cgroupfs"#g' /usr/share/containers/containers.conf
    - sed -i 's#.*events_logger = ".*"#events_logger = "file"#g' /usr/share/containers/containers.conf
    - sed -i 's#.*log_driver = ".*"#log_driver = "k8s-file"#g' /usr/share/containers/containers.conf
    - sed -i '/# unqualified-search-registries =/a unqualified-search-registries = ["docker.io"]' /etc/containers/registries.conf
    - |
      cat >>/etc/containers/storage.conf <<EOF
      [storage]
      driver = "vfs"
@@ -336,12 +338,12 @@ install:
    FORCE_COLOR: 1
    TEMP: .tmp
    TERM: ansi
  before_script: &unit-tests-template-before |-
    mkdir -p ./.tmp/
    pip3 install ./dist/*.whl
    pip3 install --force-reinstall --no-deps --upgrade ./dist/*.whl
    pip3 show gitlabci-local
    pip3 install -q -r ./requirements/tests.txt --upgrade
  before_script:
    - mkdir -p ./.tmp/
    - pip3 install ./dist/*.whl
    - pip3 install --force-reinstall --no-deps --upgrade ./dist/*.whl
    - pip3 show gitlabci-local
    - pip3 install -q -r ./requirements/tests.txt --upgrade
  script:
    # Prepare tests
    - export SUITE=$(echo "${SUITE}" | sed 's/,/\\|/g')
@@ -377,17 +379,18 @@ install:
    COVERAGE_FOLDER: ${CI_PROJECT_DIR}/coverage-reports
    COVERAGE_RCFILE: ${CI_PROJECT_DIR}/.coveragerc
    PYTHONPATH: ${CI_PROJECT_DIR}
  before_script: &coverage-template-before |-
    mkdir -p "${COVERAGE_FOLDER}/"
    chmod 777 "${COVERAGE_FOLDER}"
    pip3 install -q -r ./requirements/runtime.txt -r ./requirements/coverage.txt -r ./requirements/tests.txt --no-cache-dir --upgrade 2>/dev/null
  before_script:
    - mkdir -p "${COVERAGE_FOLDER}/"
    - chmod 777 "${COVERAGE_FOLDER}"
    - pip3 install -q -r ./requirements/runtime.txt -r ./requirements/coverage.txt -r ./requirements/tests.txt --no-cache-dir --upgrade 2>/dev/null
    - |
      if [ -z "${SUITE}" ]; then
        coverage erase
      fi
    coverage run --append --module --source=gitlabci_local gitlabci_local --version >/dev/null
    chmod 666 "${COVERAGE_FILE}"
    echo 'coverage run --append --module --source=gitlabci_local gitlabci_local "${@}"' | tee /usr/local/bin/gitlabci-local /usr/local/bin/gcil >/dev/null
    chmod a+x /usr/local/bin/gitlabci-local /usr/local/bin/gcil
    - coverage run --append --module --source=gitlabci_local gitlabci_local --version >/dev/null
    - chmod 666 "${COVERAGE_FILE}"
    - echo 'coverage run --append --module --source=gitlabci_local gitlabci_local "${@}"' | tee /usr/local/bin/gitlabci-local /usr/local/bin/gcil >/dev/null
    - chmod a+x /usr/local/bin/gitlabci-local /usr/local/bin/gcil
  after_script:
    - coverage xml -o "${COVERAGE_XML}"
    - coverage report --show-missing --skip-covered
@@ -417,12 +420,12 @@ install:
      - coverage-reports/

.coverage-template-windows:
  before_script: &coverage-template-windows-before |-
    echo 'wine coverage "${@}"' | tee /usr/local/bin/coverage >/dev/null
    chmod a+x /usr/local/bin/coverage
    echo 'wine pip3 "${@}"' | tee /usr/local/bin/pip3 >/dev/null
    chmod a+x /usr/local/bin/pip3
    pip3 install -q --no-cache-dir --upgrade wheel 2>/dev/null
  before_script:
    - echo 'wine coverage "${@}"' | tee /usr/local/bin/coverage >/dev/null
    - chmod a+x /usr/local/bin/coverage
    - echo 'wine pip3 "${@}"' | tee /usr/local/bin/pip3 >/dev/null
    - chmod a+x /usr/local/bin/pip3
    - pip3 install -q --no-cache-dir --upgrade wheel 2>/dev/null
  script:
    - cd ./tests/windows/ && sh ./test.sh 2>&1

@@ -439,9 +442,9 @@ coverage:docker:
    COVERAGE_FILE: ${CI_PROJECT_DIR}/coverage-reports/.coverage-docker
    COVERAGE_XML: ${CI_PROJECT_DIR}/coverage-reports/coverage-docker.xml
  before_script:
    - *unit-tests-docker-before
    - *unit-tests-dependencies-before
    - *coverage-template-before
    - !reference [.unit-tests-docker, before_script]
    - !reference [.unit-tests-dependencies, before_script]
    - !reference [.coverage-template, before_script]

coverage:podman:
  extends:
@@ -453,9 +456,9 @@ coverage:podman:
    COVERAGE_FILE: ${CI_PROJECT_DIR}/coverage-reports/.coverage-podman
    COVERAGE_XML: ${CI_PROJECT_DIR}/coverage-reports/coverage-podman.xml
  before_script:
    - *unit-tests-podman-before
    - *unit-tests-dependencies-before
    - *coverage-template-before
    - !reference [.unit-tests-podman, before_script]
    - !reference [.unit-tests-dependencies, before_script]
    - !reference [.coverage-template, before_script]

coverage:windows:
  extends:
@@ -467,8 +470,8 @@ coverage:windows:
    COVERAGE_FILE: ${CI_PROJECT_DIR}/coverage-reports/.coverage-windows
    COVERAGE_XML: ${CI_PROJECT_DIR}/coverage-reports/coverage-windows.xml
  before_script:
    - *coverage-template-windows-before
    - *coverage-template-before
    - !reference [.coverage-template-windows, before_script]
    - !reference [.coverage-template, before_script]

# =============================================================================
# Stage: test (Docker)
@@ -480,9 +483,9 @@ py3.6:docker:
    - .unit-tests-rules
  image: registry.gitlab.com/adriandc/gitlabci-local/python:3.6
  before_script:
    - *unit-tests-docker-before
    - *unit-tests-dependencies-before
    - *unit-tests-template-before
    - !reference [.unit-tests-docker, before_script]
    - !reference [.unit-tests-dependencies, before_script]
    - !reference [.unit-tests-template, before_script]

py3.11:docker:
  extends:
@@ -491,9 +494,9 @@ py3.11:docker:
    - .unit-tests-rules
  image: registry.gitlab.com/adriandc/gitlabci-local/python:3.11
  before_script:
    - *unit-tests-docker-before
    - *unit-tests-dependencies-before
    - *unit-tests-template-before
    - !reference [.unit-tests-docker, before_script]
    - !reference [.unit-tests-dependencies, before_script]
    - !reference [.unit-tests-template, before_script]

# =============================================================================
# Stage: test (Podman)
@@ -505,9 +508,9 @@ py3.6:podman:
    - .unit-tests-rules
  image: registry.gitlab.com/adriandc/gitlabci-local/python:3.6
  before_script:
    - *unit-tests-podman-before
    - *unit-tests-dependencies-before
    - *unit-tests-template-before
    - !reference [.unit-tests-podman, before_script]
    - !reference [.unit-tests-dependencies, before_script]
    - !reference [.unit-tests-template, before_script]

py3.11:podman:
  extends:
@@ -516,9 +519,9 @@ py3.11:podman:
    - .unit-tests-rules
  image: registry.gitlab.com/adriandc/gitlabci-local/python:3.11
  before_script:
    - *unit-tests-podman-before
    - *unit-tests-dependencies-before
    - *unit-tests-template-before
    - !reference [.unit-tests-podman, before_script]
    - !reference [.unit-tests-dependencies, before_script]
    - !reference [.unit-tests-template, before_script]

# =============================================================================
# Stage: test (local)
@@ -528,7 +531,7 @@ python:dind:
    - .unit-tests-template
  image: local:quiet
  before_script:
    - *unit-tests-template-before
    - !reference [.unit-tests-template, before_script]
    - docker rm -f gitlabci-local-dind >/dev/null 2>&1
    - docker run -d -v "${PWD}/.dind:/certs" -v "${PWD}:${PWD}" --name gitlabci-local-dind --privileged docker:dind >/dev/null
    - sleep 10