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-version: ["v1.30.14", "v1.32.11", "v1.33.7", "1.35.0"] steps: - name: checkout uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 with: fetch-depth: 0 - name: setup cluster resources uses: ./.github/workflows/integration-test-setup-cluster-resources with: kubernetes-version: ${{ matrix.kubernetes-version }} - name: TestCephHelmSuite run: | tests/scripts/github-action-helper.sh collect_udev_logs_in_background tests/scripts/github-action-helper.sh create_helm_tag 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@b7c566a772e6b6bfb58ed0dc250532a479d7789f # v6.0.0 if: failure() with: name: ceph-helm-suite-artifact-${{ matrix.kubernetes-version }} path: /home/runner/work/rook/rook/tests/integration/_output/tests/ TestCephMultiClusterDeploySuite: runs-on: ubuntu-22.04 strategy: fail-fast: false matrix: kubernetes-version: ["v1.30.14", "v1.32.11", "v1.33.7", "1.35.0"] steps: - name: checkout uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 with: fetch-depth: 0 - name: setup cluster resources uses: ./.github/workflows/integration-test-setup-cluster-resources with: kubernetes-version: ${{ matrix.kubernetes-version }} - 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}" 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@b7c566a772e6b6bfb58ed0dc250532a479d7789f # v6.0.0 if: failure() with: name: ceph-multi-cluster-deploy-suite-artifact-${{ matrix.kubernetes-version }} path: /home/runner/work/rook/rook/tests/integration/_output/tests/ TestCephSmokeSuite: runs-on: ubuntu-22.04 strategy: fail-fast: false matrix: kubernetes-version: ["v1.30.14", "v1.32.11", "v1.33.7", "1.35.0"] steps: - name: checkout uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 with: fetch-depth: 0 - name: setup cluster resources uses: ./.github/workflows/integration-test-setup-cluster-resources with: kubernetes-version: ${{ matrix.kubernetes-version }} - 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@b7c566a772e6b6bfb58ed0dc250532a479d7789f # v6.0.0 if: failure() with: name: ceph-smoke-suite-artifact-${{ matrix.kubernetes-version }} path: /home/runner/work/rook/rook/tests/integration/_output/tests/ TestCephUpgradeSuite: runs-on: ubuntu-22.04 strategy: fail-fast: false matrix: kubernetes-version: ["v1.30.14", "v1.32.11", "v1.33.7", "1.35.0"] steps: - name: checkout uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 with: fetch-depth: 0 - name: setup cluster resources uses: ./.github/workflows/integration-test-setup-cluster-resources with: kubernetes-version: ${{ matrix.kubernetes-version }} - 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@b7c566a772e6b6bfb58ed0dc250532a479d7789f # v6.0.0 if: failure() with: name: ceph-upgrade-suite-artifact-${{ matrix.kubernetes-version }} path: /home/runner/work/rook/rook/tests/integration/_output/tests/ TestHelmUpgradeSuite: runs-on: ubuntu-22.04 strategy: fail-fast: false matrix: kubernetes-version: ["v1.30.14", "v1.32.11", "v1.33.7", "1.35.0"] steps: - name: checkout uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 with: fetch-depth: 0 - name: setup cluster resources uses: ./.github/workflows/integration-test-setup-cluster-resources with: kubernetes-version: ${{ matrix.kubernetes-version }} - name: TestHelmUpgradeSuite run: | tests/scripts/github-action-helper.sh create_helm_tag 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@b7c566a772e6b6bfb58ed0dc250532a479d7789f # v6.0.0 if: failure() with: name: ceph-upgrade-suite-artifact-${{ matrix.kubernetes-version }} path: /home/runner/work/rook/rook/tests/integration/_output/tests/ TestCephObjectSuite: runs-on: ubuntu-22.04 strategy: fail-fast: false matrix: kubernetes-version: ["v1.30.14", "1.35.0"] steps: - name: checkout uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 with: fetch-depth: 0 - name: setup cluster resources uses: ./.github/workflows/integration-test-setup-cluster-resources with: kubernetes-version: ${{ matrix.kubernetes-version }} - 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@b7c566a772e6b6bfb58ed0dc250532a479d7789f # v6.0.0 if: failure() with: name: ceph-object-suite-artifact-${{ matrix.kubernetes-version }} path: /home/runner/work/rook/rook/tests/integration/_output/tests/