Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ci: run versioned k8s jobs only on selected branches #4061

Merged
merged 1 commit into from
Aug 21, 2023
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
132 changes: 52 additions & 80 deletions .github/workflows/pull-request-commentor.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -8,111 +8,70 @@ on:
- "release-v*"
types:
- labeled
jobs:
add-comment:
if: >
(github.event.label.name == 'ok-to-test' &&
github.event.pull_request.merged != true)
runs-on: ubuntu-latest
permissions:
pull-requests: write
steps:
- name: Add comment to trigger external storage tests for Kubernetes 1.25
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/1.25

- name: Add comment to trigger external storage tests for Kubernetes 1.26
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/1.26

- name: Add comment to trigger external storage tests for Kubernetes 1.27
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/1.27
permissions:
pull-requests: write

- name: Add comment to trigger external storage tests for Kubernetes 1.28
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/1.28
jobs:
branch-k8s-selection:
runs-on: ubuntu-latest

- name: Add comment to trigger helm E2E tests for Kubernetes 1.25
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-1.25
strategy:
matrix:
branch: [release-v3.8, release-v3.9, devel]
k8s: ["1.25", "1.26", "1.27", "1.28"]
exclude:
# the next Ceph-CSI version will not be tested with old Kubernetes
- k8s: "1.25"
branch: devel
# Ceph-CSI <= 3.9 was released before Kubernetes 1.28
- k8s: "1.28"
branch: release-v3.8
- k8s: "1.28"
branch: release-v3.9

- name: Add comment to trigger helm E2E tests for Kubernetes 1.26
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-1.26

- name: Add comment to trigger helm E2E tests for Kubernetes 1.27
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-1.27
if: >
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@nixpanic why do we need this if check here?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We had the if statement already, so that it filters on the ok-to-test label and skips PRs that are closed. The check has been extended to filter on the target branch of the PR as well.

Each job has an if-statement like this, mostly for the check on the ok-to-test label.

(github.event.label.name == 'ok-to-test' &&
github.event.pull_request.merged != true &&
github.base_ref == matrix.branch)

- name: Add comment to trigger helm E2E tests for Kubernetes 1.28
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/mini-e2e-helm/k8s-1.28
/test ci/centos/k8s-e2e-external-storage/${{ matrix.k8s }}

- name: Add comment to trigger E2E tests for Kubernetes 1.25
- 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/k8s-1.25
/test ci/centos/mini-e2e-helm/k8s-${{ matrix.k8s }}

- name: Add comment to trigger E2E tests for Kubernetes 1.26
- 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-1.26
/test ci/centos/mini-e2e/k8s-${{ matrix.k8s }}

- name: Add comment to trigger E2E tests for Kubernetes 1.27
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-1.27
any-branch-k8s-version:
runs-on: ubuntu-latest

- name: Add comment to trigger E2E tests for Kubernetes 1.28
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-1.28
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:
Expand All @@ -129,6 +88,19 @@ jobs:
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:
Expand Down