mirror of
https://github.com/kubernetes-sigs/kubespray.git
synced 2025-12-13 21:34:40 +03:00
We should not rollback our test setup during upgrade test.
The only reason to do that would be for incompatible changes in the test
inventory, and we already checkout master for those (${CI_JOB_NAME}.yml)
Also do some cleanup by removing unnecessary intermediary variables
103 lines
2.4 KiB
YAML
103 lines
2.4 KiB
YAML
---
|
|
stages:
|
|
- build
|
|
- test
|
|
- deploy-part1
|
|
- deploy-extended
|
|
|
|
variables:
|
|
KUBESPRAY_VERSION: v2.26.0
|
|
FAILFASTCI_NAMESPACE: 'kargo-ci'
|
|
GITLAB_REPOSITORY: 'kargo-ci/kubernetes-sigs-kubespray'
|
|
ANSIBLE_FORCE_COLOR: "true"
|
|
MAGIC: "ci check this"
|
|
GS_ACCESS_KEY_ID: $GS_KEY
|
|
GS_SECRET_ACCESS_KEY: $GS_SECRET
|
|
CONTAINER_ENGINE: docker
|
|
SSH_USER: root
|
|
GCE_PREEMPTIBLE: "false"
|
|
ANSIBLE_KEEP_REMOTE_FILES: "1"
|
|
ANSIBLE_CONFIG: ./tests/ansible.cfg
|
|
IDEMPOT_CHECK: "false"
|
|
RESET_CHECK: "false"
|
|
REMOVE_NODE_CHECK: "false"
|
|
UPGRADE_TEST: "false"
|
|
MITOGEN_ENABLE: "false"
|
|
ANSIBLE_LOG_LEVEL: "-vv"
|
|
RECOVER_CONTROL_PLANE_TEST: "false"
|
|
RECOVER_CONTROL_PLANE_TEST_GROUPS: "etcd[2:]:kube_control_plane[1:]"
|
|
TERRAFORM_VERSION: 1.3.7
|
|
PIPELINE_IMAGE: "$CI_REGISTRY_IMAGE/pipeline:${CI_PIPELINE_ID}-${CI_COMMIT_SHORT_SHA}"
|
|
|
|
before_script:
|
|
- ./tests/scripts/rebase.sh
|
|
- mkdir -p /.ssh
|
|
|
|
.job: &job
|
|
tags:
|
|
- ffci
|
|
image: $PIPELINE_IMAGE
|
|
artifacts:
|
|
when: always
|
|
paths:
|
|
- cluster-dump/
|
|
needs:
|
|
- pipeline-image
|
|
|
|
.job-moderated:
|
|
extends: .job
|
|
needs:
|
|
- pipeline-image
|
|
- ci-not-authorized
|
|
- check-galaxy-version # lint
|
|
- pre-commit # lint
|
|
- vagrant-validate # lint
|
|
|
|
.testcases: &testcases
|
|
extends: .job-moderated
|
|
retry: 1
|
|
interruptible: true
|
|
before_script:
|
|
- update-alternatives --install /usr/bin/python python /usr/bin/python3 1
|
|
- ./tests/scripts/rebase.sh
|
|
- ./tests/scripts/testcases_prepare.sh
|
|
script:
|
|
- ./tests/scripts/testcases_run.sh
|
|
after_script:
|
|
- ./tests/scripts/testcases_cleanup.sh
|
|
|
|
# For failfast, at least 1 job must be defined in .gitlab-ci.yml
|
|
# Premoderated with manual actions
|
|
ci-not-authorized:
|
|
stage: build
|
|
before_script: []
|
|
after_script: []
|
|
rules:
|
|
# LGTM or ok-to-test labels
|
|
- if: $PR_LABELS =~ /.*,(lgtm|approved|ok-to-test).*|^(lgtm|approved|ok-to-test).*/i
|
|
variables:
|
|
CI_OK_TO_TEST: '0'
|
|
when: always
|
|
- if: $CI_PIPELINE_SOURCE == "schedule" || $CI_PIPELINE_SOURCE == "trigger"
|
|
variables:
|
|
CI_OK_TO_TEST: '0'
|
|
- if: $CI_COMMIT_BRANCH == "master"
|
|
variables:
|
|
CI_OK_TO_TEST: '0'
|
|
- when: always
|
|
variables:
|
|
CI_OK_TO_TEST: '1'
|
|
script:
|
|
- exit $CI_OK_TO_TEST
|
|
tags:
|
|
- ffci
|
|
needs: []
|
|
|
|
include:
|
|
- .gitlab-ci/build.yml
|
|
- .gitlab-ci/lint.yml
|
|
- .gitlab-ci/terraform.yml
|
|
- .gitlab-ci/packet.yml
|
|
- .gitlab-ci/vagrant.yml
|
|
- .gitlab-ci/molecule.yml
|