|
| 1 | +--- |
| 2 | +.kubevirt: |
| 3 | + extends: .job-moderated |
| 4 | + interruptible: true |
| 5 | + script: |
| 6 | + - ansible-playbook tests/cloud_playbooks/create-kubevirt.yml |
| 7 | + -c local -e @"tests/files/${TESTCASE}.yml" |
| 8 | + - ./tests/scripts/testcases_run.sh |
| 9 | + variables: |
| 10 | + ANSIBLE_TIMEOUT: "120" |
| 11 | + tags: |
| 12 | + - ffci |
| 13 | + needs: |
| 14 | + - pipeline-image |
| 15 | + - ci-not-authorized |
| 16 | + |
| 17 | +# TODO: generate testcases matrixes from the files in tests/files/ |
| 18 | +# this is needed to avoid the need for PR rebasing when a job was added or removed in the target branch |
| 19 | +# (currently, a removed job in the target branch breaks the tests, because the |
| 20 | +# pipeline definition is parsed by gitlab before the rebase.sh script) |
| 21 | +# CI template for PRs |
| 22 | +pr: |
| 23 | + stage: deploy-part1 |
| 24 | + rules: |
| 25 | + - if: $PR_LABELS =~ /.*ci-short.*/ |
| 26 | + when: manual |
| 27 | + allow_failure: true |
| 28 | + - if: $CI_COMMIT_BRANCH =~ /^pr-.*$/ |
| 29 | + when: on_success |
| 30 | + - when: manual |
| 31 | + allow_failure: true |
| 32 | + extends: .kubevirt |
| 33 | + parallel: |
| 34 | + matrix: |
| 35 | + - TESTCASE: |
| 36 | + - almalinux8-calico |
| 37 | + - almalinux9-crio |
| 38 | + - almalinux9-kube-ovn |
| 39 | + - debian11-calico-collection |
| 40 | + - debian11-macvlan |
| 41 | + - debian12-cilium |
| 42 | + - fedora39-kube-router |
| 43 | + # FIXME: this test if broken (perma-failing) |
| 44 | + - openeuler24-calico |
| 45 | + - opensuse15-6-calico |
| 46 | + - rockylinux8-calico |
| 47 | + - rockylinux9-cilium |
| 48 | + - ubuntu20-calico-all-in-one-hardening |
| 49 | + - ubuntu20-cilium-sep |
| 50 | + - ubuntu20-flannel-collection |
| 51 | + - ubuntu20-kube-router-sep |
| 52 | + - ubuntu20-kube-router-svc-proxy |
| 53 | + - ubuntu22-calico-all-in-one |
| 54 | + - ubuntu22-calico-all-in-one-upgrade |
| 55 | + - ubuntu24-calico-etcd-datastore |
| 56 | + |
| 57 | +# The ubuntu20-calico-all-in-one jobs are meant as early stages to prevent running the full CI if something is horribly broken |
| 58 | +ubuntu20-calico-all-in-one: |
| 59 | + stage: deploy-part1 |
| 60 | + extends: .kubevirt |
| 61 | + variables: |
| 62 | + TESTCASE: ubuntu20-calico-all-in-one |
| 63 | + rules: |
| 64 | + - if: $CI_COMMIT_BRANCH =~ /^pr-.*$/ |
| 65 | + when: on_success |
| 66 | + - when: manual |
| 67 | + allow_failure: true |
| 68 | + |
| 69 | +pr_full: |
| 70 | + extends: .kubevirt |
| 71 | + stage: deploy-extended |
| 72 | + rules: |
| 73 | + - if: $PR_LABELS =~ /.*ci-full.*/ |
| 74 | + when: on_success |
| 75 | + # Else run as manual |
| 76 | + - when: manual |
| 77 | + allow_failure: true |
| 78 | + parallel: |
| 79 | + matrix: |
| 80 | + - TESTCASE: |
| 81 | + - almalinux9-calico-ha-ebpf |
| 82 | + - almalinux9-calico-nodelocaldns-secondary |
| 83 | + - debian11-custom-cni |
| 84 | + - debian11-kubelet-csr-approver |
| 85 | + - debian12-custom-cni-helm |
| 86 | + - fedora39-calico-swap-selinux |
| 87 | + - fedora39-crio |
| 88 | + - ubuntu20-all-in-one-docker |
| 89 | + - ubuntu20-calico-ha-wireguard |
| 90 | + - ubuntu20-flannel-ha |
| 91 | + - ubuntu20-flannel-ha-once |
| 92 | + |
| 93 | +# Need an update of the container image to use schema v2 |
| 94 | +# update: quay.io/kubespray/vm-amazon-linux-2:latest |
| 95 | +manual: |
| 96 | + extends: pr_full |
| 97 | + parallel: |
| 98 | + matrix: |
| 99 | + - TESTCASE: |
| 100 | + - amazon-linux-2-all-in-one |
| 101 | + rules: |
| 102 | + - when: manual |
| 103 | + allow_failure: true |
| 104 | + |
| 105 | +pr_extended: |
| 106 | + extends: .kubevirt |
| 107 | + stage: deploy-extended |
| 108 | + rules: |
| 109 | + - if: $PR_LABELS =~ /.*(ci-extended|ci-full).*/ |
| 110 | + when: on_success |
| 111 | + - when: manual |
| 112 | + allow_failure: true |
| 113 | + parallel: |
| 114 | + matrix: |
| 115 | + - TESTCASE: |
| 116 | + - almalinux9-calico |
| 117 | + - almalinux9-calico-remove-node |
| 118 | + - almalinux9-docker |
| 119 | + - debian11-docker |
| 120 | + - debian12-calico |
| 121 | + - debian12-docker |
| 122 | + - opensuse15-6-docker-cilium |
| 123 | + - rockylinux9-calico |
| 124 | + - ubuntu20-calico-etcd-kubeadm |
| 125 | + - ubuntu20-flannel |
| 126 | + - ubuntu22-all-in-one-docker |
| 127 | + - ubuntu24-all-in-one-docker |
| 128 | + - ubuntu24-calico-all-in-one |
| 129 | + |
| 130 | +# Enabled when PERIODIC_CI_ENABLED var is set |
| 131 | +periodic: |
| 132 | + only: |
| 133 | + variables: |
| 134 | + - $PERIODIC_CI_ENABLED |
| 135 | + allow_failure: true |
| 136 | + extends: .kubevirt |
| 137 | + parallel: |
| 138 | + matrix: |
| 139 | + - TESTCASE: |
| 140 | + - debian11-calico-upgrade |
| 141 | + - debian11-calico-upgrade-once |
| 142 | + - debian12-cilium-svc-proxy |
| 143 | + - fedora39-calico-selinux |
| 144 | + - fedora40-docker-calico |
| 145 | + - ubuntu20-calico-etcd-kubeadm-upgrade-ha |
| 146 | + - ubuntu20-calico-ha-recover |
| 147 | + - ubuntu20-calico-ha-recover-noquorum |
0 commit comments