Skip to content

ci: exclude branches from the testing matrix for ok-to-test comments #1618

ci: exclude branches from the testing matrix for ok-to-test comments

ci: exclude branches from the testing matrix for ok-to-test comments #1618

---
name: Add comment
# yamllint disable-line rule:truthy
on:
pull_request_target:
branches:
- devel
- "release-v*"
types:
- labeled
permissions:
pull-requests: write
jobs:
branch-k8s-selection:
runs-on: ubuntu-latest
strategy:
matrix:
branch: [release-v3.8, release-v3.9, devel]
k8s: ["1.25", "1.26", "1.27", "1.28"]
exclude:
# The exclude items below are dynamically constructed. If the
# base_ref matches the given branch, it will be excluded from the
# test matrix.
# the next Ceph-CSI version will not be tested with old Kubernetes
- k8s: "1.25"
branch: >
${{ "devel" == github.base_ref
&& github.base_ref || "no-exclude" }}

Check failure on line 33 in .github/workflows/pull-request-commentor.yaml

View workflow run for this annotation

GitHub Actions / Add comment

Invalid workflow file

The workflow is not valid. .github/workflows/pull-request-commentor.yaml (Line: 33, Col: 9): Unrecognized named-value: 'matrix'. Located at position 108 within expression: (github.event.label.name == 'ok-to-test' && github.event.pull_request.merged != true && github.base_ref == matrix.branch)
# Ceph-CSI <= 3.9 was released before Kubernetes 1.28
- k8s: "1.28"
branch: >
${{ "release-v3.8" == github.base_ref
&& github.base_ref || "no-exclude" }}
- k8s: "1.28"
branch: >
${{ "release-v3.9" == github.base_ref
&& github.base_ref || "no-exclude" }}
# watch out, matrix.branch can not be used in this if-statement :-/
if: >
(github.event.label.name == 'ok-to-test' &&
github.event.pull_request.merged != true)
steps:
- name: >
Add comment to trigger external storage tests for Kubernetes
${{ matrix.k8s }}
uses: peter-evans/create-or-update-comment@v3
with:
token: ${{ secrets.CEPH_CSI_BOT_TOKEN }}
issue-number: ${{ github.event.pull_request.number }}
body: |
/test ci/centos/k8s-e2e-external-storage/${{ matrix.k8s }}
- name: >
Add comment to trigger helm E2E tests for Kubernetes
${{ matrix.k8s }}
uses: peter-evans/create-or-update-comment@v3
with:
token: ${{ secrets.CEPH_CSI_BOT_TOKEN }}
issue-number: ${{ github.event.pull_request.number }}
body: |
/test ci/centos/mini-e2e-helm/k8s-${{ matrix.k8s }}
- name: Add comment to trigger E2E tests for Kubernetes ${{ matrix.k8s }}
uses: peter-evans/create-or-update-comment@v3
with:
token: ${{ secrets.CEPH_CSI_BOT_TOKEN }}
issue-number: ${{ github.event.pull_request.number }}
body: |
/test ci/centos/mini-e2e/k8s-${{ matrix.k8s }}
any-branch-k8s-version:
runs-on: ubuntu-latest
if: >
(github.event.label.name == 'ok-to-test' &&
github.event.pull_request.merged != true)
steps:
- name: Add comment to trigger cephfs upgrade tests
uses: peter-evans/create-or-update-comment@v3
with:
token: ${{ secrets.CEPH_CSI_BOT_TOKEN }}
issue-number: ${{ github.event.pull_request.number }}
body: |
/test ci/centos/upgrade-tests-cephfs
- name: Add comment to trigger rbd upgrade tests
uses: peter-evans/create-or-update-comment@v3
with:
token: ${{ secrets.CEPH_CSI_BOT_TOKEN }}
issue-number: ${{ github.event.pull_request.number }}
body: |
/test ci/centos/upgrade-tests-rbd
remove-label:
runs-on: ubuntu-latest
# run after the other jobs
needs:
- branch-k8s-selection
- any-branch-k8s-version
if: >
(github.event.label.name == 'ok-to-test' &&
github.event.pull_request.merged != true)
steps:
- name: remove ok-to-test-label after commenting
uses: actions/github-script@v6
with:
github-token: ${{ secrets.CEPH_CSI_BOT_TOKEN }}
script: |
github.rest.issues.removeLabel({
issue_number: context.issue.number,
owner: context.repo.owner,
repo: context.repo.repo,
name: ["ok-to-test"]
})