ceph-csi/.github/workflows/pull-request-commentor.yaml
Niels de Vos 2d120f2e10 ci: exclude branches from the testing matrix for ok-to-test comments
It seems that `matrix.*` parameters can not be used in the if-statement
for a job. Now using the `exclude:` parameter with a more dynamically
constructed value for the branch. If the value for the branch is not
part of the initial branch list, the value will not be excluded, so the
jobs are expected to run.

Signed-off-by: Niels de Vos <ndevos@ibm.com>
2023-08-22 11:09:14 +00:00

126 lines
3.8 KiB
YAML

---
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" }}
# 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"]
})