From 53d4e527310dba436632abf28de52b8c924800ec Mon Sep 17 00:00:00 2001 From: Loic Devulder Date: Mon, 18 Mar 2024 14:45:47 +0100 Subject: [PATCH] ci: add GitHub matrix support Signed-off-by: Loic Devulder --- .github/workflows/SCHEDULING.md | 22 +++-- .github/workflows/cli-k3s-airgap-matrix.yaml | 45 +++++++++++ .../cli-k3s-airgap_rm_latest_dev.yaml | 25 ------ .../workflows/cli-k3s-airgap_rm_stable.yaml | 23 ------ .../cli-k3s-hardened-rm_head_2.7.yaml | 28 ------- .../cli-k3s-hardened-rm_head_2.8.yaml | 28 ------- .../cli-k3s-hardened-rm_head_2.9.yaml | 28 ------- .../workflows/cli-k3s-hardened-rm_stable.yaml | 26 ------ ...-k3s-hardened-upgrade-reset-rm_stable.yaml | 34 -------- .github/workflows/cli-k3s-ibs_stable.yaml | 19 +++-- .github/workflows/cli-k3s-matrix.yaml | 80 +++++++++++++++++++ .../cli-k3s-multi_cluster-rm_stable.yaml | 33 -------- .github/workflows/cli-k3s-obs_dev.yaml | 13 ++- .github/workflows/cli-k3s-obs_staging.yaml | 13 ++- .../cli-k3s-os-upgrade-rm_stable.yaml | 31 ------- .../workflows/cli-k3s-reset-rm_head_2.7.yaml | 26 ------ .../workflows/cli-k3s-reset-rm_head_2.8.yaml | 26 ------ .../workflows/cli-k3s-reset-rm_head_2.9.yaml | 26 ------ .../workflows/cli-k3s-reset-rm_stable.yaml | 24 ------ .github/workflows/cli-k3s-rm_head_2.7.yaml | 25 ------ .github/workflows/cli-k3s-rm_head_2.8.yaml | 25 ------ .github/workflows/cli-k3s-rm_head_2.9.yaml | 25 ------ .github/workflows/cli-k3s-rm_stable.yaml | 23 ------ .../workflows/cli-k3s-scalability-matrix.yaml | 49 ++++++++++++ .../cli-k3s-scalability-rm_stable.yaml | 33 -------- .../cli-k3s-sequential-rm_stable.yaml | 30 ------- .github/workflows/cli-k3s-upgrade-matrix.yaml | 58 ++++++++++++++ .../workflows/cli-multicluster-matrix.yaml | 52 ++++++++++++ ...l => cli-obs-manual-upgrade-workflow.yaml} | 22 ++++- .../workflows/cli-obs-manual-workflow.yaml | 20 ++--- .../cli-rke2-hardened-rm_head_2.7.yaml | 29 ------- .../cli-rke2-hardened-rm_head_2.8.yaml | 29 ------- .../cli-rke2-hardened-rm_head_2.9.yaml | 29 ------- .../cli-rke2-hardened-rm_stable.yaml | 28 ------- ...rke2-hardened-upgrade-reset-rm_stable.yaml | 36 --------- .github/workflows/cli-rke2-ibs_stable.yaml | 15 +++- .github/workflows/cli-rke2-matrix.yaml | 80 +++++++++++++++++++ .../cli-rke2-multi_cluster-rm_stable.yaml | 36 --------- .github/workflows/cli-rke2-obs_dev.yaml | 15 +++- .github/workflows/cli-rke2-obs_staging.yaml | 15 +++- .../cli-rke2-os-upgrade-rm_stable.yaml | 34 -------- .github/workflows/cli-rke2-os-upgrade.yaml | 17 ++-- .../workflows/cli-rke2-reset-rm_head_2.7.yaml | 28 ------- .../workflows/cli-rke2-reset-rm_head_2.8.yaml | 28 ------- .../workflows/cli-rke2-reset-rm_head_2.9.yaml | 28 ------- .../workflows/cli-rke2-reset-rm_stable.yaml | 27 ------- .github/workflows/cli-rke2-rm_head_2.7.yaml | 27 ------- .github/workflows/cli-rke2-rm_head_2.8.yaml | 27 ------- .github/workflows/cli-rke2-rm_head_2.9.yaml | 27 ------- .github/workflows/cli-rke2-rm_stable.yaml | 26 ------ .../cli-rke2-sequential-rm_stable.yaml | 33 -------- .../workflows/cli-rke2-upgrade-matrix.yaml | 58 ++++++++++++++ .github/workflows/master_e2e.yaml | 10 +-- .github/workflows/sub_ui.yaml | 8 +- .github/workflows/ui-k3s-ibs_stable.yaml | 13 ++- .github/workflows/ui-k3s-matrix.yaml | 54 +++++++++++++ .github/workflows/ui-k3s-obs_dev.yaml | 13 ++- .github/workflows/ui-k3s-obs_staging.yaml | 12 ++- .../ui-k3s-os-upgrade-rm_head_2.7.yaml | 44 ---------- .../ui-k3s-os-upgrade-rm_head_2.8.yaml | 44 ---------- .../ui-k3s-os-upgrade-rm_head_2.9.yaml | 44 ---------- .../ui-k3s-os-upgrade-rm_stable.yaml | 37 --------- .github/workflows/ui-k3s-os-upgrade.yaml | 22 +++-- .github/workflows/ui-k3s-rm_head_2.7.yaml | 36 --------- .github/workflows/ui-k3s-rm_head_2.8.yaml | 36 --------- .github/workflows/ui-k3s-rm_head_2.9.yaml | 36 --------- .github/workflows/ui-k3s-rm_stable.yaml | 36 --------- .github/workflows/ui-k3s-upgrade-matrix.yaml | 55 +++++++++++++ .github/workflows/ui-obs-manual-workflow.yaml | 10 ++- .github/workflows/ui-rke2-ibs_stable.yaml | 15 +++- .github/workflows/ui-rke2-matrix.yaml | 54 +++++++++++++ .github/workflows/ui-rke2-obs_dev.yaml | 15 +++- .github/workflows/ui-rke2-obs_staging.yaml | 15 +++- .../ui-rke2-os-upgrade-rm_head_2.7.yaml | 44 ---------- .../ui-rke2-os-upgrade-rm_head_2.8.yaml | 44 ---------- .../ui-rke2-os-upgrade-rm_head_2.9.yaml | 44 ---------- .../ui-rke2-os-upgrade-rm_stable.yaml | 45 ----------- .github/workflows/ui-rke2-os-upgrade.yaml | 24 ++++-- .github/workflows/ui-rke2-rm_head_2.7.yaml | 35 -------- .github/workflows/ui-rke2-rm_head_2.8.yaml | 35 -------- .github/workflows/ui-rke2-rm_head_2.9.yaml | 35 -------- .github/workflows/ui-rke2-rm_stable.yaml | 38 --------- .github/workflows/ui-rke2-upgrade-matrix.yaml | 56 +++++++++++++ .../workflows/update-tests-description.yaml | 1 + 84 files changed, 880 insertions(+), 1714 deletions(-) create mode 100644 .github/workflows/cli-k3s-airgap-matrix.yaml delete mode 100644 .github/workflows/cli-k3s-airgap_rm_latest_dev.yaml delete mode 100644 .github/workflows/cli-k3s-airgap_rm_stable.yaml delete mode 100644 .github/workflows/cli-k3s-hardened-rm_head_2.7.yaml delete mode 100644 .github/workflows/cli-k3s-hardened-rm_head_2.8.yaml delete mode 100644 .github/workflows/cli-k3s-hardened-rm_head_2.9.yaml delete mode 100644 .github/workflows/cli-k3s-hardened-rm_stable.yaml delete mode 100644 .github/workflows/cli-k3s-hardened-upgrade-reset-rm_stable.yaml create mode 100644 .github/workflows/cli-k3s-matrix.yaml delete mode 100644 .github/workflows/cli-k3s-multi_cluster-rm_stable.yaml delete mode 100644 .github/workflows/cli-k3s-os-upgrade-rm_stable.yaml delete mode 100644 .github/workflows/cli-k3s-reset-rm_head_2.7.yaml delete mode 100644 .github/workflows/cli-k3s-reset-rm_head_2.8.yaml delete mode 100644 .github/workflows/cli-k3s-reset-rm_head_2.9.yaml delete mode 100644 .github/workflows/cli-k3s-reset-rm_stable.yaml delete mode 100644 .github/workflows/cli-k3s-rm_head_2.7.yaml delete mode 100644 .github/workflows/cli-k3s-rm_head_2.8.yaml delete mode 100644 .github/workflows/cli-k3s-rm_head_2.9.yaml delete mode 100644 .github/workflows/cli-k3s-rm_stable.yaml create mode 100644 .github/workflows/cli-k3s-scalability-matrix.yaml delete mode 100644 .github/workflows/cli-k3s-scalability-rm_stable.yaml delete mode 100644 .github/workflows/cli-k3s-sequential-rm_stable.yaml create mode 100644 .github/workflows/cli-k3s-upgrade-matrix.yaml create mode 100644 .github/workflows/cli-multicluster-matrix.yaml rename .github/workflows/{cli-k3s-os-upgrade.yaml => cli-obs-manual-upgrade-workflow.yaml} (73%) delete mode 100644 .github/workflows/cli-rke2-hardened-rm_head_2.7.yaml delete mode 100644 .github/workflows/cli-rke2-hardened-rm_head_2.8.yaml delete mode 100644 .github/workflows/cli-rke2-hardened-rm_head_2.9.yaml delete mode 100644 .github/workflows/cli-rke2-hardened-rm_stable.yaml delete mode 100644 .github/workflows/cli-rke2-hardened-upgrade-reset-rm_stable.yaml create mode 100644 .github/workflows/cli-rke2-matrix.yaml delete mode 100644 .github/workflows/cli-rke2-multi_cluster-rm_stable.yaml delete mode 100644 .github/workflows/cli-rke2-os-upgrade-rm_stable.yaml delete mode 100644 .github/workflows/cli-rke2-reset-rm_head_2.7.yaml delete mode 100644 .github/workflows/cli-rke2-reset-rm_head_2.8.yaml delete mode 100644 .github/workflows/cli-rke2-reset-rm_head_2.9.yaml delete mode 100644 .github/workflows/cli-rke2-reset-rm_stable.yaml delete mode 100644 .github/workflows/cli-rke2-rm_head_2.7.yaml delete mode 100644 .github/workflows/cli-rke2-rm_head_2.8.yaml delete mode 100644 .github/workflows/cli-rke2-rm_head_2.9.yaml delete mode 100644 .github/workflows/cli-rke2-rm_stable.yaml delete mode 100644 .github/workflows/cli-rke2-sequential-rm_stable.yaml create mode 100644 .github/workflows/cli-rke2-upgrade-matrix.yaml create mode 100644 .github/workflows/ui-k3s-matrix.yaml delete mode 100644 .github/workflows/ui-k3s-os-upgrade-rm_head_2.7.yaml delete mode 100644 .github/workflows/ui-k3s-os-upgrade-rm_head_2.8.yaml delete mode 100644 .github/workflows/ui-k3s-os-upgrade-rm_head_2.9.yaml delete mode 100644 .github/workflows/ui-k3s-os-upgrade-rm_stable.yaml delete mode 100644 .github/workflows/ui-k3s-rm_head_2.7.yaml delete mode 100644 .github/workflows/ui-k3s-rm_head_2.8.yaml delete mode 100644 .github/workflows/ui-k3s-rm_head_2.9.yaml delete mode 100644 .github/workflows/ui-k3s-rm_stable.yaml create mode 100644 .github/workflows/ui-k3s-upgrade-matrix.yaml create mode 100644 .github/workflows/ui-rke2-matrix.yaml delete mode 100644 .github/workflows/ui-rke2-os-upgrade-rm_head_2.7.yaml delete mode 100644 .github/workflows/ui-rke2-os-upgrade-rm_head_2.8.yaml delete mode 100644 .github/workflows/ui-rke2-os-upgrade-rm_head_2.9.yaml delete mode 100644 .github/workflows/ui-rke2-os-upgrade-rm_stable.yaml delete mode 100644 .github/workflows/ui-rke2-rm_head_2.7.yaml delete mode 100644 .github/workflows/ui-rke2-rm_head_2.8.yaml delete mode 100644 .github/workflows/ui-rke2-rm_head_2.9.yaml delete mode 100644 .github/workflows/ui-rke2-rm_stable.yaml create mode 100644 .github/workflows/ui-rke2-upgrade-matrix.yaml diff --git a/.github/workflows/SCHEDULING.md b/.github/workflows/SCHEDULING.md index 7ed850ca6..05b6491d8 100644 --- a/.github/workflows/SCHEDULING.md +++ b/.github/workflows/SCHEDULING.md @@ -1,8 +1,20 @@ # Scheduling rules for the CI tests + We try to spread the tests as best as we can to avoid SPOT issue as well as not overload our public cloud zone. -| Test type| Stable | Head 2.7 | Head 2.8 | Head 2.9 | -|:---:|:---:|:---:|:---:|:---:| -| CLI K3s | 1am | 8am | 9am | 10am | -| CLI RKE2 | 2am | 8am | 9am | 10am | -| UI | 3am | 8am | 9am | 10am | \ No newline at end of file +| Test type | Day(s) | Hour | +|:---:|:---:|:---:| +| CLI K3s | Monday to Saturday | 6am | +| CLI K3s Upgrade | Monday to Saturday | 8am | +| CLI RKE2 | Monday to Saturday | 7am | +| CLI RKE2 Upgrade | Monday to Saturday | 9am | +| CLI K3s Airgap | Sunday | 2am | +| CLI K3s Scalability | Sunday | 4am | +| CLI Multicluster | Sunday | 5am | +| UI K3s | Monday to Saturday | 2am | +| UI K3s Upgrade | Monday to Saturday | 4am | +| UI RKE2 | Monday to Saturday | 3am | +| UI RKE2 Upgrade | Monday to Saturday | 5am | +| Update tests description | All days | 11pm | + +**NOTE:** please note that the GitHub scheduler uses UTC and our GCP runners are deployed in `us-central1`, so UTC-5. diff --git a/.github/workflows/cli-k3s-airgap-matrix.yaml b/.github/workflows/cli-k3s-airgap-matrix.yaml new file mode 100644 index 000000000..43fe6b3ae --- /dev/null +++ b/.github/workflows/cli-k3s-airgap-matrix.yaml @@ -0,0 +1,45 @@ +# This workflow calls the master E2E workflow with custom variables +name: CLI-K3s-Airgap + +on: + workflow_dispatch: + inputs: + destroy_runner: + description: Destroy the auto-generated self-hosted runner + default: true + type: boolean + k8s_downstream_version: + description: Rancher cluster downstream version to use + default: '"v1.27.8+k3s2"' + type: string + k8s_upstream_version: + description: Rancher cluster upstream version to use + default: '"v1.26.10+k3s2"' + type: string + rancher_version: + description: Rancher Manager channel/version/head_version to use + default: '"stable/latest"' + type: string + schedule: + # Every Sunday at 2am UTC (9pm in us-central1) + - cron: '0 2 * * 0' + +jobs: + cli: + strategy: + fail-fast: false + max-parallel: 4 + matrix: + k8s_downstream_version: ${{ fromJSON(format('[{0}]', inputs.k8s_downstream_version || '"v1.27.8+k3s2"')) }} + k8s_upstream_version: ${{ fromJSON(format('[{0}]', inputs.k8s_upstream_version || '"v1.26.10+k3s2"')) }} + rancher_version: ${{ fromJSON(format('[{0}]', inputs.rancher_version || '"stable/latest","latest/devel"')) }} + uses: ./.github/workflows/master_e2e.yaml + secrets: + credentials: ${{ secrets.GCP_CREDENTIALS }} + pat_token: ${{ secrets.SELF_HOSTED_RUNNER_PAT_TOKEN }} + with: + destroy_runner: ${{ github.event_name == 'schedule' && true || inputs.destroy_runner }} + k8s_downstream_version: ${{ matrix.k8s_downstream_version }} + k8s_upstream_version: ${{ matrix.k8s_upstream_version }} + rancher_version: ${{ matrix.rancher_version }} + test_type: airgap diff --git a/.github/workflows/cli-k3s-airgap_rm_latest_dev.yaml b/.github/workflows/cli-k3s-airgap_rm_latest_dev.yaml deleted file mode 100644 index b8bb1c192..000000000 --- a/.github/workflows/cli-k3s-airgap_rm_latest_dev.yaml +++ /dev/null @@ -1,25 +0,0 @@ -# This workflow calls the master E2E workflow with custom variables -name: CLI-K3s-Airgap-RM_latest_devel - -on: - workflow_dispatch: - inputs: - destroy_runner: - description: Destroy the auto-generated self-hosted runner - default: true - type: boolean - schedule: - - cron: '0 8 * * *' - -jobs: - cli: - uses: ./.github/workflows/master_e2e.yaml - secrets: - credentials: ${{ secrets.GCP_CREDENTIALS }} - pat_token: ${{ secrets.SELF_HOSTED_RUNNER_PAT_TOKEN }} - with: - cluster_name: airgap-cluster - destroy_runner: ${{ github.event_name == 'schedule' && true || inputs.destroy_runner }} - k8s_downstream_version: v1.27.10+k3s2 - rancher_version: latest/devel - test_type: airgap diff --git a/.github/workflows/cli-k3s-airgap_rm_stable.yaml b/.github/workflows/cli-k3s-airgap_rm_stable.yaml deleted file mode 100644 index 33b51aaf6..000000000 --- a/.github/workflows/cli-k3s-airgap_rm_stable.yaml +++ /dev/null @@ -1,23 +0,0 @@ -# This workflow calls the master E2E workflow with custom variables -name: CLI-K3s-Airgap-RM_stable - -on: - workflow_dispatch: - inputs: - destroy_runner: - description: Destroy the auto-generated self-hosted runner - default: true - type: boolean - schedule: - - cron: '0 8 * * *' - -jobs: - cli: - uses: ./.github/workflows/master_e2e.yaml - secrets: - credentials: ${{ secrets.GCP_CREDENTIALS }} - pat_token: ${{ secrets.SELF_HOSTED_RUNNER_PAT_TOKEN }} - with: - cluster_name: airgap-cluster - destroy_runner: ${{ github.event_name == 'schedule' && true || inputs.destroy_runner }} - test_type: airgap diff --git a/.github/workflows/cli-k3s-hardened-rm_head_2.7.yaml b/.github/workflows/cli-k3s-hardened-rm_head_2.7.yaml deleted file mode 100644 index 700dd68cc..000000000 --- a/.github/workflows/cli-k3s-hardened-rm_head_2.7.yaml +++ /dev/null @@ -1,28 +0,0 @@ -# This workflow calls the master E2E workflow with custom variables -name: CLI-K3s-Hardened-RM_head_2.7 - -on: - workflow_dispatch: - inputs: - destroy_runner: - description: Destroy the auto-generated self-hosted runner - default: true - type: boolean - schedule: - - cron: '0 8 * * *' - -jobs: - cli: - uses: ./.github/workflows/master_e2e.yaml - secrets: - credentials: ${{ secrets.GCP_CREDENTIALS }} - pat_token: ${{ secrets.SELF_HOSTED_RUNNER_PAT_TOKEN }} - with: - backup_restore_version: v3.1.2 - cert-manager_version: v1.11.1 - cluster_name: cluster-k3s - cluster_type: hardened - destroy_runner: ${{ github.event_name == 'schedule' && true || inputs.destroy_runner }} - node_number: 3 - rancher_version: latest/devel/2.7 - test_type: cli diff --git a/.github/workflows/cli-k3s-hardened-rm_head_2.8.yaml b/.github/workflows/cli-k3s-hardened-rm_head_2.8.yaml deleted file mode 100644 index ff22f5ae1..000000000 --- a/.github/workflows/cli-k3s-hardened-rm_head_2.8.yaml +++ /dev/null @@ -1,28 +0,0 @@ -# This workflow calls the master E2E workflow with custom variables -name: CLI-K3s-Hardened-RM_head_2.8 - -on: - workflow_dispatch: - inputs: - destroy_runner: - description: Destroy the auto-generated self-hosted runner - default: true - type: boolean - schedule: - - cron: '0 9 * * *' - -jobs: - cli: - uses: ./.github/workflows/master_e2e.yaml - secrets: - credentials: ${{ secrets.GCP_CREDENTIALS }} - pat_token: ${{ secrets.SELF_HOSTED_RUNNER_PAT_TOKEN }} - with: - backup_restore_version: v4.0.0 - cert-manager_version: v1.11.1 - cluster_name: cluster-k3s - cluster_type: hardened - destroy_runner: ${{ github.event_name == 'schedule' && true || inputs.destroy_runner }} - node_number: 3 - rancher_version: latest/devel/2.8 - test_type: cli diff --git a/.github/workflows/cli-k3s-hardened-rm_head_2.9.yaml b/.github/workflows/cli-k3s-hardened-rm_head_2.9.yaml deleted file mode 100644 index 9cf058037..000000000 --- a/.github/workflows/cli-k3s-hardened-rm_head_2.9.yaml +++ /dev/null @@ -1,28 +0,0 @@ -# This workflow calls the master E2E workflow with custom variables -name: CLI-K3s-Hardened-RM_head_2.9 - -on: - workflow_dispatch: - inputs: - destroy_runner: - description: Destroy the auto-generated self-hosted runner - default: true - type: boolean - schedule: - - cron: '0 10 * * *' - -jobs: - cli: - uses: ./.github/workflows/master_e2e.yaml - secrets: - credentials: ${{ secrets.GCP_CREDENTIALS }} - pat_token: ${{ secrets.SELF_HOSTED_RUNNER_PAT_TOKEN }} - with: - backup_restore_version: v5.0.0-rc2 - cert-manager_version: v1.11.1 - cluster_name: cluster-k3s - cluster_type: hardened - destroy_runner: ${{ github.event_name == 'schedule' && true || inputs.destroy_runner }} - node_number: 3 - rancher_version: latest/devel/2.9 - test_type: cli diff --git a/.github/workflows/cli-k3s-hardened-rm_stable.yaml b/.github/workflows/cli-k3s-hardened-rm_stable.yaml deleted file mode 100644 index 4bc629eb2..000000000 --- a/.github/workflows/cli-k3s-hardened-rm_stable.yaml +++ /dev/null @@ -1,26 +0,0 @@ -# This workflow calls the master E2E workflow with custom variables -name: CLI-K3s-Hardened-RM_Stable - -on: - workflow_dispatch: - inputs: - destroy_runner: - description: Destroy the auto-generated self-hosted runner - default: true - type: boolean - schedule: - - cron: '0 1 * * *' - -jobs: - cli: - uses: ./.github/workflows/master_e2e.yaml - secrets: - credentials: ${{ secrets.GCP_CREDENTIALS }} - pat_token: ${{ secrets.SELF_HOSTED_RUNNER_PAT_TOKEN }} - with: - cert-manager_version: v1.11.1 - cluster_name: cluster-k3s - cluster_type: hardened - destroy_runner: ${{ github.event_name == 'schedule' && true || inputs.destroy_runner }} - node_number: 3 - test_type: cli diff --git a/.github/workflows/cli-k3s-hardened-upgrade-reset-rm_stable.yaml b/.github/workflows/cli-k3s-hardened-upgrade-reset-rm_stable.yaml deleted file mode 100644 index f6bd77096..000000000 --- a/.github/workflows/cli-k3s-hardened-upgrade-reset-rm_stable.yaml +++ /dev/null @@ -1,34 +0,0 @@ -# This workflow calls the master E2E workflow with custom variables -name: CLI-K3s-Hardened-Upgrade-Reset-RM_Stable - -on: - workflow_dispatch: - inputs: - destroy_runner: - description: Destroy the auto-generated self-hosted runner - default: true - type: boolean - schedule: - - cron: '0 1 * * *' - -jobs: - cli: - uses: ./.github/workflows/master_e2e.yaml - secrets: - credentials: ${{ secrets.GCP_CREDENTIALS }} - pat_token: ${{ secrets.SELF_HOSTED_RUNNER_PAT_TOKEN }} - with: - cert-manager_version: v1.11.1 - cluster_name: cluster-k3s - cluster_type: hardened - destroy_runner: ${{ github.event_name == 'schedule' && true || inputs.destroy_runner }} - node_number: 5 - operator_upgrade: oci://registry.opensuse.org/isv/rancher/elemental/dev/charts/rancher - operator_repo: oci://registry.suse.com/rancher - os_to_test: stable - rancher_upgrade: latest/devel/2.8 - rancher_version: stable/latest/none - reset: true - test_type: cli - upgrade_image: registry.opensuse.org/isv/rancher/elemental/dev/containers/suse/sl-micro/6.0/baremetal-os-container:latest - upgrade_os_channel: dev diff --git a/.github/workflows/cli-k3s-ibs_stable.yaml b/.github/workflows/cli-k3s-ibs_stable.yaml index 6579278a5..179d20601 100644 --- a/.github/workflows/cli-k3s-ibs_stable.yaml +++ b/.github/workflows/cli-k3s-ibs_stable.yaml @@ -4,9 +4,6 @@ name: CLI-K3s-IBS_Stable on: workflow_dispatch: inputs: - qase_run_id: - description: Qase run ID where the results will be reported - type: string cluster_type: description: Cluster type (empty if normal or hardened) type: string @@ -14,9 +11,20 @@ on: description: Destroy the auto-generated self-hosted runner default: true type: boolean + k8s_downstream_version: + description: Rancher cluster downstream version to use + default: v1.27.8+k3s2 + type: string + k8s_upstream_version: + description: Rancher cluster upstream version to use + default: v1.26.10+k3s2 + type: string + qase_run_id: + description: Qase run ID where the results will be reported + type: string rancher_version: description: Rancher Manager channel/version/head_version to use for installation - default: stable/latest/none + default: stable/latest type: string jobs: @@ -27,9 +35,10 @@ jobs: pat_token: ${{ secrets.SELF_HOSTED_RUNNER_PAT_TOKEN }} qase_api_token: ${{ secrets.QASE_API_TOKEN_CLI }} with: - cluster_name: cluster-k3s cluster_type: ${{ inputs.cluster_type }} destroy_runner: ${{ inputs.destroy_runner }} + k8s_downstream_version: ${{ inputs.k8s_downstream_version }} + k8s_upstream_version: ${{ inputs.k8s_upstream_version }} operator_repo: oci://registry.suse.com/rancher os_to_test: stable qase_run_id: ${{ inputs.qase_run_id }} diff --git a/.github/workflows/cli-k3s-matrix.yaml b/.github/workflows/cli-k3s-matrix.yaml new file mode 100644 index 000000000..3c73d1157 --- /dev/null +++ b/.github/workflows/cli-k3s-matrix.yaml @@ -0,0 +1,80 @@ +# This workflow calls the master E2E workflow with custom variables +name: CLI-K3s + +on: + workflow_dispatch: + inputs: + ca_type: + description: CA type to use (selfsigned or private) + default: '"selfsigned"' + type: string + cluster_type: + description: Cluster type (empty if normal or hardened) + default: '""' + type: string + destroy_runner: + description: Destroy the auto-generated self-hosted runner + default: true + type: boolean + k8s_downstream_version: + description: Rancher cluster downstream version to use + default: '"v1.27.8+k3s2"' + type: string + k8s_upstream_version: + description: Rancher cluster upstream version to use + default: '"v1.26.10+k3s2"' + type: string + rancher_version: + description: Rancher Manager channel/version/head_version to use + default: '"stable/latest"' + type: string + reset: + description: Allow reset test (mainly used on CLI tests) + default: false + type: boolean + schedule: + # From Monday to Saturday at 6am UTC (1am in us-central1) + - cron: '0 6 * * 1-6' + +jobs: + cli: + strategy: + fail-fast: false + max-parallel: 4 + matrix: + ca_type: ${{ fromJSON(format('[{0}]', inputs.ca_type || '"selfsigned","private"')) }} + cluster_type: ${{ fromJSON(format('[{0}]', inputs.cluster_type || '""')) }} + k8s_downstream_version: ${{ fromJSON(format('[{0}]', inputs.k8s_downstream_version || '"v1.27.8+k3s2"')) }} + k8s_upstream_version: ${{ fromJSON(format('[{0}]', inputs.k8s_upstream_version || '"v1.26.10+k3s2"')) }} + rancher_version: ${{ fromJSON(format('[{0}]', inputs.rancher_version || '"stable/latest","latest/devel/2.7","latest/devel/2.8","latest/devel/2.9"')) }} + reset: ${{ fromJSON(format('[{0}]', inputs.reset || 'false')) }} + sequential: [ false ] + include: + - ca_type: selfsigned + cluster_type: "" + k8s_downstream_version: v1.27.8+k3s2 + k8s_upstream_version: v1.26.10+k3s2 + rancher_version: stable/latest + reset: true + sequential: true + - ca_type: private + cluster_type: hardened + k8s_downstream_version: v1.27.8+k3s2 + k8s_upstream_version: v1.26.10+k3s2 + rancher_version: stable/latest + reset: true + sequential: false + uses: ./.github/workflows/master_e2e.yaml + secrets: + credentials: ${{ secrets.GCP_CREDENTIALS }} + pat_token: ${{ secrets.SELF_HOSTED_RUNNER_PAT_TOKEN }} + with: + ca_type: ${{ matrix.ca_type }} + cluster_type: ${{ matrix.cluster_type }} + destroy_runner: ${{ github.event_name == 'schedule' && true || inputs.destroy_runner }} + k8s_downstream_version: ${{ matrix.k8s_downstream_version }} + k8s_upstream_version: ${{ matrix.k8s_upstream_version }} + rancher_version: ${{ matrix.rancher_version }} + reset: ${{ matrix.reset }} + sequential: ${{ matrix.sequential }} + test_type: cli diff --git a/.github/workflows/cli-k3s-multi_cluster-rm_stable.yaml b/.github/workflows/cli-k3s-multi_cluster-rm_stable.yaml deleted file mode 100644 index bfd23a2ac..000000000 --- a/.github/workflows/cli-k3s-multi_cluster-rm_stable.yaml +++ /dev/null @@ -1,33 +0,0 @@ -# This workflow calls the master E2E workflow with custom variables -name: CLI-K3s-Multi_Cluster-RM_Stable - -on: - workflow_dispatch: - inputs: - qase_run_id: - description: Qase run ID where the results will be reported - type: string - destroy_runner: - description: Destroy the auto-generated self-hosted runner - default: true - type: boolean - schedule: - # Every Sunday at 2am - - cron: '0 2 * * 0' - -jobs: - cli: - uses: ./.github/workflows/master_e2e.yaml - secrets: - credentials: ${{ secrets.GCP_CREDENTIALS }} - pat_token: ${{ secrets.SELF_HOSTED_RUNNER_PAT_TOKEN }} - qase_api_token: ${{ secrets.QASE_API_TOKEN_CLI }} - with: - boot_type: iso - cluster_name: cluster-k3s - cluster_number: 20 - destroy_runner: ${{ github.event_name == 'schedule' && true || inputs.destroy_runner }} - qase_run_id: ${{ inputs.qase_run_id }} - runner_template: elemental-e2e-ci-runner-spot-x86-64-template-n2-highmem-80-v5 - test_type: multi - zone: us-central1-b diff --git a/.github/workflows/cli-k3s-obs_dev.yaml b/.github/workflows/cli-k3s-obs_dev.yaml index 0f435d7b0..d9b89c23c 100644 --- a/.github/workflows/cli-k3s-obs_dev.yaml +++ b/.github/workflows/cli-k3s-obs_dev.yaml @@ -14,9 +14,17 @@ on: description: Destroy the auto-generated self-hosted runner default: true type: boolean + k8s_downstream_version: + description: Rancher cluster downstream version to use + default: v1.27.8+k3s2 + type: string + k8s_upstream_version: + description: Rancher cluster upstream version to use + default: v1.26.10+k3s2 + type: string rancher_version: description: Rancher Manager channel/version/head_version to use for installation - default: stable/latest/none + default: stable/latest type: string jobs: @@ -27,9 +35,10 @@ jobs: pat_token: ${{ secrets.SELF_HOSTED_RUNNER_PAT_TOKEN }} qase_api_token: ${{ secrets.QASE_API_TOKEN_CLI }} with: - cluster_name: cluster-k3s cluster_type: ${{ inputs.cluster_type }} destroy_runner: ${{ inputs.destroy_runner }} + k8s_downstream_version: ${{ inputs.k8s_downstream_version }} + k8s_upstream_version: ${{ inputs.k8s_upstream_version }} operator_repo: oci://registry.opensuse.org/isv/rancher/elemental/dev/charts/rancher os_to_test: dev qase_run_id: ${{ inputs.qase_run_id }} diff --git a/.github/workflows/cli-k3s-obs_staging.yaml b/.github/workflows/cli-k3s-obs_staging.yaml index 800a67699..f3cc15ddc 100644 --- a/.github/workflows/cli-k3s-obs_staging.yaml +++ b/.github/workflows/cli-k3s-obs_staging.yaml @@ -14,9 +14,17 @@ on: description: Destroy the auto-generated self-hosted runner default: true type: boolean + k8s_downstream_version: + description: Rancher cluster downstream version to use + default: v1.27.8+k3s2 + type: string + k8s_upstream_version: + description: Rancher cluster upstream version to use + default: v1.26.10+k3s2 + type: string rancher_version: description: Rancher Manager channel/version/head_version to use for installation - default: stable/latest/none + default: stable/latest type: string jobs: @@ -27,9 +35,10 @@ jobs: pat_token: ${{ secrets.SELF_HOSTED_RUNNER_PAT_TOKEN }} qase_api_token: ${{ secrets.QASE_API_TOKEN_CLI }} with: - cluster_name: cluster-k3s cluster_type: ${{ inputs.cluster_type }} destroy_runner: ${{ inputs.destroy_runner }} + k8s_downstream_version: ${{ inputs.k8s_downstream_version }} + k8s_upstream_version: ${{ inputs.k8s_upstream_version }} operator_repo: oci://registry.opensuse.org/isv/rancher/elemental/staging/charts/rancher os_to_test: staging qase_run_id: ${{ inputs.qase_run_id }} diff --git a/.github/workflows/cli-k3s-os-upgrade-rm_stable.yaml b/.github/workflows/cli-k3s-os-upgrade-rm_stable.yaml deleted file mode 100644 index b28efac66..000000000 --- a/.github/workflows/cli-k3s-os-upgrade-rm_stable.yaml +++ /dev/null @@ -1,31 +0,0 @@ -# This workflow calls the master E2E workflow with custom variables -name: CLI-K3s-OS-Upgrade-RM_Stable - -on: - workflow_dispatch: - inputs: - destroy_runner: - description: Destroy the auto-generated self-hosted runner - default: true - type: boolean - schedule: - - cron: '0 1 * * *' - -jobs: - cli: - uses: ./.github/workflows/master_e2e.yaml - secrets: - credentials: ${{ secrets.GCP_CREDENTIALS }} - pat_token: ${{ secrets.SELF_HOSTED_RUNNER_PAT_TOKEN }} - with: - cluster_name: cluster-k3s - destroy_runner: ${{ github.event_name == 'schedule' && true || inputs.destroy_runner }} - node_number: 5 - operator_upgrade: oci://registry.opensuse.org/isv/rancher/elemental/dev/charts/rancher - operator_repo: oci://registry.suse.com/rancher - os_to_test: stable - rancher_upgrade: latest/devel/2.8 - rancher_version: stable/latest/none - test_type: cli - upgrade_image: registry.opensuse.org/isv/rancher/elemental/dev/containers/suse/sl-micro/6.0/baremetal-os-container:latest - upgrade_os_channel: dev diff --git a/.github/workflows/cli-k3s-reset-rm_head_2.7.yaml b/.github/workflows/cli-k3s-reset-rm_head_2.7.yaml deleted file mode 100644 index f12f34d34..000000000 --- a/.github/workflows/cli-k3s-reset-rm_head_2.7.yaml +++ /dev/null @@ -1,26 +0,0 @@ -# This workflow calls the master E2E workflow with custom variables -name: CLI-K3s-Reset-RM_head_2.7 - -on: - workflow_dispatch: - inputs: - destroy_runner: - description: Destroy the auto-generated self-hosted runner - default: true - type: boolean - schedule: - - cron: '0 8 * * *' - -jobs: - cli: - uses: ./.github/workflows/master_e2e.yaml - secrets: - credentials: ${{ secrets.GCP_CREDENTIALS }} - pat_token: ${{ secrets.SELF_HOSTED_RUNNER_PAT_TOKEN }} - with: - backup_restore_version: v3.1.2 - cluster_name: cluster-k3s - destroy_runner: ${{ github.event_name == 'schedule' && true || inputs.destroy_runner }} - rancher_version: latest/devel/2.7 - reset: true - test_type: cli diff --git a/.github/workflows/cli-k3s-reset-rm_head_2.8.yaml b/.github/workflows/cli-k3s-reset-rm_head_2.8.yaml deleted file mode 100644 index ecc28157a..000000000 --- a/.github/workflows/cli-k3s-reset-rm_head_2.8.yaml +++ /dev/null @@ -1,26 +0,0 @@ -# This workflow calls the master E2E workflow with custom variables -name: CLI-K3s-Reset-RM_head_2.8 - -on: - workflow_dispatch: - inputs: - destroy_runner: - description: Destroy the auto-generated self-hosted runner - default: true - type: boolean - schedule: - - cron: '0 9 * * *' - -jobs: - cli: - uses: ./.github/workflows/master_e2e.yaml - secrets: - credentials: ${{ secrets.GCP_CREDENTIALS }} - pat_token: ${{ secrets.SELF_HOSTED_RUNNER_PAT_TOKEN }} - with: - backup_restore_version: v4.0.0 - cluster_name: cluster-k3s - destroy_runner: ${{ github.event_name == 'schedule' && true || inputs.destroy_runner }} - rancher_version: latest/devel/2.8 - reset: true - test_type: cli diff --git a/.github/workflows/cli-k3s-reset-rm_head_2.9.yaml b/.github/workflows/cli-k3s-reset-rm_head_2.9.yaml deleted file mode 100644 index 99477d04d..000000000 --- a/.github/workflows/cli-k3s-reset-rm_head_2.9.yaml +++ /dev/null @@ -1,26 +0,0 @@ -# This workflow calls the master E2E workflow with custom variables -name: CLI-K3s-Reset-RM_head_2.9 - -on: - workflow_dispatch: - inputs: - destroy_runner: - description: Destroy the auto-generated self-hosted runner - default: true - type: boolean - schedule: - - cron: '0 10 * * *' - -jobs: - cli: - uses: ./.github/workflows/master_e2e.yaml - secrets: - credentials: ${{ secrets.GCP_CREDENTIALS }} - pat_token: ${{ secrets.SELF_HOSTED_RUNNER_PAT_TOKEN }} - with: - backup_restore_version: v5.0.0-rc2 - cluster_name: cluster-k3s - destroy_runner: ${{ github.event_name == 'schedule' && true || inputs.destroy_runner }} - rancher_version: latest/devel/2.9 - reset: true - test_type: cli diff --git a/.github/workflows/cli-k3s-reset-rm_stable.yaml b/.github/workflows/cli-k3s-reset-rm_stable.yaml deleted file mode 100644 index 73debcf38..000000000 --- a/.github/workflows/cli-k3s-reset-rm_stable.yaml +++ /dev/null @@ -1,24 +0,0 @@ -# This workflow calls the master E2E workflow with custom variables -name: CLI-K3s-Reset-RM_Stable - -on: - workflow_dispatch: - inputs: - destroy_runner: - description: Destroy the auto-generated self-hosted runner - default: true - type: boolean - schedule: - - cron: '0 1 * * *' - -jobs: - cli: - uses: ./.github/workflows/master_e2e.yaml - secrets: - credentials: ${{ secrets.GCP_CREDENTIALS }} - pat_token: ${{ secrets.SELF_HOSTED_RUNNER_PAT_TOKEN }} - with: - cluster_name: cluster-k3s - destroy_runner: ${{ github.event_name == 'schedule' && true || inputs.destroy_runner }} - reset: true - test_type: cli diff --git a/.github/workflows/cli-k3s-rm_head_2.7.yaml b/.github/workflows/cli-k3s-rm_head_2.7.yaml deleted file mode 100644 index 49bc47713..000000000 --- a/.github/workflows/cli-k3s-rm_head_2.7.yaml +++ /dev/null @@ -1,25 +0,0 @@ -# This workflow calls the master E2E workflow with custom variables -name: CLI-K3s-RM_head_2.7 - -on: - workflow_dispatch: - inputs: - destroy_runner: - description: Destroy the auto-generated self-hosted runner - default: true - type: boolean - schedule: - - cron: '0 8 * * *' - -jobs: - cli: - uses: ./.github/workflows/master_e2e.yaml - secrets: - credentials: ${{ secrets.GCP_CREDENTIALS }} - pat_token: ${{ secrets.SELF_HOSTED_RUNNER_PAT_TOKEN }} - with: - backup_restore_version: v3.1.2 - cluster_name: cluster-k3s - destroy_runner: ${{ github.event_name == 'schedule' && true || inputs.destroy_runner }} - rancher_version: latest/devel/2.7 - test_type: cli diff --git a/.github/workflows/cli-k3s-rm_head_2.8.yaml b/.github/workflows/cli-k3s-rm_head_2.8.yaml deleted file mode 100644 index f0fd6a33a..000000000 --- a/.github/workflows/cli-k3s-rm_head_2.8.yaml +++ /dev/null @@ -1,25 +0,0 @@ -# This workflow calls the master E2E workflow with custom variables -name: CLI-K3s-RM_head_2.8 - -on: - workflow_dispatch: - inputs: - destroy_runner: - description: Destroy the auto-generated self-hosted runner - default: true - type: boolean - schedule: - - cron: '0 9 * * *' - -jobs: - cli: - uses: ./.github/workflows/master_e2e.yaml - secrets: - credentials: ${{ secrets.GCP_CREDENTIALS }} - pat_token: ${{ secrets.SELF_HOSTED_RUNNER_PAT_TOKEN }} - with: - backup_restore_version: v4.0.0 - cluster_name: cluster-k3s - destroy_runner: ${{ github.event_name == 'schedule' && true || inputs.destroy_runner }} - rancher_version: latest/devel/2.8 - test_type: cli diff --git a/.github/workflows/cli-k3s-rm_head_2.9.yaml b/.github/workflows/cli-k3s-rm_head_2.9.yaml deleted file mode 100644 index bdefad8ef..000000000 --- a/.github/workflows/cli-k3s-rm_head_2.9.yaml +++ /dev/null @@ -1,25 +0,0 @@ -# This workflow calls the master E2E workflow with custom variables -name: CLI-K3s-RM_head_2.9 - -on: - workflow_dispatch: - inputs: - destroy_runner: - description: Destroy the auto-generated self-hosted runner - default: true - type: boolean - schedule: - - cron: '0 10 * * *' - -jobs: - cli: - uses: ./.github/workflows/master_e2e.yaml - secrets: - credentials: ${{ secrets.GCP_CREDENTIALS }} - pat_token: ${{ secrets.SELF_HOSTED_RUNNER_PAT_TOKEN }} - with: - backup_restore_version: v5.0.0-rc2 - cluster_name: cluster-k3s - destroy_runner: ${{ github.event_name == 'schedule' && true || inputs.destroy_runner }} - rancher_version: latest/devel/2.9 - test_type: cli diff --git a/.github/workflows/cli-k3s-rm_stable.yaml b/.github/workflows/cli-k3s-rm_stable.yaml deleted file mode 100644 index 306a6f412..000000000 --- a/.github/workflows/cli-k3s-rm_stable.yaml +++ /dev/null @@ -1,23 +0,0 @@ -# This workflow calls the master E2E workflow with custom variables -name: CLI-K3s-RM_Stable - -on: - workflow_dispatch: - inputs: - destroy_runner: - description: Destroy the auto-generated self-hosted runner - default: true - type: boolean - schedule: - - cron: '0 1 * * *' - -jobs: - cli: - uses: ./.github/workflows/master_e2e.yaml - secrets: - credentials: ${{ secrets.GCP_CREDENTIALS }} - pat_token: ${{ secrets.SELF_HOSTED_RUNNER_PAT_TOKEN }} - with: - cluster_name: cluster-k3s - destroy_runner: ${{ github.event_name == 'schedule' && true || inputs.destroy_runner }} - test_type: cli diff --git a/.github/workflows/cli-k3s-scalability-matrix.yaml b/.github/workflows/cli-k3s-scalability-matrix.yaml new file mode 100644 index 000000000..b8f1e4fcc --- /dev/null +++ b/.github/workflows/cli-k3s-scalability-matrix.yaml @@ -0,0 +1,49 @@ +# This workflow calls the master E2E workflow with custom variables +name: CLI-K3s-Scalability + +on: + workflow_dispatch: + inputs: + qase_run_id: + description: Qase run ID where the results will be reported + type: string + destroy_runner: + description: Destroy the auto-generated self-hosted runner + default: true + type: boolean + k8s_downstream_version: + description: Rancher cluster downstream version to use + default: '"v1.27.8+k3s2"' + type: string + k8s_upstream_version: + description: Rancher cluster upstream version to use + default: '"v1.26.10+k3s2"' + type: string + schedule: + # Every Sunday at 4am UTC (11pm in us-central1) + - cron: '0 4 * * 0' + +jobs: + cli: + strategy: + fail-fast: false + max-parallel: 1 + matrix: + k8s_downstream_version: ${{ fromJSON(format('[{0}]', inputs.k8s_downstream_version || '"v1.27.8+k3s2"')) }} + k8s_upstream_version: ${{ fromJSON(format('[{0}]', inputs.k8s_upstream_version || '"v1.26.10+k3s2"')) }} + rancher_version: ${{ fromJSON(format('[{0}]', inputs.rancher_version || '"stable/latest","latest/devel")) }} + uses: ./.github/workflows/master_e2e.yaml + secrets: + credentials: ${{ secrets.GCP_CREDENTIALS }} + pat_token: ${{ secrets.SELF_HOSTED_RUNNER_PAT_TOKEN }} + qase_api_token: ${{ secrets.QASE_API_TOKEN_CLI }} + with: + destroy_runner: ${{ github.event_name == 'schedule' && true || inputs.destroy_runner }} + node_number: 60 + qase_run_id: ${{ inputs.qase_run_id }} + k8s_downstream_version: ${{ matrix.k8s_downstream_version }} + k8s_upstream_version: ${{ matrix.k8s_upstream_version }} + rancher_version: ${{ matrix.rancher_version }} + runner_template: elemental-e2e-ci-runner-spot-x86-64-template-n2-highmem-80-v5 + test_type: cli + zone: us-central1-f diff --git a/.github/workflows/cli-k3s-scalability-rm_stable.yaml b/.github/workflows/cli-k3s-scalability-rm_stable.yaml deleted file mode 100644 index 2774ed4de..000000000 --- a/.github/workflows/cli-k3s-scalability-rm_stable.yaml +++ /dev/null @@ -1,33 +0,0 @@ -# This workflow calls the master E2E workflow with custom variables -name: CLI-K3s-Scalability-RM_Stable - -on: - workflow_dispatch: - inputs: - qase_run_id: - description: Qase run ID where the results will be reported - type: string - destroy_runner: - description: Destroy the auto-generated self-hosted runner - default: true - type: boolean - schedule: - # Every Sunday at 1am - - cron: '0 1 * * 0' - -jobs: - cli: - uses: ./.github/workflows/master_e2e.yaml - secrets: - credentials: ${{ secrets.GCP_CREDENTIALS }} - pat_token: ${{ secrets.SELF_HOSTED_RUNNER_PAT_TOKEN }} - qase_api_token: ${{ secrets.QASE_API_TOKEN_CLI }} - with: - cluster_name: cluster-k3s - destroy_runner: ${{ github.event_name == 'schedule' && true || inputs.destroy_runner }} - node_number: 60 - qase_run_id: ${{ inputs.qase_run_id }} - rancher_version: stable/latest/none - runner_template: elemental-e2e-ci-runner-spot-x86-64-template-n2-highmem-80-v5 - test_type: cli - zone: us-central1-f diff --git a/.github/workflows/cli-k3s-sequential-rm_stable.yaml b/.github/workflows/cli-k3s-sequential-rm_stable.yaml deleted file mode 100644 index 10356ca9c..000000000 --- a/.github/workflows/cli-k3s-sequential-rm_stable.yaml +++ /dev/null @@ -1,30 +0,0 @@ -# This workflow calls the master E2E workflow with custom variables -name: CLI-K3s-Sequential-Rancher_Stable - -on: - workflow_dispatch: - inputs: - qase_run_id: - description: Qase run ID where the results will be reported - type: string - destroy_runner: - description: Destroy the auto-generated self-hosted runner - default: true - type: boolean - schedule: - - cron: '0 1 * * *' - -jobs: - cli: - uses: ./.github/workflows/master_e2e.yaml - secrets: - credentials: ${{ secrets.GCP_CREDENTIALS }} - pat_token: ${{ secrets.SELF_HOSTED_RUNNER_PAT_TOKEN }} - qase_api_token: ${{ secrets.QASE_API_TOKEN_CLI }} - with: - cluster_name: cluster-k3s - destroy_runner: ${{ github.event_name == 'schedule' && true || inputs.destroy_runner }} - qase_run_id: ${{ inputs.qase_run_id }} - rancher_version: stable/latest/none - test_type: cli - sequential: true diff --git a/.github/workflows/cli-k3s-upgrade-matrix.yaml b/.github/workflows/cli-k3s-upgrade-matrix.yaml new file mode 100644 index 000000000..0b91b9264 --- /dev/null +++ b/.github/workflows/cli-k3s-upgrade-matrix.yaml @@ -0,0 +1,58 @@ +# This workflow calls the master E2E workflow with custom variables +name: CLI-K3s-Upgrade + +on: + workflow_dispatch: + inputs: + cluster_type: + description: Cluster type (empty if normal or hardened) + default: '""' + type: string + destroy_runner: + description: Destroy the auto-generated self-hosted runner + default: true + type: boolean + k8s_downstream_version: + description: Rancher cluster downstream version to use + default: '"v1.27.8+k3s2"' + type: string + k8s_upstream_version: + description: Rancher cluster upstream version to use + default: '"v1.26.10+k3s2"' + type: string + rancher_upgrade: + description: Rancher Manager channel/version to upgrade to + default: '"latest/devel/2.8"' + type: string + schedule: + # From Monday to Saturday at 8am UTC (3am in us-central1) + - cron: '0 8 * * 1-6' + +jobs: + cli: + strategy: + fail-fast: false + max-parallel: 4 + matrix: + cluster_type: ${{ fromJSON(format('[{0}]', inputs.cluster_type || '"", "hardened"')) }} + k8s_downstream_version: ${{ fromJSON(format('[{0}]', inputs.k8s_downstream_version || '"v1.27.8+k3s2"')) }} + k8s_upstream_version: ${{ fromJSON(format('[{0}]', inputs.k8s_upstream_version || '"v1.26.10+k3s2"')) }} + rancher_upgrade: ${{ fromJSON(format('[{0}]', inputs.rancher_version || '"latest/devel/2.7","latest/devel/2.8","latest/devel/2.9"')) }} + uses: ./.github/workflows/master_e2e.yaml + secrets: + credentials: ${{ secrets.GCP_CREDENTIALS }} + pat_token: ${{ secrets.SELF_HOSTED_RUNNER_PAT_TOKEN }} + with: + cluster_type: ${{ matrix.cluster_type }} + destroy_runner: ${{ github.event_name == 'schedule' && true || inputs.destroy_runner }} + k8s_downstream_version: ${{ matrix.k8s_downstream_version }} + k8s_upstream_version: ${{ matrix.k8s_upstream_version }} + operator_upgrade: oci://registry.opensuse.org/isv/rancher/elemental/dev/charts/rancher + operator_repo: oci://registry.suse.com/rancher + os_to_test: stable + rancher_upgrade: ${{ matrix.rancher_upgrade }} + rancher_version: stable/latest + reset: true + test_type: cli + upgrade_image: registry.opensuse.org/isv/rancher/elemental/dev/containers/suse/sl-micro/6.0/baremetal-os-container:latest + upgrade_os_channel: dev diff --git a/.github/workflows/cli-multicluster-matrix.yaml b/.github/workflows/cli-multicluster-matrix.yaml new file mode 100644 index 000000000..1068b53e7 --- /dev/null +++ b/.github/workflows/cli-multicluster-matrix.yaml @@ -0,0 +1,52 @@ +# This workflow calls the master E2E workflow with custom variables +name: CLI-Multicluster + +on: + workflow_dispatch: + inputs: + qase_run_id: + description: Qase run ID where the results will be reported + type: string + destroy_runner: + description: Destroy the auto-generated self-hosted runner + default: true + type: boolean + k8s_downstream_version: + description: Rancher cluster downstream version to use + default: '"v1.27.8+k3s2"' + type: string + k8s_upstream_version: + description: Rancher cluster upstream version to use + default: '"v1.26.10+k3s2"' + type: string + rancher_version: + description: Rancher Manager channel/version/head_version to use + default: '"stable/latest"' + type: string + schedule: + # Every Sunday at 8am UTC (3am in us-central1) + - cron: '0 5 * * 0' + +jobs: + cli: + strategy: + fail-fast: false + max-parallel: 1 + matrix: + k8s_downstream_version: ${{ fromJSON(format('[{0}]', inputs.k8s_downstream_version || '"v1.27.8+k3s2","v1.27.8+rke2r1"')) }} + k8s_upstream_version: ${{ fromJSON(format('[{0}]', inputs.k8s_upstream_version || '"v1.26.10+k3s2","v1.26.10+rke2r2"')) }} + rancher_version: ${{ fromJSON(format('[{0}]', inputs.rancher_version || '"stable/latest","latest/devel")) }} + uses: ./.github/workflows/master_e2e.yaml + secrets: + credentials: ${{ secrets.GCP_CREDENTIALS }} + pat_token: ${{ secrets.SELF_HOSTED_RUNNER_PAT_TOKEN }} + qase_api_token: ${{ secrets.QASE_API_TOKEN_CLI }} + with: + boot_type: iso + cluster_number: 20 + destroy_runner: ${{ github.event_name == 'schedule' && true || inputs.destroy_runner }} + qase_run_id: ${{ inputs.qase_run_id }} + rancher_version: ${{ matrix.rancher_version }} + runner_template: elemental-e2e-ci-runner-spot-x86-64-template-n2-highmem-80-v5 + test_type: multi + zone: us-central1-b diff --git a/.github/workflows/cli-k3s-os-upgrade.yaml b/.github/workflows/cli-obs-manual-upgrade-workflow.yaml similarity index 73% rename from .github/workflows/cli-k3s-os-upgrade.yaml rename to .github/workflows/cli-obs-manual-upgrade-workflow.yaml index 67e774109..78110ba87 100644 --- a/.github/workflows/cli-k3s-os-upgrade.yaml +++ b/.github/workflows/cli-obs-manual-upgrade-workflow.yaml @@ -1,9 +1,13 @@ # This workflow calls the master E2E workflow with custom variables -name: CLI-K3s-OS-Upgrade +name: CLI-OBS-Manual-Upgrade-Workflow on: workflow_dispatch: inputs: + ca_type: + description: CA type to use (selfsigned or private) + default: selfsigned + type: string qase_run_id: description: Qase run ID where the results will be reported type: string @@ -11,17 +15,25 @@ on: description: Destroy the auto-generated self-hosted runner default: true type: boolean + k8s_downstream_version: + description: Rancher cluster downstream version to use + default: v1.27.8+k3s2 + type: string + k8s_upstream_version: + description: Rancher cluster upstream version to use + default: v1.26.10+k3s2 + type: string operator_repo: description: Operator version to use for initial deployment default: oci://registry.suse.com/rancher type: string rancher_upgrade: description: Rancher Manager channel/version to upgrade to - default: latest/devel/2.7 + default: latest/devel/2.8 type: string rancher_version: description: Rancher Manager channel/version/head_version to use for installation - default: stable/latest/none + default: stable/latest type: string slem_version: description: SLE Micro version @@ -40,8 +52,10 @@ jobs: pat_token: ${{ secrets.SELF_HOSTED_RUNNER_PAT_TOKEN }} qase_api_token: ${{ secrets.QASE_API_TOKEN_CLI }} with: - cluster_name: cluster-k3s + ca_type: ${{ inputs.ca_type }} destroy_runner: ${{ inputs.destroy_runner }} + k8s_downstream_version: ${{ inputs.k8s_downstream_version }} + k8s_upstream_version: ${{ inputs.k8s_upstream_version }} node_number: 5 operator_upgrade: oci://registry.opensuse.org/isv/rancher/elemental/${{ inputs.upgrade_os_channel }}/charts/rancher operator_repo: ${{ inputs.operator_repo }} diff --git a/.github/workflows/cli-obs-manual-workflow.yaml b/.github/workflows/cli-obs-manual-workflow.yaml index 7ba5a1471..6197266c0 100644 --- a/.github/workflows/cli-obs-manual-workflow.yaml +++ b/.github/workflows/cli-obs-manual-workflow.yaml @@ -16,13 +16,13 @@ on: default: true type: boolean k8s_downstream_version: - description: Rancher cluster downstream version (K3s or RKE2) + description: Rancher cluster downstream version to use default: v1.27.8+k3s2 type: string - node_number: - description: Number of nodes (>3) to deploy on the provisioned cluster - default: 5 - type: number + k8s_upstream_version: + description: Rancher cluster upstream version to use + default: v1.26.10+k3s2 + type: string operator_repo: description: Elemental operator repository to use default: oci://registry.opensuse.org/isv/rancher/elemental/dev/charts/rancher @@ -33,11 +33,7 @@ on: default: dev rancher_version: description: Rancher Manager channel/version/head_version to use for installation - default: stable/latest/none - type: string - runner_template: - description: Runner template to use - default: elemental-e2e-ci-runner-spot-x86-64-template-n2-standard-16-v5 + default: stable/latest type: string sequential: description: Defines if bootstrapping is done sequentially (true) or in parallel (false) @@ -52,15 +48,13 @@ jobs: pat_token: ${{ secrets.SELF_HOSTED_RUNNER_PAT_TOKEN }} with: ca_type: ${{ inputs.ca_type }} - cluster_name: my-own-cluster cluster_type: ${{ inputs.cluster_type }} destroy_runner: ${{ inputs.destroy_runner }} k8s_downstream_version: ${{ inputs.k8s_downstream_version }} - node_number: ${{ inputs.node_number }} + k8s_upstream_version: ${{ inputs.k8s_upstream_version }} operator_repo: ${{ inputs.operator_repo }} os_to_test: ${{ inputs.os_to_test }} rancher_version: ${{ inputs.rancher_version }} reset: true - runner_template: ${{ inputs.runner_template }} sequential: ${{ inputs.sequential }} test_type: cli diff --git a/.github/workflows/cli-rke2-hardened-rm_head_2.7.yaml b/.github/workflows/cli-rke2-hardened-rm_head_2.7.yaml deleted file mode 100644 index 22781f054..000000000 --- a/.github/workflows/cli-rke2-hardened-rm_head_2.7.yaml +++ /dev/null @@ -1,29 +0,0 @@ -# This workflow calls the master E2E workflow with custom variables -name: CLI-RKE2-Hardened-RM_head_2.7 - -on: - workflow_dispatch: - inputs: - destroy_runner: - description: Destroy the auto-generated self-hosted runner - default: true - type: boolean - schedule: - - cron: '0 8 * * *' - -jobs: - cli: - uses: ./.github/workflows/master_e2e.yaml - secrets: - credentials: ${{ secrets.GCP_CREDENTIALS }} - pat_token: ${{ secrets.SELF_HOSTED_RUNNER_PAT_TOKEN }} - with: - ca_type: private - cluster_name: cluster-rke2 - cluster_type: hardened - destroy_runner: ${{ github.event_name == 'schedule' && true || inputs.destroy_runner }} - k8s_downstream_version: v1.27.8+rke2r1 - k8s_upstream_version: v1.26.10+rke2r2 - node_number: 3 - rancher_version: latest/devel/2.7 - test_type: cli diff --git a/.github/workflows/cli-rke2-hardened-rm_head_2.8.yaml b/.github/workflows/cli-rke2-hardened-rm_head_2.8.yaml deleted file mode 100644 index 3bfddfbf2..000000000 --- a/.github/workflows/cli-rke2-hardened-rm_head_2.8.yaml +++ /dev/null @@ -1,29 +0,0 @@ -# This workflow calls the master E2E workflow with custom variables -name: CLI-RKE2-Hardened-RM_head_2.8 - -on: - workflow_dispatch: - inputs: - destroy_runner: - description: Destroy the auto-generated self-hosted runner - default: true - type: boolean - schedule: - - cron: '0 9 * * *' - -jobs: - cli: - uses: ./.github/workflows/master_e2e.yaml - secrets: - credentials: ${{ secrets.GCP_CREDENTIALS }} - pat_token: ${{ secrets.SELF_HOSTED_RUNNER_PAT_TOKEN }} - with: - ca_type: private - cluster_name: cluster-rke2 - cluster_type: hardened - destroy_runner: ${{ github.event_name == 'schedule' && true || inputs.destroy_runner }} - k8s_downstream_version: v1.27.8+rke2r1 - k8s_upstream_version: v1.26.10+rke2r2 - node_number: 3 - rancher_version: latest/devel/2.8 - test_type: cli diff --git a/.github/workflows/cli-rke2-hardened-rm_head_2.9.yaml b/.github/workflows/cli-rke2-hardened-rm_head_2.9.yaml deleted file mode 100644 index 08db6445d..000000000 --- a/.github/workflows/cli-rke2-hardened-rm_head_2.9.yaml +++ /dev/null @@ -1,29 +0,0 @@ -# This workflow calls the master E2E workflow with custom variables -name: CLI-RKE2-Hardened-RM_head_2.9 - -on: - workflow_dispatch: - inputs: - destroy_runner: - description: Destroy the auto-generated self-hosted runner - default: true - type: boolean - schedule: - - cron: '0 10 * * *' - -jobs: - cli: - uses: ./.github/workflows/master_e2e.yaml - secrets: - credentials: ${{ secrets.GCP_CREDENTIALS }} - pat_token: ${{ secrets.SELF_HOSTED_RUNNER_PAT_TOKEN }} - with: - ca_type: private - cluster_name: cluster-rke2 - cluster_type: hardened - destroy_runner: ${{ github.event_name == 'schedule' && true || inputs.destroy_runner }} - k8s_downstream_version: v1.27.8+rke2r1 - k8s_upstream_version: v1.26.10+rke2r2 - node_number: 3 - rancher_version: latest/devel/2.9 - test_type: cli diff --git a/.github/workflows/cli-rke2-hardened-rm_stable.yaml b/.github/workflows/cli-rke2-hardened-rm_stable.yaml deleted file mode 100644 index 36599d60a..000000000 --- a/.github/workflows/cli-rke2-hardened-rm_stable.yaml +++ /dev/null @@ -1,28 +0,0 @@ -# This workflow calls the master E2E workflow with custom variables -name: CLI-RKE2-Hardened-Rancher_Stable - -on: - workflow_dispatch: - inputs: - destroy_runner: - description: Destroy the auto-generated self-hosted runner - default: true - type: boolean - schedule: - - cron: '0 2 * * *' - -jobs: - cli: - uses: ./.github/workflows/master_e2e.yaml - secrets: - credentials: ${{ secrets.GCP_CREDENTIALS }} - pat_token: ${{ secrets.SELF_HOSTED_RUNNER_PAT_TOKEN }} - with: - ca_type: private - cluster_name: cluster-rke2 - cluster_type: hardened - destroy_runner: ${{ github.event_name == 'schedule' && true || inputs.destroy_runner }} - k8s_downstream_version: v1.27.8+rke2r1 - k8s_upstream_version: v1.26.10+rke2r2 - node_number: 3 - test_type: cli diff --git a/.github/workflows/cli-rke2-hardened-upgrade-reset-rm_stable.yaml b/.github/workflows/cli-rke2-hardened-upgrade-reset-rm_stable.yaml deleted file mode 100644 index 0a23036bb..000000000 --- a/.github/workflows/cli-rke2-hardened-upgrade-reset-rm_stable.yaml +++ /dev/null @@ -1,36 +0,0 @@ -# This workflow calls the master E2E workflow with custom variables -name: CLI-RKE2-Hardened-Upgrade-Reset-Rancher_Stable - -on: - workflow_dispatch: - inputs: - destroy_runner: - description: Destroy the auto-generated self-hosted runner - default: true - type: boolean - schedule: - - cron: '0 2 * * *' - -jobs: - cli: - uses: ./.github/workflows/master_e2e.yaml - secrets: - credentials: ${{ secrets.GCP_CREDENTIALS }} - pat_token: ${{ secrets.SELF_HOSTED_RUNNER_PAT_TOKEN }} - with: - ca_type: private - cluster_name: cluster-rke2 - cluster_type: hardened - destroy_runner: ${{ github.event_name == 'schedule' && true || inputs.destroy_runner }} - k8s_downstream_version: v1.27.8+rke2r1 - k8s_upstream_version: v1.26.10+rke2r2 - node_number: 5 - operator_upgrade: oci://registry.opensuse.org/isv/rancher/elemental/dev/charts/rancher - operator_repo: oci://registry.suse.com/rancher - os_to_test: stable - rancher_upgrade: latest/devel/2.8 - rancher_version: stable/latest/none - reset: true - test_type: cli - upgrade_image: registry.opensuse.org/isv/rancher/elemental/dev/containers/suse/sl-micro/6.0/baremetal-os-container:latest - upgrade_os_channel: dev diff --git a/.github/workflows/cli-rke2-ibs_stable.yaml b/.github/workflows/cli-rke2-ibs_stable.yaml index 68dd7e8a8..f9eec17fc 100644 --- a/.github/workflows/cli-rke2-ibs_stable.yaml +++ b/.github/workflows/cli-rke2-ibs_stable.yaml @@ -14,9 +14,17 @@ on: description: Destroy the auto-generated self-hosted runner default: true type: boolean + k8s_downstream_version: + description: Rancher cluster downstream version to use + default: v1.27.8+rke2r1 + type: string + k8s_upstream_version: + description: Rancher cluster upstream version to use + default: v1.26.10+rke2r2 + type: string rancher_version: description: Rancher Manager channel/version/head_version to use for installation - default: stable/latest/none + default: stable/latest type: string jobs: @@ -28,11 +36,10 @@ jobs: qase_api_token: ${{ secrets.QASE_API_TOKEN_CLI }} with: ca_type: private - cluster_name: cluster-rke2 cluster_type: ${{ inputs.cluster_type }} destroy_runner: ${{ inputs.destroy_runner }} - k8s_downstream_version: v1.27.8+rke2r1 - k8s_upstream_version: v1.26.10+rke2r2 + k8s_downstream_version: ${{ inputs.k8s_downstream_version }} + k8s_upstream_version: ${{ inputs.k8s_upstream_version }} operator_repo: oci://registry.suse.com/rancher os_to_test: stable qase_run_id: ${{ inputs.qase_run_id }} diff --git a/.github/workflows/cli-rke2-matrix.yaml b/.github/workflows/cli-rke2-matrix.yaml new file mode 100644 index 000000000..d4ed4e0a6 --- /dev/null +++ b/.github/workflows/cli-rke2-matrix.yaml @@ -0,0 +1,80 @@ +# This workflow calls the master E2E workflow with custom variables +name: CLI-RKE2 + +on: + workflow_dispatch: + inputs: + ca_type: + description: CA type to use (selfsigned or private) + default: '"selfsigned"' + type: string + cluster_type: + description: Cluster type (empty if normal or hardened) + default: '""' + type: string + destroy_runner: + description: Destroy the auto-generated self-hosted runner + default: true + type: boolean + k8s_downstream_version: + description: Rancher cluster downstream version to use + default: '"v1.27.8+k3s2"' + type: string + k8s_upstream_version: + description: Rancher cluster upstream version to use + default: '"v1.26.10+k3s2"' + type: string + rancher_version: + description: Rancher Manager channel/version/head_version to use + default: '"stable/latest"' + type: string + reset: + description: Allow reset test (mainly used on CLI tests) + default: false + type: boolean + schedule: + # From Monday to Saturday at 7am UTC (2am in us-central1) + - cron: '0 7 * * 1-6' + +jobs: + cli: + strategy: + fail-fast: false + max-parallel: 4 + matrix: + ca_type: ${{ fromJSON(format('[{0}]', inputs.ca_type || '"selfsigned","private"')) }} + cluster_type: ${{ fromJSON(format('[{0}]', inputs.cluster_type || '""')) }} + k8s_downstream_version: ${{ fromJSON(format('[{0}]', inputs.k8s_downstream_version || '"v1.27.8+rke2r1"')) }} + k8s_upstream_version: ${{ fromJSON(format('[{0}]', inputs.k8s_upstream_version || '"v1.26.10+rke2r2"')) }} + rancher_version: ${{ fromJSON(format('[{0}]', inputs.rancher_version || '"stable/latest","latest/devel/2.7","latest/devel/2.8","latest/devel/2.9"')) }} + reset: ${{ fromJSON(format('[{0}]', inputs.reset || 'false')) }} + sequential: [ false ] + include: + - ca_type: selfsigned + cluster_type: "" + k8s_downstream_version: v1.27.8+k3s2 + k8s_upstream_version: v1.26.10+k3s2 + rancher_version: stable/latest + reset: true + sequential: true + - ca_type: private + cluster_type: hardened + k8s_downstream_version: v1.27.8+k3s2 + k8s_upstream_version: v1.26.10+k3s2 + rancher_version: stable/latest + reset: true + sequential: false + uses: ./.github/workflows/master_e2e.yaml + secrets: + credentials: ${{ secrets.GCP_CREDENTIALS }} + pat_token: ${{ secrets.SELF_HOSTED_RUNNER_PAT_TOKEN }} + with: + ca_type: ${{ matrix.ca_type }} + cluster_type: ${{ matrix.cluster_type }} + destroy_runner: ${{ github.event_name == 'schedule' && true || inputs.destroy_runner }} + k8s_downstream_version: ${{ matrix.k8s_downstream_version }} + k8s_upstream_version: ${{ matrix.k8s_upstream_version }} + rancher_version: ${{ matrix.rancher_version }} + reset: ${{ matrix.reset }} + sequential: ${{ matrix.sequential }} + test_type: cli diff --git a/.github/workflows/cli-rke2-multi_cluster-rm_stable.yaml b/.github/workflows/cli-rke2-multi_cluster-rm_stable.yaml deleted file mode 100644 index 089cc2015..000000000 --- a/.github/workflows/cli-rke2-multi_cluster-rm_stable.yaml +++ /dev/null @@ -1,36 +0,0 @@ -# This workflow calls the master E2E workflow with custom variables -name: CLI-RKE2-Multi_Cluster-RM_Stable - -on: - workflow_dispatch: - inputs: - qase_run_id: - description: Qase run ID where the results will be reported - type: string - destroy_runner: - description: Destroy the auto-generated self-hosted runner - default: true - type: boolean - schedule: - # Every Sunday at 5am - - cron: '0 5 * * 0' - -jobs: - cli: - uses: ./.github/workflows/master_e2e.yaml - secrets: - credentials: ${{ secrets.GCP_CREDENTIALS }} - pat_token: ${{ secrets.SELF_HOSTED_RUNNER_PAT_TOKEN }} - qase_api_token: ${{ secrets.QASE_API_TOKEN_CLI }} - with: - boot_type: iso - ca_type: private - cluster_name: cluster-rke2 - cluster_number: 10 - destroy_runner: ${{ github.event_name == 'schedule' && true || inputs.destroy_runner }} - k8s_downstream_version: v1.27.8+rke2r1 - k8s_upstream_version: v1.26.10+rke2r2 - qase_run_id: ${{ inputs.qase_run_id }} - runner_template: elemental-e2e-ci-runner-spot-x86-64-template-n2-highmem-80-v5 - test_type: multi - zone: us-central1-b diff --git a/.github/workflows/cli-rke2-obs_dev.yaml b/.github/workflows/cli-rke2-obs_dev.yaml index bf808cb07..03c880842 100644 --- a/.github/workflows/cli-rke2-obs_dev.yaml +++ b/.github/workflows/cli-rke2-obs_dev.yaml @@ -14,9 +14,17 @@ on: description: Destroy the auto-generated self-hosted runner default: true type: boolean + k8s_downstream_version: + description: Rancher cluster downstream version to use + default: v1.27.8+rke2r1 + type: string + k8s_upstream_version: + description: Rancher cluster upstream version to use + default: v1.26.10+rke2r2 + type: string rancher_version: description: Rancher Manager channel/version/head_version to use for installation - default: stable/latest/none + default: stable/latest type: string jobs: @@ -28,11 +36,10 @@ jobs: qase_api_token: ${{ secrets.QASE_API_TOKEN_CLI }} with: ca_type: private - cluster_name: cluster-rke2 cluster_type: ${{ inputs.cluster_type }} destroy_runner: ${{ inputs.destroy_runner }} - k8s_downstream_version: v1.27.8+rke2r1 - k8s_upstream_version: v1.26.10+rke2r2 + k8s_downstream_version: ${{ inputs.k8s_downstream_version }} + k8s_upstream_version: ${{ inputs.k8s_upstream_version }} operator_repo: oci://registry.opensuse.org/isv/rancher/elemental/dev/charts/rancher os_to_test: dev qase_run_id: ${{ inputs.qase_run_id }} diff --git a/.github/workflows/cli-rke2-obs_staging.yaml b/.github/workflows/cli-rke2-obs_staging.yaml index 42b045834..7dc335a46 100644 --- a/.github/workflows/cli-rke2-obs_staging.yaml +++ b/.github/workflows/cli-rke2-obs_staging.yaml @@ -14,9 +14,17 @@ on: description: Destroy the auto-generated self-hosted runner default: true type: boolean + k8s_downstream_version: + description: Rancher cluster downstream version to use + default: v1.27.8+rke2r1 + type: string + k8s_upstream_version: + description: Rancher cluster upstream version to use + default: v1.26.10+rke2r2 + type: string rancher_version: description: Rancher Manager channel/version/head_version to use for installation - default: stable/latest/none + default: stable/latest type: string jobs: @@ -28,11 +36,10 @@ jobs: qase_api_token: ${{ secrets.QASE_API_TOKEN_CLI }} with: ca_type: private - cluster_name: cluster-rke2 cluster_type: ${{ inputs.cluster_type }} destroy_runner: ${{ inputs.destroy_runner }} - k8s_downstream_version: v1.27.8+rke2r1 - k8s_upstream_version: v1.26.10+rke2r2 + k8s_downstream_version: ${{ inputs.k8s_downstream_version }} + k8s_upstream_version: ${{ inputs.k8s_upstream_version }} operator_repo: oci://registry.opensuse.org/isv/rancher/elemental/staging/charts/rancher os_to_test: staging qase_run_id: ${{ inputs.qase_run_id }} diff --git a/.github/workflows/cli-rke2-os-upgrade-rm_stable.yaml b/.github/workflows/cli-rke2-os-upgrade-rm_stable.yaml deleted file mode 100644 index 885658cd7..000000000 --- a/.github/workflows/cli-rke2-os-upgrade-rm_stable.yaml +++ /dev/null @@ -1,34 +0,0 @@ -# This workflow calls the master E2E workflow with custom variables -name: CLI-RKE2-OS-Upgrade-RM_Stable - -on: - workflow_dispatch: - inputs: - destroy_runner: - description: Destroy the auto-generated self-hosted runner - default: true - type: boolean - schedule: - - cron: '0 2 * * *' - -jobs: - cli: - uses: ./.github/workflows/master_e2e.yaml - secrets: - credentials: ${{ secrets.GCP_CREDENTIALS }} - pat_token: ${{ secrets.SELF_HOSTED_RUNNER_PAT_TOKEN }} - with: - ca_type: private - cluster_name: cluster-rke2 - destroy_runner: ${{ github.event_name == 'schedule' && true || inputs.destroy_runner }} - k8s_downstream_version: v1.27.8+rke2r1 - k8s_upstream_version: v1.26.10+rke2r2 - node_number: 5 - operator_upgrade: oci://registry.opensuse.org/isv/rancher/elemental/dev/charts/rancher - operator_repo: oci://registry.suse.com/rancher - os_to_test: stable - rancher_upgrade: latest/devel/2.8 - rancher_version: stable/latest/none - test_type: cli - upgrade_image: registry.opensuse.org/isv/rancher/elemental/dev/containers/suse/sl-micro/6.0/baremetal-os-container:latest - upgrade_os_channel: dev diff --git a/.github/workflows/cli-rke2-os-upgrade.yaml b/.github/workflows/cli-rke2-os-upgrade.yaml index 85e99acc7..a36319f10 100644 --- a/.github/workflows/cli-rke2-os-upgrade.yaml +++ b/.github/workflows/cli-rke2-os-upgrade.yaml @@ -1,5 +1,5 @@ # This workflow calls the master E2E workflow with custom variables -name: CLI-RKE2-OS-Upgrade +name: CLI-RKE2-Manual-Upgrade-Workflow on: workflow_dispatch: @@ -11,6 +11,14 @@ on: description: Destroy the auto-generated self-hosted runner default: true type: boolean + k8s_downstream_version: + description: Rancher cluster downstream version to use + default: v1.27.8+rke2r1 + type: string + k8s_upstream_version: + description: Rancher cluster upstream version to use + default: v1.26.10+rke2r2 + type: string operator_repo: description: Operator version to use for initial deployment default: oci://registry.suse.com/rancher @@ -21,7 +29,7 @@ on: type: string rancher_version: description: Rancher Manager channel/version/head_version to use for installation - default: stable/latest/none + default: stable/latest type: string slem_version: description: SLE Micro version @@ -41,10 +49,9 @@ jobs: qase_api_token: ${{ secrets.QASE_API_TOKEN_CLI }} with: ca_type: private - cluster_name: cluster-rke2 destroy_runner: ${{ inputs.destroy_runner }} - k8s_downstream_version: v1.27.8+rke2r1 - k8s_upstream_version: v1.26.10+rke2r2 + k8s_downstream_version: ${{ inputs.k8s_downstream_version }} + k8s_upstream_version: ${{ inputs.k8s_upstream_version }} node_number: 5 operator_upgrade: oci://registry.opensuse.org/isv/rancher/elemental/${{ inputs.upgrade_os_channel }}/charts/rancher operator_repo: ${{ inputs.operator_repo }} diff --git a/.github/workflows/cli-rke2-reset-rm_head_2.7.yaml b/.github/workflows/cli-rke2-reset-rm_head_2.7.yaml deleted file mode 100644 index 5fba6344f..000000000 --- a/.github/workflows/cli-rke2-reset-rm_head_2.7.yaml +++ /dev/null @@ -1,28 +0,0 @@ -# This workflow calls the master E2E workflow with custom variables -name: CLI-RKE2-Reset-RM_head_2.7 - -on: - workflow_dispatch: - inputs: - destroy_runner: - description: Destroy the auto-generated self-hosted runner - default: true - type: boolean - schedule: - - cron: '0 8 * * *' - -jobs: - cli: - uses: ./.github/workflows/master_e2e.yaml - secrets: - credentials: ${{ secrets.GCP_CREDENTIALS }} - pat_token: ${{ secrets.SELF_HOSTED_RUNNER_PAT_TOKEN }} - with: - ca_type: private - cluster_name: cluster-rke2 - destroy_runner: ${{ github.event_name == 'schedule' && true || inputs.destroy_runner }} - k8s_downstream_version: v1.27.8+rke2r1 - k8s_upstream_version: v1.26.10+rke2r2 - rancher_version: latest/devel/2.7 - reset: true - test_type: cli diff --git a/.github/workflows/cli-rke2-reset-rm_head_2.8.yaml b/.github/workflows/cli-rke2-reset-rm_head_2.8.yaml deleted file mode 100644 index 3fa0bde67..000000000 --- a/.github/workflows/cli-rke2-reset-rm_head_2.8.yaml +++ /dev/null @@ -1,28 +0,0 @@ -# This workflow calls the master E2E workflow with custom variables -name: CLI-RKE2-Reset-RM_head_2.8 - -on: - workflow_dispatch: - inputs: - destroy_runner: - description: Destroy the auto-generated self-hosted runner - default: true - type: boolean - schedule: - - cron: '0 9 * * *' - -jobs: - cli: - uses: ./.github/workflows/master_e2e.yaml - secrets: - credentials: ${{ secrets.GCP_CREDENTIALS }} - pat_token: ${{ secrets.SELF_HOSTED_RUNNER_PAT_TOKEN }} - with: - ca_type: private - cluster_name: cluster-rke2 - destroy_runner: ${{ github.event_name == 'schedule' && true || inputs.destroy_runner }} - k8s_downstream_version: v1.27.8+rke2r1 - k8s_upstream_version: v1.26.10+rke2r2 - rancher_version: latest/devel/2.8 - reset: true - test_type: cli diff --git a/.github/workflows/cli-rke2-reset-rm_head_2.9.yaml b/.github/workflows/cli-rke2-reset-rm_head_2.9.yaml deleted file mode 100644 index 15561340e..000000000 --- a/.github/workflows/cli-rke2-reset-rm_head_2.9.yaml +++ /dev/null @@ -1,28 +0,0 @@ -# This workflow calls the master E2E workflow with custom variables -name: CLI-RKE2-Reset-RM_head_2.9 - -on: - workflow_dispatch: - inputs: - destroy_runner: - description: Destroy the auto-generated self-hosted runner - default: true - type: boolean - schedule: - - cron: '0 10 * * *' - -jobs: - cli: - uses: ./.github/workflows/master_e2e.yaml - secrets: - credentials: ${{ secrets.GCP_CREDENTIALS }} - pat_token: ${{ secrets.SELF_HOSTED_RUNNER_PAT_TOKEN }} - with: - ca_type: private - cluster_name: cluster-rke2 - destroy_runner: ${{ github.event_name == 'schedule' && true || inputs.destroy_runner }} - k8s_downstream_version: v1.27.8+rke2r1 - k8s_upstream_version: v1.26.10+rke2r2 - rancher_version: latest/devel/2.9 - reset: true - test_type: cli diff --git a/.github/workflows/cli-rke2-reset-rm_stable.yaml b/.github/workflows/cli-rke2-reset-rm_stable.yaml deleted file mode 100644 index 45fbd7850..000000000 --- a/.github/workflows/cli-rke2-reset-rm_stable.yaml +++ /dev/null @@ -1,27 +0,0 @@ -# This workflow calls the master E2E workflow with custom variables -name: CLI-RKE2-Reset-RM_Stable - -on: - workflow_dispatch: - inputs: - destroy_runner: - description: Destroy the auto-generated self-hosted runner - default: true - type: boolean - schedule: - - cron: '0 2 * * *' - -jobs: - cli: - uses: ./.github/workflows/master_e2e.yaml - secrets: - credentials: ${{ secrets.GCP_CREDENTIALS }} - pat_token: ${{ secrets.SELF_HOSTED_RUNNER_PAT_TOKEN }} - with: - ca_type: private - cluster_name: cluster-rke2 - destroy_runner: ${{ github.event_name == 'schedule' && true || inputs.destroy_runner }} - k8s_downstream_version: v1.27.8+rke2r1 - k8s_upstream_version: v1.26.10+rke2r2 - reset: true - test_type: cli diff --git a/.github/workflows/cli-rke2-rm_head_2.7.yaml b/.github/workflows/cli-rke2-rm_head_2.7.yaml deleted file mode 100644 index 3df9fa75b..000000000 --- a/.github/workflows/cli-rke2-rm_head_2.7.yaml +++ /dev/null @@ -1,27 +0,0 @@ -# This workflow calls the master E2E workflow with custom variables -name: CLI-RKE2-RM_head_2.7 - -on: - workflow_dispatch: - inputs: - destroy_runner: - description: Destroy the auto-generated self-hosted runner - default: true - type: boolean - schedule: - - cron: '0 8 * * *' - -jobs: - cli: - uses: ./.github/workflows/master_e2e.yaml - secrets: - credentials: ${{ secrets.GCP_CREDENTIALS }} - pat_token: ${{ secrets.SELF_HOSTED_RUNNER_PAT_TOKEN }} - with: - ca_type: private - cluster_name: cluster-rke2 - destroy_runner: ${{ github.event_name == 'schedule' && true || inputs.destroy_runner }} - k8s_downstream_version: v1.27.8+rke2r1 - k8s_upstream_version: v1.26.10+rke2r2 - rancher_version: latest/devel/2.7 - test_type: cli diff --git a/.github/workflows/cli-rke2-rm_head_2.8.yaml b/.github/workflows/cli-rke2-rm_head_2.8.yaml deleted file mode 100644 index 6d5838984..000000000 --- a/.github/workflows/cli-rke2-rm_head_2.8.yaml +++ /dev/null @@ -1,27 +0,0 @@ -# This workflow calls the master E2E workflow with custom variables -name: CLI-RKE2-RM_head_2.8 - -on: - workflow_dispatch: - inputs: - destroy_runner: - description: Destroy the auto-generated self-hosted runner - default: true - type: boolean - schedule: - - cron: '0 9 * * *' - -jobs: - cli: - uses: ./.github/workflows/master_e2e.yaml - secrets: - credentials: ${{ secrets.GCP_CREDENTIALS }} - pat_token: ${{ secrets.SELF_HOSTED_RUNNER_PAT_TOKEN }} - with: - ca_type: private - cluster_name: cluster-rke2 - destroy_runner: ${{ github.event_name == 'schedule' && true || inputs.destroy_runner }} - k8s_downstream_version: v1.27.8+rke2r1 - k8s_upstream_version: v1.26.10+rke2r2 - rancher_version: latest/devel/2.8 - test_type: cli diff --git a/.github/workflows/cli-rke2-rm_head_2.9.yaml b/.github/workflows/cli-rke2-rm_head_2.9.yaml deleted file mode 100644 index e437957c5..000000000 --- a/.github/workflows/cli-rke2-rm_head_2.9.yaml +++ /dev/null @@ -1,27 +0,0 @@ -# This workflow calls the master E2E workflow with custom variables -name: CLI-RKE2-RM_head_2.9 - -on: - workflow_dispatch: - inputs: - destroy_runner: - description: Destroy the auto-generated self-hosted runner - default: true - type: boolean - schedule: - - cron: '0 10 * * *' - -jobs: - cli: - uses: ./.github/workflows/master_e2e.yaml - secrets: - credentials: ${{ secrets.GCP_CREDENTIALS }} - pat_token: ${{ secrets.SELF_HOSTED_RUNNER_PAT_TOKEN }} - with: - ca_type: private - cluster_name: cluster-rke2 - destroy_runner: ${{ github.event_name == 'schedule' && true || inputs.destroy_runner }} - k8s_downstream_version: v1.27.8+rke2r1 - k8s_upstream_version: v1.26.10+rke2r2 - rancher_version: latest/devel/2.9 - test_type: cli diff --git a/.github/workflows/cli-rke2-rm_stable.yaml b/.github/workflows/cli-rke2-rm_stable.yaml deleted file mode 100644 index 63cfa919d..000000000 --- a/.github/workflows/cli-rke2-rm_stable.yaml +++ /dev/null @@ -1,26 +0,0 @@ -# This workflow calls the master E2E workflow with custom variables -name: CLI-RKE2-RM_Stable - -on: - workflow_dispatch: - inputs: - destroy_runner: - description: Destroy the auto-generated self-hosted runner - default: true - type: boolean - schedule: - - cron: '0 2 * * *' - -jobs: - cli: - uses: ./.github/workflows/master_e2e.yaml - secrets: - credentials: ${{ secrets.GCP_CREDENTIALS }} - pat_token: ${{ secrets.SELF_HOSTED_RUNNER_PAT_TOKEN }} - with: - ca_type: private - cluster_name: cluster-rke2 - destroy_runner: ${{ github.event_name == 'schedule' && true || inputs.destroy_runner }} - k8s_downstream_version: v1.27.8+rke2r1 - k8s_upstream_version: v1.26.10+rke2r2 - test_type: cli diff --git a/.github/workflows/cli-rke2-sequential-rm_stable.yaml b/.github/workflows/cli-rke2-sequential-rm_stable.yaml deleted file mode 100644 index c56bfefa8..000000000 --- a/.github/workflows/cli-rke2-sequential-rm_stable.yaml +++ /dev/null @@ -1,33 +0,0 @@ -# This workflow calls the master E2E workflow with custom variables -name: CLI-RKE2-Sequential-RM_Stable - -on: - workflow_dispatch: - inputs: - qase_run_id: - description: Qase run ID where the results will be reported - type: string - destroy_runner: - description: Destroy the auto-generated self-hosted runner - default: true - type: boolean - schedule: - - cron: '0 1 * * *' - -jobs: - cli: - uses: ./.github/workflows/master_e2e.yaml - secrets: - credentials: ${{ secrets.GCP_CREDENTIALS }} - pat_token: ${{ secrets.SELF_HOSTED_RUNNER_PAT_TOKEN }} - qase_api_token: ${{ secrets.QASE_API_TOKEN_CLI }} - with: - ca_type: private - cluster_name: cluster-rke2 - destroy_runner: ${{ github.event_name == 'schedule' && true || inputs.destroy_runner }} - k8s_downstream_version: v1.27.8+rke2r1 - k8s_upstream_version: v1.26.10+rke2r2 - qase_run_id: ${{ inputs.qase_run_id }} - rancher_version: stable/latest/none - sequential: true - test_type: cli diff --git a/.github/workflows/cli-rke2-upgrade-matrix.yaml b/.github/workflows/cli-rke2-upgrade-matrix.yaml new file mode 100644 index 000000000..423f31550 --- /dev/null +++ b/.github/workflows/cli-rke2-upgrade-matrix.yaml @@ -0,0 +1,58 @@ +# This workflow calls the master E2E workflow with custom variables +name: CLI-RKE2-Upgrade + +on: + workflow_dispatch: + inputs: + cluster_type: + description: Cluster type (empty if normal or hardened) + default: '""' + type: string + destroy_runner: + description: Destroy the auto-generated self-hosted runner + default: true + type: boolean + k8s_downstream_version: + description: Rancher cluster downstream version to use + default: '"v1.27.8+rke2r1"' + type: string + k8s_upstream_version: + description: Rancher cluster upstream version to use + default: '"v1.26.10+rke2r2"' + type: string + rancher_upgrade: + description: Rancher Manager channel/version to upgrade to + default: '"latest/devel/2.8"' + type: string + schedule: + # From Monday to Saturday at 9am UTC (4am in us-central1) + - cron: '0 9 * * 1-6' + +jobs: + cli: + strategy: + fail-fast: false + max-parallel: 4 + matrix: + cluster_type: ${{ fromJSON(format('[{0}]', inputs.cluster_type || '"", "hardened"')) }} + k8s_downstream_version: ${{ fromJSON(format('[{0}]', inputs.k8s_downstream_version || '"v1.27.8+rke2r1"')) }} + k8s_upstream_version: ${{ fromJSON(format('[{0}]', inputs.k8s_upstream_version || '"v1.26.10+rke2r2"')) }} + rancher_upgrade: ${{ fromJSON(format('[{0}]', inputs.rancher_version || '"latest/devel/2.7","latest/devel/2.8","latest/devel/2.9"')) }} + uses: ./.github/workflows/master_e2e.yaml + secrets: + credentials: ${{ secrets.GCP_CREDENTIALS }} + pat_token: ${{ secrets.SELF_HOSTED_RUNNER_PAT_TOKEN }} + with: + cluster_type: ${{ matrix.cluster_type }} + destroy_runner: ${{ github.event_name == 'schedule' && true || inputs.destroy_runner }} + k8s_downstream_version: ${{ matrix.k8s_downstream_version }} + k8s_upstream_version: ${{ matrix.k8s_upstream_version }} + operator_upgrade: oci://registry.opensuse.org/isv/rancher/elemental/dev/charts/rancher + operator_repo: oci://registry.suse.com/rancher + os_to_test: stable + rancher_upgrade: ${{ matrix.rancher_upgrade }} + rancher_version: stable/latest + reset: true + test_type: cli + upgrade_image: registry.opensuse.org/isv/rancher/elemental/dev/containers/suse/sl-micro/6.0/baremetal-os-container:latest + upgrade_os_channel: dev diff --git a/.github/workflows/master_e2e.yaml b/.github/workflows/master_e2e.yaml index af9c3d6d0..fd272e7aa 100644 --- a/.github/workflows/master_e2e.yaml +++ b/.github/workflows/master_e2e.yaml @@ -21,7 +21,7 @@ on: type: string cluster_name: description: Name of the provisioned cluster - required: true + default: elemental-cluster type: string cluster_number: description: Number of clusters to deploy in multi-cluster test @@ -42,12 +42,10 @@ on: default: dev type: string k8s_downstream_version: - description: Rancher cluster downstream version (K3s or RKE2) - default: v1.27.8+k3s2 + description: Rancher cluster downstream version to use type: string k8s_upstream_version: - description: Rancher cluster upstream version (K3s or RKE2) - default: v1.26.10+k3s2 + description: Rancher cluster upstream version to use type: string node_number: description: Number of nodes to deploy on the provisioned cluster @@ -74,7 +72,7 @@ on: description: Rancher Manager channel/version to upgrade to type: string rancher_version: - description: Rancher Manager channel/version/head_version to use for installation + description: Rancher Manager channel/version/head_version to use default: stable/latest type: string reset: diff --git a/.github/workflows/sub_ui.yaml b/.github/workflows/sub_ui.yaml index 9c5254648..381b0552c 100644 --- a/.github/workflows/sub_ui.yaml +++ b/.github/workflows/sub_ui.yaml @@ -205,7 +205,7 @@ jobs: if: ${{ failure() }} uses: actions/upload-artifact@v4 with: - name: cypress-screenshots-basics-${{ inputs.cluster_name }} + name: cypress-screenshots-basics-${{ inputs.cluster_name }}-${{ inputs.public_fqdn }} path: tests/cypress/latest/screenshots retention-days: 7 if-no-files-found: ignore @@ -216,7 +216,7 @@ jobs: if: ${{ always() }} uses: actions/upload-artifact@v4 with: - name: cypress-videos-basics-${{ inputs.cluster_name }} + name: cypress-videos-basics-${{ inputs.cluster_name }}-${{ inputs.public_fqdn }} path: tests/cypress/latest/videos retention-days: 7 @@ -270,7 +270,7 @@ jobs: if: ${{ failure() }} uses: actions/upload-artifact@v4 with: - name: cypress-screenshots-advanced-${{ inputs.cluster_name }} + name: cypress-screenshots-advanced-${{ inputs.cluster_name }}-${{ inputs.public_fqdn }} path: tests/cypress/latest/screenshots retention-days: 7 if-no-files-found: ignore @@ -281,7 +281,7 @@ jobs: if: ${{ always() }} uses: actions/upload-artifact@v4 with: - name: cypress-videos-advanced-${{ inputs.cluster_name }} + name: cypress-videos-advanced-${{ inputs.cluster_name }}-${{ inputs.public_fqdn }} path: tests/cypress/latest/videos retention-days: 7 diff --git a/.github/workflows/ui-k3s-ibs_stable.yaml b/.github/workflows/ui-k3s-ibs_stable.yaml index cbe00b496..9956c8d5d 100644 --- a/.github/workflows/ui-k3s-ibs_stable.yaml +++ b/.github/workflows/ui-k3s-ibs_stable.yaml @@ -16,13 +16,21 @@ on: description: Version of the elemental ui which will be installed (dev/stable) default: stable type: string + k8s_downstream_version: + description: Rancher cluster downstream version to use + default: v1.27.8+k3s2 + type: string + k8s_upstream_version: + description: Rancher cluster upstream version to use + default: v1.26.10+k3s2 + type: string proxy: description: Deploy a proxy (none/rancher/elemental) default: elemental type: string rancher_version: description: Rancher Manager channel/version/head_version to use for installation - default: stable/latest/none + default: stable/latest type: string jobs: @@ -34,10 +42,11 @@ jobs: qase_api_token: ${{ secrets.QASE_API_TOKEN }} with: boot_type: iso - cluster_name: cluster-k3s cypress_tags: main destroy_runner: ${{ inputs.destroy_runner }} elemental_ui_version: ${{ inputs.elemental_ui_version }} + k8s_downstream_version: ${{ inputs.k8s_downstream_version }} + k8s_upstream_version: ${{ inputs.k8s_upstream_version }} operator_repo: oci://registry.suse.com/rancher proxy: ${{ inputs.proxy }} qase_run_id: ${{ inputs.qase_run_id }} diff --git a/.github/workflows/ui-k3s-matrix.yaml b/.github/workflows/ui-k3s-matrix.yaml new file mode 100644 index 000000000..49980a489 --- /dev/null +++ b/.github/workflows/ui-k3s-matrix.yaml @@ -0,0 +1,54 @@ +# This workflow calls the master E2E workflow with custom variables +name: UI-K3s + +on: + workflow_dispatch: + inputs: + destroy_runner: + description: Destroy the auto-generated self-hosted runner + default: true + type: boolean + k8s_downstream_version: + description: Rancher cluster downstream version to use + default: '"v1.27.8+k3s2"' + type: string + k8s_upstream_version: + description: Rancher cluster upstream version to use + default: '"v1.26.10+k3s2"' + type: string + proxy: + description: Deploy a proxy (none/rancher/elemental) + default: elemental + type: string + rancher_version: + description: Rancher Manager channel/version/head_version to use + default: '"stable/latest"' + type: string + schedule: + # From Monday to Saturday at 2am UTC (9pm in us-central1) + - cron: '0 2 * * 1-6' + +jobs: + ui: + strategy: + fail-fast: false + max-parallel: 4 + matrix: + k8s_downstream_version: ${{ fromJSON(format('[{0}]', inputs.k8s_downstream_version || '"v1.27.8+k3s2"')) }} + k8s_upstream_version: ${{ fromJSON(format('[{0}]', inputs.k8s_upstream_version || '"v1.26.10+k3s2"')) }} + rancher_version: ${{ fromJSON(format('[{0}]', inputs.rancher_version || '"stable/latest","latest/devel/2.7","latest/devel/2.8","latest/devel/2.9"')) }} + uses: ./.github/workflows/master_e2e.yaml + secrets: + credentials: ${{ secrets.GCP_CREDENTIALS }} + pat_token: ${{ secrets.SELF_HOSTED_RUNNER_PAT_TOKEN }} + with: + boot_type: iso + ca_type: selfsigned + cypress_tags: main + destroy_runner: ${{ github.event_name == 'schedule' && true || inputs.destroy_runner }} + elemental_ui_version: dev + k8s_downstream_version: ${{ matrix.k8s_downstream_version }} + k8s_upstream_version: ${{ matrix.k8s_upstream_version }} + proxy: ${{ inputs.proxy || 'elemental' }} + rancher_version: ${{ matrix.rancher_version }} + test_type: ui diff --git a/.github/workflows/ui-k3s-obs_dev.yaml b/.github/workflows/ui-k3s-obs_dev.yaml index 17f9c750f..945c9eb5f 100644 --- a/.github/workflows/ui-k3s-obs_dev.yaml +++ b/.github/workflows/ui-k3s-obs_dev.yaml @@ -12,13 +12,21 @@ on: description: Destroy the auto-generated self-hosted runner default: true type: boolean + k8s_downstream_version: + description: Rancher cluster downstream version to use + default: v1.27.8+k3s2 + type: string + k8s_upstream_version: + description: Rancher cluster upstream version to use + default: v1.26.10+k3s2 + type: string proxy: description: Deploy a proxy (none/rancher/elemental) default: elemental type: string rancher_version: description: Rancher Manager channel/version/head_version to use for installation - default: stable/latest/none + default: stable/latest type: string jobs: @@ -30,10 +38,11 @@ jobs: qase_api_token: ${{ secrets.QASE_API_TOKEN }} with: boot_type: iso - cluster_name: cluster-k3s cypress_tags: main destroy_runner: ${{ inputs.destroy_runner }} elemental_ui_version: dev + k8s_downstream_version: ${{ inputs.k8s_downstream_version }} + k8s_upstream_version: ${{ inputs.k8s_upstream_version }} operator_repo: oci://registry.opensuse.org/isv/rancher/elemental/dev/charts/rancher proxy: ${{ inputs.proxy }} qase_run_id: ${{ inputs.qase_run_id }} diff --git a/.github/workflows/ui-k3s-obs_staging.yaml b/.github/workflows/ui-k3s-obs_staging.yaml index 722bedc72..07beaf8fb 100644 --- a/.github/workflows/ui-k3s-obs_staging.yaml +++ b/.github/workflows/ui-k3s-obs_staging.yaml @@ -12,13 +12,21 @@ on: description: Destroy the auto-generated self-hosted runner default: true type: boolean + k8s_downstream_version: + description: Rancher cluster downstream version to use + default: v1.27.8+k3s2 + type: string + k8s_upstream_version: + description: Rancher cluster upstream version to use + default: v1.26.10+k3s2 + type: string proxy: description: Deploy a proxy (none/rancher/elemental) default: elemental type: string rancher_version: description: Rancher Manager channel/version/head_version to use for installation - default: stable/latest/none + default: stable/latest type: string jobs: @@ -34,6 +42,8 @@ jobs: cypress_tags: main destroy_runner: ${{ inputs.destroy_runner }} elemental_ui_version: dev + k8s_downstream_version: ${{ inputs.k8s_downstream_version }} + k8s_upstream_version: ${{ inputs.k8s_upstream_version }} operator_repo: oci://registry.opensuse.org/isv/rancher/elemental/staging/charts/rancher proxy: ${{ inputs.proxy }} qase_run_id: ${{ inputs.qase_run_id }} diff --git a/.github/workflows/ui-k3s-os-upgrade-rm_head_2.7.yaml b/.github/workflows/ui-k3s-os-upgrade-rm_head_2.7.yaml deleted file mode 100644 index f466825b5..000000000 --- a/.github/workflows/ui-k3s-os-upgrade-rm_head_2.7.yaml +++ /dev/null @@ -1,44 +0,0 @@ -# This workflow calls the master E2E workflow with custom variables -name: UI-K3s-OS-Upgrade-RM_head_2.7 -# We test upgrade with: -# - Iso stable to dev -# - Elemental-operator dev -# -# Main reason of dev operator is to test ISO building. -# Later it will be moved to main scenario when we will be able to choose the ISO -# because for now, we can only build ISO with stable ISO - -on: - workflow_dispatch: - inputs: - destroy_runner: - description: Destroy the auto-generated self-hosted runner - default: true - type: boolean - proxy: - description: Deploy a proxy (none/rancher/elemental) - default: elemental - type: string - rancher_version: - description: Rancher Manager channel/version/head_version to use for installation - default: latest/devel/2.7 - type: string - schedule: - - cron: '0 8 * * *' - -jobs: - ui: - uses: ./.github/workflows/master_e2e.yaml - secrets: - credentials: ${{ secrets.GCP_CREDENTIALS }} - pat_token: ${{ secrets.SELF_HOSTED_RUNNER_PAT_TOKEN }} - with: - boot_type: iso - cluster_name: cluster-k3s - cypress_tags: upgrade - destroy_runner: ${{ github.event_name == 'schedule' && true || inputs.destroy_runner }} - elemental_ui_version: stable - proxy: ${{ inputs.proxy || 'elemental' }} - rancher_version: ${{ inputs.rancher_version || 'latest/devel/2.7' }} - test_type: ui - upgrade_image: registry.opensuse.org/isv/rancher/elemental/dev/containers/suse/sl-micro/6.0/baremetal-os-container:latest diff --git a/.github/workflows/ui-k3s-os-upgrade-rm_head_2.8.yaml b/.github/workflows/ui-k3s-os-upgrade-rm_head_2.8.yaml deleted file mode 100644 index 4dc7a3532..000000000 --- a/.github/workflows/ui-k3s-os-upgrade-rm_head_2.8.yaml +++ /dev/null @@ -1,44 +0,0 @@ -# This workflow calls the master E2E workflow with custom variables -name: UI-K3s-OS-Upgrade-RM_head_2.8 -# We test upgrade with: -# - Iso stable to dev -# - Elemental-operator dev -# -# Main reason of dev operator is to test ISO building. -# Later it will be moved to main scenario when we will be able to choose the ISO -# because for now, we can only build ISO with stable ISO - -on: - workflow_dispatch: - inputs: - destroy_runner: - description: Destroy the auto-generated self-hosted runner - default: true - type: boolean - proxy: - description: Deploy a proxy (none/rancher/elemental) - default: elemental - type: string - rancher_version: - description: Rancher Manager channel/version/head_version to use for installation - default: latest/devel/2.8 - type: string - schedule: - - cron: '0 9 * * *' - -jobs: - ui: - uses: ./.github/workflows/master_e2e.yaml - secrets: - credentials: ${{ secrets.GCP_CREDENTIALS }} - pat_token: ${{ secrets.SELF_HOSTED_RUNNER_PAT_TOKEN }} - with: - boot_type: iso - cluster_name: cluster-k3s - cypress_tags: upgrade - destroy_runner: ${{ github.event_name == 'schedule' && true || inputs.destroy_runner }} - elemental_ui_version: stable - proxy: ${{ inputs.proxy || 'elemental' }} - rancher_version: ${{ inputs.rancher_version || 'latest/devel/2.8' }} - test_type: ui - upgrade_image: registry.opensuse.org/isv/rancher/elemental/dev/containers/suse/sl-micro/6.0/baremetal-os-container:latest diff --git a/.github/workflows/ui-k3s-os-upgrade-rm_head_2.9.yaml b/.github/workflows/ui-k3s-os-upgrade-rm_head_2.9.yaml deleted file mode 100644 index d91c600e6..000000000 --- a/.github/workflows/ui-k3s-os-upgrade-rm_head_2.9.yaml +++ /dev/null @@ -1,44 +0,0 @@ -# This workflow calls the master E2E workflow with custom variables -name: UI-K3s-OS-Upgrade-RM_head_2.9 -# We test upgrade with: -# - Iso stable to dev -# - Elemental-operator dev -# -# Main reason of dev operator is to test ISO building. -# Later it will be moved to main scenario when we will be able to choose the ISO -# because for now, we can only build ISO with stable ISO - -on: - workflow_dispatch: - inputs: - destroy_runner: - description: Destroy the auto-generated self-hosted runner - default: true - type: boolean - proxy: - description: Deploy a proxy (none/rancher/elemental) - default: elemental - type: string - rancher_version: - description: Rancher Manager channel/version/head_version to use for installation - default: latest/devel/2.9 - type: string - schedule: - - cron: '0 10 * * *' - -jobs: - ui: - uses: ./.github/workflows/master_e2e.yaml - secrets: - credentials: ${{ secrets.GCP_CREDENTIALS }} - pat_token: ${{ secrets.SELF_HOSTED_RUNNER_PAT_TOKEN }} - with: - boot_type: iso - cluster_name: cluster-k3s - cypress_tags: upgrade - destroy_runner: ${{ github.event_name == 'schedule' && true || inputs.destroy_runner }} - elemental_ui_version: stable - proxy: ${{ inputs.proxy || 'elemental' }} - rancher_version: ${{ inputs.rancher_version || 'latest/devel/2.9' }} - test_type: ui - upgrade_image: registry.opensuse.org/isv/rancher/elemental/dev/containers/suse/sl-micro/6.0/baremetal-os-container:latest diff --git a/.github/workflows/ui-k3s-os-upgrade-rm_stable.yaml b/.github/workflows/ui-k3s-os-upgrade-rm_stable.yaml deleted file mode 100644 index 5759dbb5c..000000000 --- a/.github/workflows/ui-k3s-os-upgrade-rm_stable.yaml +++ /dev/null @@ -1,37 +0,0 @@ -# This workflow calls the master E2E workflow with custom variables -name: UI-K3s-OS-Upgrade-RM_Stable - -on: - workflow_dispatch: - inputs: - destroy_runner: - description: Destroy the auto-generated self-hosted runner - default: true - type: boolean - proxy: - description: Deploy a proxy (none/rancher/elemental) - default: elemental - type: string - rancher_version: - description: Rancher Manager channel/version/head_version to use for installation - default: stable/latest/none - type: string - schedule: - - cron: '0 3 * * *' - -jobs: - ui: - uses: ./.github/workflows/master_e2e.yaml - secrets: - credentials: ${{ secrets.GCP_CREDENTIALS }} - pat_token: ${{ secrets.SELF_HOSTED_RUNNER_PAT_TOKEN }} - with: - boot_type: iso - cluster_name: cluster-k3s - cypress_tags: upgrade - destroy_runner: ${{ github.event_name == 'schedule' && true || inputs.destroy_runner }} - elemental_ui_version: stable - proxy: ${{ inputs.proxy || 'elemental' }} - rancher_version: ${{ inputs.rancher_version || 'stable/latest/none' }} - test_type: ui - upgrade_image: registry.opensuse.org/isv/rancher/elemental/dev/containers/suse/sl-micro/6.0/baremetal-os-container:latest diff --git a/.github/workflows/ui-k3s-os-upgrade.yaml b/.github/workflows/ui-k3s-os-upgrade.yaml index c022adca8..c40bff99d 100644 --- a/.github/workflows/ui-k3s-os-upgrade.yaml +++ b/.github/workflows/ui-k3s-os-upgrade.yaml @@ -1,5 +1,5 @@ # This workflow calls the master E2E workflow with custom variables -name: UI-K3s-OS-Upgrade +name: UI-K3s-Manual-Upgrade-Workflow on: workflow_dispatch: @@ -12,15 +12,26 @@ on: description: Destroy the auto-generated self-hosted runner default: true type: boolean + elemental_ui_version: + description: Version of the elemental ui which will be installed (dev/stable) + default: stable + type: string + k8s_downstream_version: + description: Rancher cluster downstream version to use + default: v1.27.8+k3s2 + type: string + k8s_upstream_version: + description: Rancher cluster upstream version to use + default: v1.26.10+k3s2 + type: string proxy: description: Deploy a proxy (none/rancher/elemental) default: elemental type: string rancher_version: description: Rancher Manager channel/version/head_version to use for installation - default: stable/latest/none + default: stable/latest type: string - # Test OS upgrade with OS image in this test ("Use image from registry") upgrade_image: description: Upgrade image to use default: registry.opensuse.org/isv/rancher/elemental/dev/containers/suse/sl-micro/6.0/baremetal-os-container:latest @@ -35,10 +46,11 @@ jobs: qase_api_token: ${{ secrets.QASE_API_TOKEN }} with: boot_type: iso - cluster_name: cluster-k3s cypress_tags: upgrade destroy_runner: ${{ inputs.destroy_runner }} - elemental_ui_version: stable + elemental_ui_version: ${{ inputs.elemental_ui_version }} + k8s_downstream_version: ${{ inputs.k8s_downstream_version }} + k8s_upstream_version: ${{ inputs.k8s_upstream_version }} proxy: ${{ inputs.proxy }} qase_run_id: ${{ inputs.qase_run_id }} rancher_version: ${{ inputs.rancher_version }} diff --git a/.github/workflows/ui-k3s-rm_head_2.7.yaml b/.github/workflows/ui-k3s-rm_head_2.7.yaml deleted file mode 100644 index 71e539d9c..000000000 --- a/.github/workflows/ui-k3s-rm_head_2.7.yaml +++ /dev/null @@ -1,36 +0,0 @@ -# This workflow calls the master E2E workflow with custom variables -name: UI-K3s-RM_head_2.7 - -on: - workflow_dispatch: - inputs: - destroy_runner: - description: Destroy the auto-generated self-hosted runner - default: true - type: boolean - proxy: - description: Deploy a proxy (none/rancher/elemental) - default: elemental - type: string - rancher_version: - description: Rancher Manager channel/version/head_version to use for installation - default: latest/devel/2.7 - type: string - schedule: - - cron: '0 8 * * *' - -jobs: - ui: - uses: ./.github/workflows/master_e2e.yaml - secrets: - credentials: ${{ secrets.GCP_CREDENTIALS }} - pat_token: ${{ secrets.SELF_HOSTED_RUNNER_PAT_TOKEN }} - with: - boot_type: iso - cluster_name: cluster-k3s - cypress_tags: main - destroy_runner: ${{ github.event_name == 'schedule' && true || inputs.destroy_runner }} - elemental_ui_version: dev - proxy: ${{ inputs.proxy || 'elemental' }} - rancher_version: ${{ inputs.rancher_version || 'latest/devel/2.7' }} - test_type: ui diff --git a/.github/workflows/ui-k3s-rm_head_2.8.yaml b/.github/workflows/ui-k3s-rm_head_2.8.yaml deleted file mode 100644 index 5de185453..000000000 --- a/.github/workflows/ui-k3s-rm_head_2.8.yaml +++ /dev/null @@ -1,36 +0,0 @@ -# This workflow calls the master E2E workflow with custom variables -name: UI-K3s-RM_head_2.8 - -on: - workflow_dispatch: - inputs: - destroy_runner: - description: Destroy the auto-generated self-hosted runner - default: true - type: boolean - proxy: - description: Deploy a proxy (none/rancher/elemental) - default: elemental - type: string - rancher_version: - description: Rancher Manager channel/version/head_version to use for installation - default: latest/devel/2.8 - type: string - schedule: - - cron: '0 9 * * *' - -jobs: - ui: - uses: ./.github/workflows/master_e2e.yaml - secrets: - credentials: ${{ secrets.GCP_CREDENTIALS }} - pat_token: ${{ secrets.SELF_HOSTED_RUNNER_PAT_TOKEN }} - with: - boot_type: iso - cluster_name: cluster-k3s - cypress_tags: main - destroy_runner: ${{ github.event_name == 'schedule' && true || inputs.destroy_runner }} - elemental_ui_version: dev - proxy: ${{ inputs.proxy || 'elemental' }} - rancher_version: ${{ inputs.rancher_version || 'latest/devel/2.8' }} - test_type: ui diff --git a/.github/workflows/ui-k3s-rm_head_2.9.yaml b/.github/workflows/ui-k3s-rm_head_2.9.yaml deleted file mode 100644 index ff53bf594..000000000 --- a/.github/workflows/ui-k3s-rm_head_2.9.yaml +++ /dev/null @@ -1,36 +0,0 @@ -# This workflow calls the master E2E workflow with custom variables -name: UI-K3s-RM_head_2.9 - -on: - workflow_dispatch: - inputs: - destroy_runner: - description: Destroy the auto-generated self-hosted runner - default: true - type: boolean - proxy: - description: Deploy a proxy (none/rancher/elemental) - default: elemental - type: string - rancher_version: - description: Rancher Manager channel/version/head_version to use for installation - default: latest/devel/2.9 - type: string - schedule: - - cron: '0 10 * * *' - -jobs: - ui: - uses: ./.github/workflows/master_e2e.yaml - secrets: - credentials: ${{ secrets.GCP_CREDENTIALS }} - pat_token: ${{ secrets.SELF_HOSTED_RUNNER_PAT_TOKEN }} - with: - boot_type: iso - cluster_name: cluster-k3s - cypress_tags: main - destroy_runner: ${{ github.event_name == 'schedule' && true || inputs.destroy_runner }} - elemental_ui_version: dev - proxy: ${{ inputs.proxy || 'elemental' }} - rancher_version: ${{ inputs.rancher_version || 'latest/devel/2.9' }} - test_type: ui diff --git a/.github/workflows/ui-k3s-rm_stable.yaml b/.github/workflows/ui-k3s-rm_stable.yaml deleted file mode 100644 index 092b499f5..000000000 --- a/.github/workflows/ui-k3s-rm_stable.yaml +++ /dev/null @@ -1,36 +0,0 @@ -# This workflow calls the master E2E workflow with custom variables -name: UI-K3s-RM_Stable - -on: - workflow_dispatch: - inputs: - destroy_runner: - description: Destroy the auto-generated self-hosted runner - default: true - type: boolean - proxy: - description: Deploy a proxy (none/rancher/elemental) - default: elemental - type: string - rancher_version: - description: Rancher Manager channel/version/head_version to use for installation - default: stable/latest/none - type: string - schedule: - - cron: '0 3 * * *' - -jobs: - ui: - uses: ./.github/workflows/master_e2e.yaml - secrets: - credentials: ${{ secrets.GCP_CREDENTIALS }} - pat_token: ${{ secrets.SELF_HOSTED_RUNNER_PAT_TOKEN }} - with: - boot_type: iso - cluster_name: cluster-k3s - cypress_tags: main - destroy_runner: ${{ github.event_name == 'schedule' && true || inputs.destroy_runner }} - elemental_ui_version: dev - proxy: ${{ inputs.proxy || 'elemental' }} - rancher_version: ${{ inputs.rancher_version || 'stable/latest/none' }} - test_type: ui diff --git a/.github/workflows/ui-k3s-upgrade-matrix.yaml b/.github/workflows/ui-k3s-upgrade-matrix.yaml new file mode 100644 index 000000000..502ef8de1 --- /dev/null +++ b/.github/workflows/ui-k3s-upgrade-matrix.yaml @@ -0,0 +1,55 @@ +# This workflow calls the master E2E workflow with custom variables +name: UI-K3s-Upgrade + +on: + workflow_dispatch: + inputs: + destroy_runner: + description: Destroy the auto-generated self-hosted runner + default: true + type: boolean + k8s_downstream_version: + description: Rancher cluster downstream version to use + default: '"v1.27.8+k3s2"' + type: string + k8s_upstream_version: + description: Rancher cluster upstream version to use + default: '"v1.26.10+k3s2"' + type: string + proxy: + description: Deploy a proxy (none/rancher/elemental) + default: elemental + type: string + rancher_version: + description: Rancher Manager channel/version/head_version to use + default: '"stable/latest"' + type: string + schedule: + # From Monday to Saturday at 4am UTC (11pm in us-central1) + - cron: '0 4 * * 1-6' + +jobs: + ui: + strategy: + fail-fast: false + max-parallel: 4 + matrix: + k8s_downstream_version: ${{ fromJSON(format('[{0}]', inputs.k8s_downstream_version || '"v1.27.8+k3s2"')) }} + k8s_upstream_version: ${{ fromJSON(format('[{0}]', inputs.k8s_upstream_version || '"v1.26.10+k3s2"')) }} + rancher_version: ${{ fromJSON(format('[{0}]', inputs.rancher_version || '"stable/latest","latest/devel/2.7","latest/devel/2.8","latest/devel/2.9"')) }} + uses: ./.github/workflows/master_e2e.yaml + secrets: + credentials: ${{ secrets.GCP_CREDENTIALS }} + pat_token: ${{ secrets.SELF_HOSTED_RUNNER_PAT_TOKEN }} + with: + boot_type: iso + ca_type: selfsigned + cypress_tags: upgrade + destroy_runner: ${{ github.event_name == 'schedule' && true || inputs.destroy_runner }} + elemental_ui_version: stable + k8s_downstream_version: ${{ matrix.k8s_downstream_version }} + k8s_upstream_version: ${{ matrix.k8s_upstream_version }} + proxy: ${{ inputs.proxy || 'elemental' }} + rancher_version: ${{ matrix.rancher_version }} + test_type: ui + upgrade_image: registry.opensuse.org/isv/rancher/elemental/dev/containers/suse/sl-micro/6.0/baremetal-os-container:latest diff --git a/.github/workflows/ui-obs-manual-workflow.yaml b/.github/workflows/ui-obs-manual-workflow.yaml index 51d6a76d2..eddde7e15 100644 --- a/.github/workflows/ui-obs-manual-workflow.yaml +++ b/.github/workflows/ui-obs-manual-workflow.yaml @@ -20,9 +20,13 @@ on: default: dev type: string k8s_downstream_version: - description: Rancher cluster downstream version (K3s or RKE2) + description: Rancher cluster downstream version to use default: v1.27.8+k3s2 type: string + k8s_upstream_version: + description: Rancher cluster upstream version to use + default: v1.26.10+k3s2 + type: string operator_repo: description: Elemental operator repository to use default: oci://registry.opensuse.org/isv/rancher/elemental/dev/charts/rancher @@ -33,7 +37,7 @@ on: type: string rancher_version: description: Rancher Manager channel/version/head_version to use for installation - default: stable/latest/none + default: stable/latest type: string runner_template: description: Runner template to use @@ -48,11 +52,11 @@ jobs: pat_token: ${{ secrets.SELF_HOSTED_RUNNER_PAT_TOKEN }} with: boot_type: ${{ inputs.boot_type }} - cluster_name: cluster-ui-obs-manual cluster_type: ${{ inputs.cluster_type }} destroy_runner: ${{ inputs.destroy_runner }} elemental_ui_version: ${{ inputs.elemental_ui_version }} k8s_downstream_version: ${{ inputs.k8s_downstream_version }} + k8s_upstream_version: ${{ inputs.k8s_upstream_version }} operator_repo: ${{ inputs.operator_repo }} proxy: ${{ inputs.proxy }} rancher_version: ${{ inputs.rancher_version }} diff --git a/.github/workflows/ui-rke2-ibs_stable.yaml b/.github/workflows/ui-rke2-ibs_stable.yaml index bb1ff9e61..2617801b8 100644 --- a/.github/workflows/ui-rke2-ibs_stable.yaml +++ b/.github/workflows/ui-rke2-ibs_stable.yaml @@ -16,9 +16,17 @@ on: description: Version of the elemental ui which will be installed (dev/stable) default: stable type: string + k8s_downstream_version: + description: Rancher cluster downstream version to use + default: v1.27.8+rke2r1 + type: string + k8s_upstream_version: + description: Rancher cluster upstream version to use + default: v1.26.10+rke2r2 + type: string rancher_version: description: Rancher Manager channel/version/head_version to use for installation - default: stable/latest/none + default: stable/latest type: string jobs: @@ -31,12 +39,11 @@ jobs: with: boot_type: raw ca_type: private - cluster_name: cluster-rke2 cypress_tags: main destroy_runner: ${{ inputs.destroy_runner }} elemental_ui_version: ${{ inputs.elemental_ui_version }} - k8s_downstream_version: v1.27.8+rke2r1 - k8s_upstream_version: v1.26.10+rke2r2 + k8s_downstream_version: ${{ inputs.k8s_downstream_version }} + k8s_upstream_version: ${{ inputs.k8s_upstream_version }} operator_repo: oci://registry.suse.com/rancher qase_run_id: ${{ inputs.qase_run_id }} rancher_version: ${{ inputs.rancher_version }} diff --git a/.github/workflows/ui-rke2-matrix.yaml b/.github/workflows/ui-rke2-matrix.yaml new file mode 100644 index 000000000..4317aecf4 --- /dev/null +++ b/.github/workflows/ui-rke2-matrix.yaml @@ -0,0 +1,54 @@ +# This workflow calls the master E2E workflow with custom variables +name: UI-RKE2 + +on: + workflow_dispatch: + inputs: + destroy_runner: + description: Destroy the auto-generated self-hosted runner + default: true + type: boolean + k8s_downstream_version: + description: Rancher cluster downstream version to use + default: '"v1.27.8+rke2r1"' + type: string + k8s_upstream_version: + description: Rancher cluster upstream version to use + default: '"v1.26.10+rke2r2"' + type: string + proxy: + description: Deploy a proxy (none/rancher/elemental) + default: elemental + type: string + rancher_version: + description: Rancher Manager channel/version/head_version to use + default: '"stable/latest"' + type: string + schedule: + # From Monday to Saturday at 3am UTC (10pm in us-central1) + - cron: '0 3 * * 1-6' + +jobs: + ui: + strategy: + fail-fast: false + max-parallel: 4 + matrix: + k8s_downstream_version: ${{ fromJSON(format('[{0}]', inputs.k8s_downstream_version || '"v1.27.8+rke2r1"')) }} + k8s_upstream_version: ${{ fromJSON(format('[{0}]', inputs.k8s_upstream_version || '"v1.26.10+rke2r2"')) }} + rancher_version: ${{ fromJSON(format('[{0}]', inputs.rancher_version || '"stable/latest","latest/devel/2.7","latest/devel/2.8","latest/devel/2.9"')) }} + uses: ./.github/workflows/master_e2e.yaml + secrets: + credentials: ${{ secrets.GCP_CREDENTIALS }} + pat_token: ${{ secrets.SELF_HOSTED_RUNNER_PAT_TOKEN }} + with: + boot_type: raw + ca_type: private + cypress_tags: main + destroy_runner: ${{ github.event_name == 'schedule' && true || inputs.destroy_runner }} + elemental_ui_version: dev + k8s_downstream_version: ${{ matrix.k8s_downstream_version }} + k8s_upstream_version: ${{ matrix.k8s_upstream_version }} + proxy: ${{ inputs.proxy || 'elemental' }} + rancher_version: ${{ matrix.rancher_version }} + test_type: ui diff --git a/.github/workflows/ui-rke2-obs_dev.yaml b/.github/workflows/ui-rke2-obs_dev.yaml index 264db3512..3bb9b9b26 100644 --- a/.github/workflows/ui-rke2-obs_dev.yaml +++ b/.github/workflows/ui-rke2-obs_dev.yaml @@ -12,9 +12,17 @@ on: description: Destroy the auto-generated self-hosted runner default: true type: boolean + elemental_ui_version: + description: Version of the elemental ui which will be installed (dev/stable) + default: stable + type: string + k8s_downstream_version: + description: Rancher cluster downstream version to use + default: v1.27.8+rke2r1 + type: string rancher_version: description: Rancher Manager channel/version/head_version to use for installation - default: stable/latest/none + default: stable/latest type: string jobs: @@ -27,12 +35,11 @@ jobs: with: boot_type: raw ca_type: private - cluster_name: cluster-rke2 cypress_tags: main destroy_runner: ${{ inputs.destroy_runner }} elemental_ui_version: dev - k8s_downstream_version: v1.27.8+rke2r1 - k8s_upstream_version: v1.26.10+rke2r2 + k8s_downstream_version: ${{ inputs.k8s_downstream_version }} + k8s_upstream_version: ${{ inputs.k8s_upstream_version }} operator_repo: oci://registry.opensuse.org/isv/rancher/elemental/dev/charts/rancher qase_run_id: ${{ inputs.qase_run_id }} rancher_version: ${{ inputs.rancher_version }} diff --git a/.github/workflows/ui-rke2-obs_staging.yaml b/.github/workflows/ui-rke2-obs_staging.yaml index 3f3a2fb30..9bdd8886b 100644 --- a/.github/workflows/ui-rke2-obs_staging.yaml +++ b/.github/workflows/ui-rke2-obs_staging.yaml @@ -12,9 +12,17 @@ on: description: Destroy the auto-generated self-hosted runner default: true type: boolean + elemental_ui_version: + description: Version of the elemental ui which will be installed (dev/stable) + default: stable + type: string + k8s_downstream_version: + description: Rancher cluster downstream version to use + default: v1.27.8+rke2r1 + type: string rancher_version: description: Rancher Manager channel/version/head_version to use for installation - default: stable/latest/none + default: stable/latest type: string jobs: @@ -27,12 +35,11 @@ jobs: with: boot_type: raw ca_type: private - cluster_name: cluster-rke2 cypress_tags: main destroy_runner: ${{ inputs.destroy_runner }} elemental_ui_version: dev - k8s_downstream_version: v1.27.8+rke2r1 - k8s_upstream_version: v1.26.10+rke2r2 + k8s_downstream_version: ${{ inputs.k8s_downstream_version }} + k8s_upstream_version: ${{ inputs.k8s_upstream_version }} operator_repo: oci://registry.opensuse.org/isv/rancher/elemental/staging/charts/rancher qase_run_id: ${{ inputs.qase_run_id }} rancher_version: ${{ inputs.rancher_version }} diff --git a/.github/workflows/ui-rke2-os-upgrade-rm_head_2.7.yaml b/.github/workflows/ui-rke2-os-upgrade-rm_head_2.7.yaml deleted file mode 100644 index 550d893e8..000000000 --- a/.github/workflows/ui-rke2-os-upgrade-rm_head_2.7.yaml +++ /dev/null @@ -1,44 +0,0 @@ -# This workflow calls the master E2E workflow with custom variables -name: UI-RKE2-OS-Upgrade-RM_head_2.7 -# We test upgrade with: -# - Iso stable to dev -# - Elemental-operator dev -# - RKE2 as management node -# - Rancher latest devel -# -# Later it will be moved to main scenario when we will be able to choose the ISO -# because for now, we can only build ISO with stable ISO -on: - workflow_dispatch: - inputs: - destroy_runner: - description: Destroy the auto-generated self-hosted runner - default: true - type: boolean - rancher_version: - description: Rancher Manager channel/version/head_version to use for installation - default: latest/devel/2.7 - type: string - schedule: - - cron: '0 8 * * *' - -jobs: - ui: - uses: ./.github/workflows/master_e2e.yaml - secrets: - credentials: ${{ secrets.GCP_CREDENTIALS }} - pat_token: ${{ secrets.SELF_HOSTED_RUNNER_PAT_TOKEN }} - with: - boot_type: iso - ca_type: private - cluster_name: cluster-rke2 - cypress_tags: upgrade - destroy_runner: ${{ github.event_name == 'schedule' && true || inputs.destroy_runner }} - elemental_ui_version: dev - k8s_downstream_version: v1.27.8+rke2r1 - k8s_upstream_version: v1.26.10+rke2r2 - rancher_version: ${{ inputs.rancher_version || 'latest/devel/2.7' }} - test_type: ui - ui_account: user - upgrade_image: registry.opensuse.org/isv/rancher/elemental/dev/containers/suse/sl-micro/6.0/baremetal-os-container:latest - upgrade_os_channel: dev diff --git a/.github/workflows/ui-rke2-os-upgrade-rm_head_2.8.yaml b/.github/workflows/ui-rke2-os-upgrade-rm_head_2.8.yaml deleted file mode 100644 index eeb5a159a..000000000 --- a/.github/workflows/ui-rke2-os-upgrade-rm_head_2.8.yaml +++ /dev/null @@ -1,44 +0,0 @@ -# This workflow calls the master E2E workflow with custom variables -name: UI-RKE2-OS-Upgrade-RM_head_2.8 -# We test upgrade with: -# - Iso stable to dev -# - Elemental-operator dev -# - RKE2 as management node -# - Rancher latest devel -# -# Later it will be moved to main scenario when we will be able to choose the ISO -# because for now, we can only build ISO with stable ISO -on: - workflow_dispatch: - inputs: - destroy_runner: - description: Destroy the auto-generated self-hosted runner - default: true - type: boolean - rancher_version: - description: Rancher Manager channel/version/head_version to use for installation - default: latest/devel/2.8 - type: string - schedule: - - cron: '0 9 * * *' - -jobs: - ui: - uses: ./.github/workflows/master_e2e.yaml - secrets: - credentials: ${{ secrets.GCP_CREDENTIALS }} - pat_token: ${{ secrets.SELF_HOSTED_RUNNER_PAT_TOKEN }} - with: - boot_type: iso - ca_type: private - cluster_name: cluster-rke2 - cypress_tags: upgrade - destroy_runner: ${{ github.event_name == 'schedule' && true || inputs.destroy_runner }} - elemental_ui_version: dev - k8s_downstream_version: v1.27.8+rke2r1 - k8s_upstream_version: v1.26.10+rke2r2 - rancher_version: ${{ inputs.rancher_version || 'latest/devel/2.8' }} - test_type: ui - ui_account: user - upgrade_image: registry.opensuse.org/isv/rancher/elemental/dev/containers/suse/sl-micro/6.0/baremetal-os-container:latest - upgrade_os_channel: dev diff --git a/.github/workflows/ui-rke2-os-upgrade-rm_head_2.9.yaml b/.github/workflows/ui-rke2-os-upgrade-rm_head_2.9.yaml deleted file mode 100644 index 7eafba2e2..000000000 --- a/.github/workflows/ui-rke2-os-upgrade-rm_head_2.9.yaml +++ /dev/null @@ -1,44 +0,0 @@ -# This workflow calls the master E2E workflow with custom variables -name: UI-RKE2-OS-Upgrade-RM_head_2.9 -# We test upgrade with: -# - Iso stable to dev -# - Elemental-operator dev -# - RKE2 as management node -# - Rancher latest devel -# -# Later it will be moved to main scenario when we will be able to choose the ISO -# because for now, we can only build ISO with stable ISO -on: - workflow_dispatch: - inputs: - destroy_runner: - description: Destroy the auto-generated self-hosted runner - default: true - type: boolean - rancher_version: - description: Rancher Manager channel/version/head_version to use for installation - default: latest/devel/2.9 - type: string - schedule: - - cron: '0 10 * * *' - -jobs: - ui: - uses: ./.github/workflows/master_e2e.yaml - secrets: - credentials: ${{ secrets.GCP_CREDENTIALS }} - pat_token: ${{ secrets.SELF_HOSTED_RUNNER_PAT_TOKEN }} - with: - boot_type: iso - ca_type: private - cluster_name: cluster-rke2 - cypress_tags: upgrade - destroy_runner: ${{ github.event_name == 'schedule' && true || inputs.destroy_runner }} - elemental_ui_version: dev - k8s_downstream_version: v1.27.8+rke2r1 - k8s_upstream_version: v1.26.10+rke2r2 - rancher_version: ${{ inputs.rancher_version || 'latest/devel/2.9' }} - test_type: ui - ui_account: user - upgrade_image: registry.opensuse.org/isv/rancher/elemental/dev/containers/suse/sl-micro/6.0/baremetal-os-container:latest - upgrade_os_channel: dev diff --git a/.github/workflows/ui-rke2-os-upgrade-rm_stable.yaml b/.github/workflows/ui-rke2-os-upgrade-rm_stable.yaml deleted file mode 100644 index b6c2903fa..000000000 --- a/.github/workflows/ui-rke2-os-upgrade-rm_stable.yaml +++ /dev/null @@ -1,45 +0,0 @@ -# This workflow calls the master E2E workflow with custom variables -name: UI-RKE2-OS-Upgrade-RM_Stable -# We test upgrade with: -# - Iso stable to dev -# - Elemental-operator stable -# - RKE2 as management node -# - Rancher latest stable -# -# Later it will be moved to main scenario when we will be able to choose the ISO -# because for now, we can only build ISO with stable ISO - -on: - workflow_dispatch: - inputs: - destroy_runner: - description: Destroy the auto-generated self-hosted runner - default: true - type: boolean - rancher_version: - description: Rancher Manager channel/version/head_version to use for installation - default: stable/latest/none - type: string - schedule: - - cron: '0 4 * * *' - -jobs: - ui: - uses: ./.github/workflows/master_e2e.yaml - secrets: - credentials: ${{ secrets.GCP_CREDENTIALS }} - pat_token: ${{ secrets.SELF_HOSTED_RUNNER_PAT_TOKEN }} - with: - boot_type: iso - ca_type: private - cluster_name: cluster-rke2 - cypress_tags: upgrade - destroy_runner: ${{ github.event_name == 'schedule' && true || inputs.destroy_runner }} - elemental_ui_version: dev - k8s_downstream_version: v1.27.8+rke2r1 - k8s_upstream_version: v1.26.10+rke2r2 - rancher_version: ${{ inputs.rancher_version || 'stable/latest/none' }} - test_type: ui - ui_account: user - upgrade_image: registry.opensuse.org/isv/rancher/elemental/dev/containers/suse/sl-micro/6.0/baremetal-os-container:latest - upgrade_os_channel: dev diff --git a/.github/workflows/ui-rke2-os-upgrade.yaml b/.github/workflows/ui-rke2-os-upgrade.yaml index e30570a92..3483cc419 100644 --- a/.github/workflows/ui-rke2-os-upgrade.yaml +++ b/.github/workflows/ui-rke2-os-upgrade.yaml @@ -1,5 +1,5 @@ # This workflow calls the master E2E workflow with custom variables -name: UI-RKE2-OS-Upgrade +name: UI-RKE2-Manual-Upgrade-Workflow on: workflow_dispatch: @@ -12,15 +12,26 @@ on: description: Destroy the auto-generated self-hosted runner default: true type: boolean + elemental_ui_version: + description: Version of the elemental ui which will be installed (dev/stable) + default: stable + type: string + k8s_downstream_version: + description: Rancher cluster downstream version to use + default: v1.27.8+rke2r1 + type: string + k8s_upstream_version: + description: Rancher cluster upstream version to use + default: v1.26.10+rke2r2 + type: string proxy: description: Deploy a proxy (none/rancher/elemental) default: elemental type: string rancher_version: description: Rancher Manager channel/version/head_version to use for installation - default: stable/latest/none + default: stable/latest type: string - # Test OS upgrade with OS channel in this test ("Use Managed OS Version") upgrade_os_channel: description: Channel to use for the Elemental OS upgrade default: dev @@ -35,12 +46,11 @@ jobs: qase_api_token: ${{ secrets.QASE_API_TOKEN }} with: boot_type: iso - cluster_name: cluster-rke2 cypress_tags: upgrade destroy_runner: ${{ inputs.destroy_runner }} - elemental_ui_version: dev - k8s_downstream_version: v1.27.8+rke2r1 - k8s_upstream_version: v1.26.10+rke2r2 + elemental_ui_version: ${{ inputs.elemental_ui_version }} + k8s_downstream_version: ${{ inputs.k8s_downstream_version }} + k8s_upstream_version: ${{ inputs.k8s_upstream_version }} proxy: ${{ inputs.proxy }} qase_run_id: ${{ inputs.qase_run_id }} rancher_version: ${{ inputs.rancher_version }} diff --git a/.github/workflows/ui-rke2-rm_head_2.7.yaml b/.github/workflows/ui-rke2-rm_head_2.7.yaml deleted file mode 100644 index a81c39b7e..000000000 --- a/.github/workflows/ui-rke2-rm_head_2.7.yaml +++ /dev/null @@ -1,35 +0,0 @@ -# This workflow calls the master E2E workflow with custom variables -name: UI-RKE2-RM_head_2.7 - -on: - workflow_dispatch: - inputs: - destroy_runner: - description: Destroy the auto-generated self-hosted runner - default: true - type: boolean - rancher_version: - description: Rancher Manager channel/version/head_version to use for installation - default: latest/devel/2.7 - type: string - schedule: - - cron: '0 8 * * *' - -jobs: - ui: - uses: ./.github/workflows/master_e2e.yaml - secrets: - credentials: ${{ secrets.GCP_CREDENTIALS }} - pat_token: ${{ secrets.SELF_HOSTED_RUNNER_PAT_TOKEN }} - with: - boot_type: raw - ca_type: private - cluster_name: cluster-rke2 - cypress_tags: main - destroy_runner: ${{ github.event_name == 'schedule' && true || inputs.destroy_runner }} - elemental_ui_version: dev - k8s_downstream_version: v1.27.8+rke2r1 - k8s_upstream_version: v1.26.10+rke2r2 - rancher_version: ${{ inputs.rancher_version || 'latest/devel/2.7' }} - test_type: ui - ui_account: user diff --git a/.github/workflows/ui-rke2-rm_head_2.8.yaml b/.github/workflows/ui-rke2-rm_head_2.8.yaml deleted file mode 100644 index 557093fa3..000000000 --- a/.github/workflows/ui-rke2-rm_head_2.8.yaml +++ /dev/null @@ -1,35 +0,0 @@ -# This workflow calls the master E2E workflow with custom variables -name: UI-RKE2-RM_head_2.8 - -on: - workflow_dispatch: - inputs: - destroy_runner: - description: Destroy the auto-generated self-hosted runner - default: true - type: boolean - rancher_version: - description: Rancher Manager channel/version/head_version to use for installation - default: latest/devel/2.8 - type: string - schedule: - - cron: '0 9 * * *' - -jobs: - ui: - uses: ./.github/workflows/master_e2e.yaml - secrets: - credentials: ${{ secrets.GCP_CREDENTIALS }} - pat_token: ${{ secrets.SELF_HOSTED_RUNNER_PAT_TOKEN }} - with: - boot_type: raw - ca_type: private - cluster_name: cluster-rke2 - cypress_tags: main - destroy_runner: ${{ github.event_name == 'schedule' && true || inputs.destroy_runner }} - elemental_ui_version: dev - k8s_downstream_version: v1.27.8+rke2r1 - k8s_upstream_version: v1.26.10+rke2r2 - rancher_version: ${{ inputs.rancher_version || 'latest/devel/2.8' }} - test_type: ui - ui_account: user diff --git a/.github/workflows/ui-rke2-rm_head_2.9.yaml b/.github/workflows/ui-rke2-rm_head_2.9.yaml deleted file mode 100644 index 057f5c6fc..000000000 --- a/.github/workflows/ui-rke2-rm_head_2.9.yaml +++ /dev/null @@ -1,35 +0,0 @@ -# This workflow calls the master E2E workflow with custom variables -name: UI-RKE2-RM_head_2.9 - -on: - workflow_dispatch: - inputs: - destroy_runner: - description: Destroy the auto-generated self-hosted runner - default: true - type: boolean - rancher_version: - description: Rancher Manager channel/version/head_version to use for installation - default: latest/devel/2.9 - type: string - schedule: - - cron: '0 10 * * *' - -jobs: - ui: - uses: ./.github/workflows/master_e2e.yaml - secrets: - credentials: ${{ secrets.GCP_CREDENTIALS }} - pat_token: ${{ secrets.SELF_HOSTED_RUNNER_PAT_TOKEN }} - with: - boot_type: raw - ca_type: private - cluster_name: cluster-rke2 - cypress_tags: main - destroy_runner: ${{ github.event_name == 'schedule' && true || inputs.destroy_runner }} - elemental_ui_version: dev - k8s_downstream_version: v1.27.8+rke2r1 - k8s_upstream_version: v1.26.10+rke2r2 - rancher_version: ${{ inputs.rancher_version || 'latest/devel/2.9' }} - test_type: ui - ui_account: user diff --git a/.github/workflows/ui-rke2-rm_stable.yaml b/.github/workflows/ui-rke2-rm_stable.yaml deleted file mode 100644 index 62d51995e..000000000 --- a/.github/workflows/ui-rke2-rm_stable.yaml +++ /dev/null @@ -1,38 +0,0 @@ -# This workflow calls the master E2E workflow with custom variables -name: UI-RKE2-RM_Stable - -on: - workflow_dispatch: - inputs: - destroy_runner: - description: Destroy the auto-generated self-hosted runner - default: true - type: boolean - rancher_version: - description: Rancher Manager channel/version/head_version to use for installation - default: stable/latest/none - type: string - schedule: - - cron: '0 4 * * *' - -jobs: - ui: - uses: ./.github/workflows/master_e2e.yaml - secrets: - credentials: ${{ secrets.GCP_CREDENTIALS }} - pat_token: ${{ secrets.SELF_HOSTED_RUNNER_PAT_TOKEN }} - with: - # Using user account has to be disable due to this bug - # https://github.com/rancher/elemental-ui/issues/64 - # Fixed in elemental-ui 1.1.0 - #ui_account: user - boot_type: raw - ca_type: private - cluster_name: cluster-rke2 - cypress_tags: main - destroy_runner: ${{ github.event_name == 'schedule' && true || inputs.destroy_runner }} - elemental_ui_version: dev - k8s_downstream_version: v1.27.8+rke2r1 - k8s_upstream_version: v1.26.10+rke2r2 - rancher_version: ${{ inputs.rancher_version || 'stable/latest/none' }} - test_type: ui diff --git a/.github/workflows/ui-rke2-upgrade-matrix.yaml b/.github/workflows/ui-rke2-upgrade-matrix.yaml new file mode 100644 index 000000000..20b7edc85 --- /dev/null +++ b/.github/workflows/ui-rke2-upgrade-matrix.yaml @@ -0,0 +1,56 @@ +# This workflow calls the master E2E workflow with custom variables +name: UI-RKE2-Upgrade + +on: + workflow_dispatch: + inputs: + destroy_runner: + description: Destroy the auto-generated self-hosted runner + default: true + type: boolean + k8s_downstream_version: + description: Rancher cluster downstream version to use + default: '"v1.27.8+k3s2"' + type: string + k8s_upstream_version: + description: Rancher cluster upstream version to use + default: '"v1.26.10+k3s2"' + type: string + proxy: + description: Deploy a proxy (none/rancher/elemental) + default: elemental + type: string + rancher_version: + description: Rancher Manager channel/version/head_version to use + default: '"stable/latest"' + type: string + schedule: + # From Monday to Saturday at 5am UTC (0am in us-central1) + - cron: '0 5 * * 1-6' + +jobs: + ui: + strategy: + fail-fast: false + max-parallel: 4 + matrix: + k8s_downstream_version: ${{ fromJSON(format('[{0}]', inputs.k8s_downstream_version || '"v1.27.8+rke2r1"')) }} + k8s_upstream_version: ${{ fromJSON(format('[{0}]', inputs.k8s_upstream_version || '"v1.26.10+rke2r2"')) }} + rancher_version: ${{ fromJSON(format('[{0}]', inputs.rancher_version || '"stable/latest","latest/devel/2.7","latest/devel/2.8","latest/devel/2.9"')) }} + uses: ./.github/workflows/master_e2e.yaml + secrets: + credentials: ${{ secrets.GCP_CREDENTIALS }} + pat_token: ${{ secrets.SELF_HOSTED_RUNNER_PAT_TOKEN }} + with: + boot_type: raw + ca_type: private + cypress_tags: upgrade + destroy_runner: ${{ github.event_name == 'schedule' && true || inputs.destroy_runner }} + elemental_ui_version: stable + k8s_downstream_version: ${{ matrix.k8s_downstream_version }} + k8s_upstream_version: ${{ matrix.k8s_upstream_version }} + proxy: ${{ inputs.proxy || 'elemental' }} + rancher_version: ${{ matrix.rancher_version }} + test_type: ui + ui_account: user + upgrade_image: registry.opensuse.org/isv/rancher/elemental/dev/containers/suse/sl-micro/6.0/baremetal-os-container:latest diff --git a/.github/workflows/update-tests-description.yaml b/.github/workflows/update-tests-description.yaml index 628e4a2fc..d7eccc1e4 100644 --- a/.github/workflows/update-tests-description.yaml +++ b/.github/workflows/update-tests-description.yaml @@ -2,6 +2,7 @@ name: Update tests description on: schedule: + # Every day at 11pm UTC (6pm in us-central1) - cron: 0 23 * * * workflow_dispatch: