Add controlplane upgrade e2e test using capi framework #1758
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: Go build | |
on: | |
push: | |
branches: | |
- main | |
- release-* | |
paths-ignore: | |
- 'config/**' | |
- 'docs/**' | |
- 'mkdocs.yml' | |
- '**.md' | |
- LICENSE | |
- '**.svg' | |
pull_request: | |
branches: | |
- main | |
- release-* | |
paths-ignore: | |
- 'config/**' | |
- 'docs/**' | |
- 'mkdocs.yml' | |
- '**.md' | |
- LICENSE | |
- '**.svg' | |
jobs: | |
build: | |
name: Build | |
runs-on: ubuntu-latest | |
steps: | |
- name: Check out code into the Go module directory | |
uses: actions/checkout@v4 | |
with: | |
fetch-depth: 0 # for `git describe` | |
persist-credentials: false | |
- name: Set up Go | |
uses: actions/setup-go@v5 | |
with: | |
go-version-file: go.mod | |
- name: Build | |
run: | | |
make build | |
- name: Build image | |
run: | | |
make docker-build | |
generate-sbom: | |
name: "Build :: SBOM" | |
needs: [ build ] | |
runs-on: ubuntu-22.04 | |
steps: | |
- name: Check out code into the Go module directory | |
uses: actions/checkout@v4 | |
- name: Generate SBOM | |
run: | | |
mkdir -p sbom && chmod 777 sbom | |
make sbom/spdx.json | |
- uses: actions/upload-artifact@v4 | |
with: | |
name: spdx.json | |
path: sbom/spdx.json | |
unittest: | |
name: Unit test | |
needs: build | |
runs-on: ubuntu-latest | |
steps: | |
- name: Check out code into the Go module directory | |
uses: actions/checkout@v4 | |
- name: Set up Go | |
uses: actions/setup-go@v5 | |
with: | |
go-version-file: go.mod | |
- name: Run unit tests | |
run: | | |
make test | |
smoketest: | |
name: Smoke test | |
needs: build | |
runs-on: ubuntu-22.04-8core | |
strategy: | |
fail-fast: false | |
matrix: | |
smoke-suite: | |
- check-basic | |
- check-config-update-hcp | |
- check-hostpath | |
- check-pvc | |
- check-ha-controller | |
- check-ha-controller-etcd | |
- check-ha-controller-secret | |
- check-jointoken | |
- check-monitoring | |
- check-scaling-etcd | |
- check-upgrade | |
steps: | |
- name: Check out code into the Go module directory | |
uses: actions/checkout@v4 | |
- name: Set up Go | |
uses: actions/setup-go@v5 | |
with: | |
go-version-file: go.mod | |
- name: Create image bundle | |
run: | | |
make release | |
make k0smotron-image-bundle.tar | |
- name: Run inttest | |
run: | | |
make -C inttest ${{ matrix.smoke-suite }} | |
capi-smokes-on-different-k0s-versions: | |
name: CAPI Smokes Matrix | |
needs: build | |
strategy: | |
fail-fast: false | |
matrix: | |
smoke-suite: | |
- check-capi-remote-machine | |
- check-capi-remote-machine-template | |
k0s-version: [ "v1.28.11", "v1.29.6", "v1.30.2" ] | |
uses: ./.github/workflows/capi-smoke-tests.yml | |
with: | |
smoke-suite: ${{ matrix.smoke-suite }} | |
k0s-version: ${{ matrix.k0s-version }} | |
capi-smokes: | |
name: Cluster API smoke tests | |
needs: build | |
strategy: | |
fail-fast: false | |
matrix: | |
smoke-suite: | |
- check-capi-docker | |
- check-capi-config-update-vm | |
- check-capi-docker-clusterclass | |
- check-capi-docker-clusterclass-k0smotron | |
- check-capi-docker-clusterclass-recreate-upgrade | |
- check-capi-docker-machinedeployment | |
- check-capi-controlplane-docker | |
- check-capi-controlplane-docker-downscaling | |
- check-capi-controlplane-docker-tunneling | |
- check-capi-controlplane-docker-tunneling-proxy | |
- check-capi-controlplane-docker-worker | |
- check-capi-docker-machine-change-template | |
- check-capi-remote-machine-template-update | |
- check-capi-docker-machine-template-update | |
- check-capi-docker-machine-template-update-recreate | |
- check-capi-docker-machine-template-update-recreate-single | |
- check-capi-remote-machine-job-provision | |
uses: ./.github/workflows/capi-smoke-tests.yml | |
with: | |
smoke-suite: ${{ matrix.smoke-suite }} | |
e2e-migration: | |
name: E2E migration (WIP) | |
needs: build | |
runs-on: ubuntu-latest | |
steps: | |
- name: Check out code into the Go module directory | |
uses: actions/checkout@v4 | |
- name: Set up Go | |
uses: actions/setup-go@v5 | |
with: | |
go-version-file: go.mod | |
- name: Build e2e images | |
run: make docker-build | |
- name: Run e2e tests | |
run: make test-e2e | |
- name: Archive artifacts | |
if: failure() | |
uses: actions/[email protected] | |
with: | |
name: e2e-artifacts | |
path: _artifacts | |
if-no-files-found: ignore |