With the release of K8s v1.31.0, we update the minimum
supported version to v1.26, and add v1.31 to the CI
so we can test the most recent six versions of K8s.
Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
(cherry picked from commit e157bb5a56)
254 lines
8.8 KiB
YAML
254 lines
8.8 KiB
YAML
name: Integration tests on master/release
|
|
on:
|
|
push:
|
|
tags:
|
|
- v*
|
|
branches:
|
|
- master
|
|
- release-*
|
|
|
|
defaults:
|
|
run:
|
|
# reference: https://docs.github.com/en/actions/reference/workflow-syntax-for-github-actions#using-a-specific-shell
|
|
shell: bash --noprofile --norc -eo pipefail -x {0}
|
|
|
|
permissions:
|
|
contents: read
|
|
|
|
jobs:
|
|
TestCephHelmSuite:
|
|
runs-on: ubuntu-22.04
|
|
strategy:
|
|
fail-fast: false
|
|
matrix:
|
|
kubernetes-versions: ["v1.26.15", "v1.28.12", "v1.29.7", "v1.31.0"]
|
|
steps:
|
|
- name: checkout
|
|
uses: actions/checkout@v4
|
|
with:
|
|
fetch-depth: 0
|
|
|
|
- name: setup cluster resources
|
|
uses: ./.github/workflows/integration-test-config-latest-k8s
|
|
with:
|
|
kubernetes-version: ${{ matrix.kubernetes-versions }}
|
|
|
|
- name: TestCephHelmSuite
|
|
run: |
|
|
tests/scripts/github-action-helper.sh collect_udev_logs_in_background
|
|
tests/scripts/github-action-helper.sh create_helm_tag
|
|
tests/scripts/helm.sh up
|
|
export DEVICE_FILTER=$(tests/scripts/github-action-helper.sh find_extra_block_dev)
|
|
SKIP_TEST_CLEANUP=false SKIP_CLEANUP_POLICY=false go test -v -timeout 1800s -run CephHelmSuite github.com/rook/rook/tests/integration
|
|
|
|
- name: collect common logs
|
|
if: always()
|
|
run: |
|
|
export LOG_DIR="/home/runner/work/rook/rook/tests/integration/_output/tests/"
|
|
export CLUSTER_NAMESPACE="helm-ns"
|
|
export OPERATOR_NAMESPACE="helm-ns-system"
|
|
tests/scripts/collect-logs.sh
|
|
|
|
- name: Artifact
|
|
uses: actions/upload-artifact@v4
|
|
if: failure()
|
|
with:
|
|
name: ceph-helm-suite-artifact-${{ matrix.kubernetes-versions }}
|
|
path: /home/runner/work/rook/rook/tests/integration/_output/tests/
|
|
|
|
TestCephMultiClusterDeploySuite:
|
|
runs-on: ubuntu-22.04
|
|
strategy:
|
|
fail-fast: false
|
|
matrix:
|
|
kubernetes-versions: ["v1.26.15", "v1.28.12", "v1.29.7", "v1.31.0"]
|
|
steps:
|
|
- name: checkout
|
|
uses: actions/checkout@v4
|
|
with:
|
|
fetch-depth: 0
|
|
|
|
- name: setup latest cluster resources
|
|
uses: ./.github/workflows/integration-test-config-latest-k8s
|
|
with:
|
|
kubernetes-version: ${{ matrix.kubernetes-versions }}
|
|
|
|
- name: TestCephMultiClusterDeploySuite
|
|
run: |
|
|
tests/scripts/github-action-helper.sh collect_udev_logs_in_background
|
|
DEVICE_NAME="$(tests/scripts/github-action-helper.sh find_extra_block_dev)"
|
|
export BLOCK="$/dev/${DEVICE_NAME}"
|
|
export TEST_SCRATCH_DEVICE="/dev/${DEVICE_NAME}1"
|
|
export DEVICE_FILTER="$DEVICE_NAME"
|
|
go test -v -timeout 1800s -run CephMultiClusterDeploySuite github.com/rook/rook/tests/integration
|
|
|
|
- name: collect common logs
|
|
if: always()
|
|
run: |
|
|
export LOG_DIR="/home/runner/work/rook/rook/tests/integration/_output/tests/"
|
|
export OPERATOR_NAMESPACE="multi-core-system"
|
|
CLUSTER_NAMESPACE="multi-core" tests/scripts/collect-logs.sh
|
|
CLUSTER_NAMESPACE="multi-external" tests/scripts/collect-logs.sh
|
|
|
|
- name: Artifact
|
|
uses: actions/upload-artifact@v4
|
|
if: failure()
|
|
with:
|
|
name: ceph-multi-cluster-deploy-suite-artifact-${{ matrix.kubernetes-versions }}
|
|
path: /home/runner/work/rook/rook/tests/integration/_output/tests/
|
|
|
|
TestCephSmokeSuite:
|
|
runs-on: ubuntu-22.04
|
|
strategy:
|
|
fail-fast: false
|
|
matrix:
|
|
kubernetes-versions: ["v1.26.15", "v1.28.12", "v1.29.7", "v1.31.0"]
|
|
steps:
|
|
- name: checkout
|
|
uses: actions/checkout@v4
|
|
with:
|
|
fetch-depth: 0
|
|
|
|
- name: setup latest cluster resources
|
|
uses: ./.github/workflows/integration-test-config-latest-k8s
|
|
with:
|
|
kubernetes-version: ${{ matrix.kubernetes-versions }}
|
|
|
|
- name: TestCephSmokeSuite
|
|
run: |
|
|
tests/scripts/github-action-helper.sh collect_udev_logs_in_background
|
|
export DEVICE_FILTER=$(tests/scripts/github-action-helper.sh find_extra_block_dev)
|
|
SKIP_CLEANUP_POLICY=false go test -v -timeout 1800s -run CephSmokeSuite github.com/rook/rook/tests/integration
|
|
|
|
- name: collect common logs
|
|
if: always()
|
|
run: |
|
|
export LOG_DIR="/home/runner/work/rook/rook/tests/integration/_output/tests/"
|
|
export CLUSTER_NAMESPACE="smoke-ns"
|
|
export OPERATOR_NAMESPACE="smoke-ns-system"
|
|
tests/scripts/collect-logs.sh
|
|
|
|
- name: Artifact
|
|
uses: actions/upload-artifact@v4
|
|
if: failure()
|
|
with:
|
|
name: ceph-smoke-suite-artifact-${{ matrix.kubernetes-versions }}
|
|
path: /home/runner/work/rook/rook/tests/integration/_output/tests/
|
|
|
|
TestCephUpgradeSuite:
|
|
runs-on: ubuntu-22.04
|
|
strategy:
|
|
fail-fast: false
|
|
matrix:
|
|
kubernetes-versions: ["v1.26.15", "v1.28.12", "v1.29.7", "v1.31.0"]
|
|
steps:
|
|
- name: checkout
|
|
uses: actions/checkout@v4
|
|
with:
|
|
fetch-depth: 0
|
|
|
|
- name: setup latest cluster resources
|
|
uses: ./.github/workflows/integration-test-config-latest-k8s
|
|
with:
|
|
kubernetes-version: ${{ matrix.kubernetes-versions }}
|
|
|
|
- name: TestCephUpgradeSuite
|
|
run: |
|
|
tests/scripts/github-action-helper.sh collect_udev_logs_in_background
|
|
export DEVICE_FILTER=$(tests/scripts/github-action-helper.sh find_extra_block_dev)
|
|
go test -v -timeout 2400s -run CephUpgradeSuite/TestUpgradeRook github.com/rook/rook/tests/integration
|
|
|
|
- name: collect common logs
|
|
if: always()
|
|
run: |
|
|
export LOG_DIR="/home/runner/work/rook/rook/tests/integration/_output/tests/"
|
|
export CLUSTER_NAMESPACE="upgrade"
|
|
export OPERATOR_NAMESPACE="upgrade-system"
|
|
tests/scripts/collect-logs.sh
|
|
|
|
- name: Artifact
|
|
uses: actions/upload-artifact@v4
|
|
if: failure()
|
|
with:
|
|
name: ceph-upgrade-suite-artifact-${{ matrix.kubernetes-versions }}
|
|
path: /home/runner/work/rook/rook/tests/integration/_output/tests/
|
|
|
|
TestHelmUpgradeSuite:
|
|
runs-on: ubuntu-22.04
|
|
strategy:
|
|
fail-fast: false
|
|
matrix:
|
|
kubernetes-versions: ["v1.26.15", "v1.28.12", "v1.29.7", "v1.31.0"]
|
|
steps:
|
|
- name: checkout
|
|
uses: actions/checkout@v4
|
|
with:
|
|
fetch-depth: 0
|
|
|
|
- name: setup cluster resources
|
|
uses: ./.github/workflows/integration-test-config-latest-k8s
|
|
with:
|
|
kubernetes-version: ${{ matrix.kubernetes-versions }}
|
|
|
|
- name: TestHelmUpgradeSuite
|
|
run: |
|
|
tests/scripts/github-action-helper.sh create_helm_tag
|
|
tests/scripts/helm.sh up
|
|
|
|
tests/scripts/github-action-helper.sh collect_udev_logs_in_background
|
|
export DEVICE_FILTER=$(tests/scripts/github-action-helper.sh find_extra_block_dev)
|
|
go test -v -timeout 1800s -run CephUpgradeSuite/TestUpgradeHelm github.com/rook/rook/tests/integration
|
|
|
|
- name: collect common logs
|
|
if: always()
|
|
run: |
|
|
export LOG_DIR="/home/runner/work/rook/rook/tests/integration/_output/tests/"
|
|
export CLUSTER_NAMESPACE="upgrade"
|
|
export OPERATOR_NAMESPACE="upgrade-system"
|
|
tests/scripts/collect-logs.sh
|
|
|
|
- name: Artifact
|
|
uses: actions/upload-artifact@v4
|
|
if: failure()
|
|
with:
|
|
name: ceph-upgrade-suite-artifact-${{ matrix.kubernetes-versions }}
|
|
path: /home/runner/work/rook/rook/tests/integration/_output/tests/
|
|
|
|
TestCephObjectSuite:
|
|
runs-on: ubuntu-22.04
|
|
strategy:
|
|
fail-fast: false
|
|
matrix:
|
|
kubernetes-versions: ["v1.26.15", "v1.31.0"]
|
|
steps:
|
|
- name: checkout
|
|
uses: actions/checkout@v4
|
|
with:
|
|
fetch-depth: 0
|
|
|
|
- name: setup latest cluster resources
|
|
uses: ./.github/workflows/integration-test-config-latest-k8s
|
|
with:
|
|
kubernetes-version: ${{ matrix.kubernetes-versions }}
|
|
|
|
- name: TestCephObjectSuite
|
|
run: |
|
|
tests/scripts/github-action-helper.sh collect_udev_logs_in_background
|
|
export DEVICE_FILTER=$(tests/scripts/github-action-helper.sh find_extra_block_dev)
|
|
SKIP_CLEANUP_POLICY=false go test -v -timeout 2400s -failfast -run CephObjectSuite github.com/rook/rook/tests/integration
|
|
|
|
- name: collect common logs
|
|
if: always()
|
|
run: |
|
|
export LOG_DIR="/home/runner/work/rook/rook/tests/integration/_output/tests/"
|
|
export CLUSTER_NAMESPACE="object-ns"
|
|
export OPERATOR_NAMESPACE="object-ns-system"
|
|
tests/scripts/collect-logs.sh
|
|
|
|
- name: Artifact
|
|
uses: actions/upload-artifact@v4
|
|
if: failure()
|
|
with:
|
|
name: ceph-object-suite-artifact-${{ matrix.kubernetes-versions }}
|
|
path: /home/runner/work/rook/rook/tests/integration/_output/tests/
|