Files
my-rook-config/.github/workflows/integration-tests-on-release.yaml
T
subhamkrai 72885c7927 ci: upgrade k8s min version to 1.27
since k8s 1.32 is coming out soon and we
want to support the latest six k8s versions so,
let's upgrade the min k8s version to 1.27 for rook 1.16.

Signed-off-by: subhamkrai <srai@redhat.com>
2024-11-26 21:01:46 +05:30

254 lines
9.3 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.27.16", "v1.28.12", "v1.29.7", "v1.31.0"]
steps:
- name: checkout
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
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@b4b15b8c7c6ac21ea08fcf65892d2ee8f75cf882 # v4.4.3
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.27.16", "v1.28.12", "v1.29.7", "v1.31.0"]
steps:
- name: checkout
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
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@b4b15b8c7c6ac21ea08fcf65892d2ee8f75cf882 # v4.4.3
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.27.16", "v1.28.12", "v1.29.7", "v1.31.0"]
steps:
- name: checkout
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
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@b4b15b8c7c6ac21ea08fcf65892d2ee8f75cf882 # v4.4.3
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.27.16", "v1.28.12", "v1.29.7", "v1.31.0"]
steps:
- name: checkout
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
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@b4b15b8c7c6ac21ea08fcf65892d2ee8f75cf882 # v4.4.3
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.27.16", "v1.28.12", "v1.29.7", "v1.31.0"]
steps:
- name: checkout
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
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@b4b15b8c7c6ac21ea08fcf65892d2ee8f75cf882 # v4.4.3
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.27.16", "v1.31.0"]
steps:
- name: checkout
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
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@b4b15b8c7c6ac21ea08fcf65892d2ee8f75cf882 # v4.4.3
if: failure()
with:
name: ceph-object-suite-artifact-${{ matrix.kubernetes-versions }}
path: /home/runner/work/rook/rook/tests/integration/_output/tests/