Skip to content

Merge pull request #307 from cybozu-go/7388-multi-controller-3 #1454

Merge pull request #307 from cybozu-go/7388-multi-controller-3

Merge pull request #307 from cybozu-go/7388-multi-controller-3 #1454

name: "e2e-multiple-k8s-clusters"
on:
pull_request:
paths-ignore:
- "**/*.md"
- "CODEOWNERS"
push:
paths-ignore:
- "**/*.md"
- "CODEOWNERS"
branches:
- "main"
permissions:
contents: read
# Cancel any ongoing workflows on the same branch to avoid unnecessary fees.
# cf. https://docs.github.com/en/actions/using-jobs/using-concurrency#example-using-concurrency-and-the-default-behavior
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
jobs:
build:
strategy:
fail-fast: false
matrix:
kubernetes-version:
- 1.35.1
backup-transfer-part-size:
- 3Mi # smaller than the PVC size
label-filter:
- full-backup
- incr-backup
- backup-failure
- change-to-primary
- change-to-secondary
- change-to-standalone
- lock
- "!//" # select unlabelled tests
include:
# testing various backup-transfer-part-size
- kubernetes-version: 1.35.1
backup-transfer-part-size: 10Mi # equal to the PVC size
label-filter: various-transfer-part-size
- kubernetes-version: 1.35.1
backup-transfer-part-size: 200Gi # greater than the PVC size
label-filter: various-transfer-part-size
# only testing the full-backup feature with the previous Kubernetes version
# to reduce the usage of large runners.
- kubernetes-version: 1.34.4
backup-transfer-part-size: 3Mi
label-filter: full-backup
#runs-on: "ubuntu-22.04"
runs-on: mantle_large_runner_16core
timeout-minutes: 120
steps:
- uses: actions/checkout@v7.0.0
- uses: actions/setup-go@v6.4.0
with:
go-version-file: "go.mod"
- run: sudo apt-get update
- uses: ./.github/actions/set-up-kvm-for-e2e-tests
- run: make -C test/e2e setup KUBERNETES_VERSION=${{ matrix.kubernetes-version }}
- run: |
make -C test/e2e test-multiple-k8s-clusters \
KUBERNETES_VERSION=${{ matrix.kubernetes-version }} \
BACKUP_TRANSFER_PART_SIZE=${{ matrix.backup-transfer-part-size }} \
GINKGO_FLAGS=--label-filter='${{ matrix.label-filter }}'