123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254 |
- 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}
- jobs:
- TestCephHelmSuite:
- runs-on: ubuntu-20.04
- strategy:
- fail-fast: false
- matrix:
- kubernetes-versions: ["v1.23.17", "v1.25.16", "v1.27.8", "v1.29.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:
- github-token: ${{ secrets.GITHUB_TOKEN }}
- 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=$(lsblk|awk '/14G/ || /64G/ {print $1}'| head -1)
- 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-20.04
- strategy:
- fail-fast: false
- matrix:
- kubernetes-versions: ["v1.23.17", "v1.25.16", "v1.27.8", "v1.29.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:
- github-token: ${{ secrets.GITHUB_TOKEN }}
- kubernetes-version: ${{ matrix.kubernetes-versions }}
- - name: TestCephMultiClusterDeploySuite
- run: |
- tests/scripts/github-action-helper.sh collect_udev_logs_in_background
- export TEST_SCRATCH_DEVICE=$(sudo lsblk --paths|awk '/14G/ || /64G/ {print $1}'| head -1)1
- export DEVICE_FILTER=$(lsblk|awk '/14G/ || /64G/ {print $1}'| head -1)
- 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-20.04
- strategy:
- fail-fast: false
- matrix:
- kubernetes-versions: ["v1.23.17", "v1.25.16", "v1.27.8", "v1.29.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:
- github-token: ${{ secrets.GITHUB_TOKEN }}
- kubernetes-version: ${{ matrix.kubernetes-versions }}
- - name: TestCephSmokeSuite
- run: |
- tests/scripts/github-action-helper.sh collect_udev_logs_in_background
- export DEVICE_FILTER=$(lsblk|awk '/14G/ || /64G/ {print $1}'| head -1)
- 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-20.04
- strategy:
- fail-fast: false
- matrix:
- kubernetes-versions: ["v1.23.17", "v1.25.16", "v1.27.8", "v1.29.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:
- github-token: ${{ secrets.GITHUB_TOKEN }}
- kubernetes-version: ${{ matrix.kubernetes-versions }}
- - name: TestCephUpgradeSuite
- run: |
- tests/scripts/github-action-helper.sh collect_udev_logs_in_background
- export DEVICE_FILTER=$(lsblk|awk '/14G/ || /64G/ {print $1}'| head -1)
- 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-20.04
- strategy:
- fail-fast: false
- matrix:
- kubernetes-versions: ["v1.23.17", "v1.26.11", "v1.29.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:
- github-token: ${{ secrets.GITHUB_TOKEN }}
- 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=$(lsblk|awk '/14G/ || /64G/ {print $1}'| head -1)
- 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-20.04
- strategy:
- fail-fast: false
- matrix:
- kubernetes-versions: ["v1.23.17", "v1.29.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:
- github-token: ${{ secrets.GITHUB_TOKEN }}
- kubernetes-version: ${{ matrix.kubernetes-versions }}
- - name: TestCephObjectSuite
- run: |
- tests/scripts/github-action-helper.sh collect_udev_logs_in_background
- export DEVICE_FILTER=$(lsblk|awk '/14G/ || /64G/ {print $1}'| head -1)
- 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/
|