integration-test-helm-suite.yaml 2.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869
  1. name: Integration test CephHelmSuite
  2. on:
  3. pull_request:
  4. branches:
  5. - master
  6. - release-*
  7. paths-ignore:
  8. - "Documentation/**"
  9. - "design/**"
  10. defaults:
  11. run:
  12. # reference: https://docs.github.com/en/actions/reference/workflow-syntax-for-github-actions#using-a-specific-shell
  13. shell: bash --noprofile --norc -eo pipefail -x {0}
  14. # cancel the in-progress workflow when PR is refreshed.
  15. concurrency:
  16. group: ${{ github.workflow }}-${{ github.event_name == 'pull_request' && github.head_ref || github.sha }}
  17. cancel-in-progress: true
  18. jobs:
  19. TestCephHelmSuite:
  20. if: ${{ github.event_name == 'pull_request' && github.ref != 'refs/heads/master' && !contains(github.event.pull_request.labels.*.name, 'skip-ci') }}
  21. runs-on: ubuntu-20.04
  22. strategy:
  23. fail-fast: false
  24. matrix:
  25. kubernetes-versions: ["v1.23.17", "v1.29.0"]
  26. steps:
  27. - name: checkout
  28. uses: actions/checkout@v4
  29. with:
  30. fetch-depth: 0
  31. - name: consider debugging
  32. uses: ./.github/workflows/tmate_debug
  33. with:
  34. use-tmate: ${{ secrets.USE_TMATE }}
  35. - name: setup latest cluster resources
  36. uses: ./.github/workflows/integration-test-config-latest-k8s
  37. with:
  38. github-token: ${{ secrets.GITHUB_TOKEN }}
  39. kubernetes-version: ${{ matrix.kubernetes-versions }}
  40. - name: remove read permission from kube config file
  41. run: sudo chmod go-r ~/.kube/config
  42. - name: TestCephHelmSuite
  43. run: |
  44. tests/scripts/github-action-helper.sh collect_udev_logs_in_background
  45. tests/scripts/github-action-helper.sh create_helm_tag
  46. tests/scripts/helm.sh up
  47. export DEVICE_FILTER=$(lsblk|awk '/14G/ || /64G/ {print $1}'| head -1)
  48. SKIP_TEST_CLEANUP=false SKIP_CLEANUP_POLICY=false go test -v -timeout 1800s -failfast -run CephHelmSuite github.com/rook/rook/tests/integration
  49. - name: collect common logs
  50. if: always()
  51. run: |
  52. export LOG_DIR="/home/runner/work/rook/rook/tests/integration/_output/tests/"
  53. export CLUSTER_NAMESPACE="helm-ns"
  54. tests/scripts/collect-logs.sh
  55. - name: Artifact
  56. uses: actions/upload-artifact@v4
  57. if: failure()
  58. with:
  59. name: ceph-helm-suite-artifact-${{ matrix.kubernetes-versions }}
  60. path: /home/runner/work/rook/rook/tests/integration/_output/tests/