SHIP-0038: Run CI on Release Branches #544
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: ci/github | |
on: | |
pull_request: | |
branches: | |
- main | |
- "release-v*" # release branches | |
push: | |
branches: | |
- main | |
- "release-v*" # release branches | |
permissions: | |
contents: read | |
jobs: | |
unit: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Check out code | |
uses: actions/checkout@v3 | |
- name: Install Go | |
uses: actions/setup-go@v3 | |
with: | |
go-version: 1.21.x | |
cache: true | |
check-latest: true | |
- name: Build | |
run: make build | |
- name: Test | |
run: make test | |
verify: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v3 | |
- name: Install Go | |
uses: actions/setup-go@v3 | |
with: | |
go-version: 1.21.x | |
cache: true | |
check-latest: true | |
- name: Verify fmt | |
run: make verify-fmt | |
- name: Verify generated code | |
run: make verify-generate | |
- name: Verify generated manifests | |
run: make verify-manifests | |
- name: Verify OLM bundle | |
run: make verify-bundle | |
- name: Run golangci-lint | |
uses: golangci/golangci-lint-action@v2 | |
with: | |
args: --timeout=10m | |
e2e: | |
strategy: | |
fail-fast: false | |
matrix: | |
kubernetes: | |
# Kubernetes version must match a built KinD node image. | |
# See release notes in https://github.com/kubernetes-sigs/kind/releases for supported | |
# node image versions. | |
- v1.24.15 | |
max-parallel: 2 | |
runs-on: ubuntu-latest | |
steps: | |
- name: Check out code | |
uses: actions/checkout@v3 | |
- name: Install Go | |
uses: actions/setup-go@v3 | |
with: | |
go-version: 1.21.x | |
cache: true | |
check-latest: true | |
- name: Install kubectl | |
uses: azure/setup-kubectl@v3 | |
with: | |
version: ${{ matrix.kubernetes }} | |
- name: Deploy KinD Local Container Registry | |
run: make deploy-kind-registry | |
- name: Create KinD cluster | |
uses: helm/kind-action@v1 | |
with: | |
version: v0.20.0 | |
node_image: kindest/node:${{ matrix.kubernetes }} | |
cluster_name: kind | |
config: test/kind/config.yaml | |
wait: 120s | |
- name: Verify KinD cluster | |
run: make verify-kind | |
- name: Install KinD post-actions | |
run: make deploy-kind-registry-post | |
- name: Install OLM | |
run: make install-olm | |
# Builds the operator and makes the image readable in the KinD cluster | |
- name: Build Operator Bundle | |
run: | | |
make bundle-push IMAGE_REPO=localhost:5000 | |
- name: Build Catalog Source | |
run: | | |
make catalog-push IMAGE_REPO=localhost:5000 OPM_USE_HTTP=true | |
- name: Run Operator with Catalog | |
run: make catalog-run IMAGE_REPO=localhost:5000 |