tests: speed & other minor improvements #2512
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: Test | |
on: | |
push: | |
branches: [ 'main' ] | |
pull_request: | |
branches: [ '*' ] | |
schedule: | |
- cron: "15 1 * * *" | |
jobs: | |
unit-tests: | |
name: Unit Tests | |
strategy: | |
matrix: | |
go-version: [ 1.21.x ] | |
platform: [ ubuntu-latest ] | |
runs-on: ${{ matrix.platform }} | |
defaults: | |
run: | |
shell: bash | |
steps: | |
- name: Set up Go ${{ matrix.go-version }} | |
uses: actions/setup-go@v4 | |
with: | |
go-version: ${{ matrix.go-version }} | |
id: go | |
- name: Check out code | |
uses: actions/checkout@v3 | |
- name: Run make test | |
run: | | |
make test-unit | |
- name: Upload unit-test coverage reports to CodeCov | |
# more at https://github.com/codecov/codecov-action | |
# Only run if the feature branch is in your repo (not in a fork) | |
# as Tokenless uploading is rate limited for public repos | |
if: github.event.pull_request.head.repo.full_name == github.repository | |
uses: codecov/codecov-action@v4 | |
with: | |
token: ${{ secrets.CODECOV_TOKEN }} | |
flags: unit | |
fail_ci_if_error: false | |
verbose: true | |
integration-tests: | |
name: Integration Tests | |
strategy: | |
matrix: | |
istio-type: [ sail, istioctl ] | |
pr-event: | |
- ${{ github.event_name == 'pull_request' }} | |
exclude: | |
- istio-type: sail | |
pr-event: true | |
runs-on: ubuntu-latest | |
env: | |
KIND_CLUSTER_NAME: kuadrant-test | |
KUADRANT_NAMESPACE: kuadrant-system | |
defaults: | |
run: | |
shell: bash | |
steps: | |
- name: Set up Go 1.21.x | |
uses: actions/setup-go@v4 | |
with: | |
go-version: 1.21.x | |
id: go | |
- name: Check out code | |
uses: actions/checkout@v3 | |
- name: Create k8s Kind Cluster | |
uses: helm/[email protected] | |
with: | |
version: v0.22.0 | |
config: utils/kind-cluster.yaml | |
cluster_name: ${{ env.KIND_CLUSTER_NAME }} | |
wait: 120s | |
- name: Check cluster info | |
run: | | |
kubectl cluster-info dump | |
- name: Run make test-env-setup istio-type=${{ matrix.istio-type }} | |
run: | | |
make test-env-setup ISTIO_INSTALL_SAIL=${{ matrix.istio-type == 'sail' && true || false }} | |
- name: Wait for deployments | |
run: | | |
kubectl -n ${{ env.KUADRANT_NAMESPACE }} wait --timeout=300s --for=condition=Available deployments --all | |
- name: Run integration tests | |
run: | | |
make test-integration | |
- name: Upload integration-test coverage reports to CodeCov | |
# more at https://github.com/codecov/codecov-action | |
# Only run if the feature branch is in your repo (not in a fork) | |
# as Tokenless uploading is rate limited for public repos | |
if: github.event.pull_request.head.repo.full_name == github.repository | |
uses: codecov/codecov-action@v4 | |
with: | |
token: ${{ secrets.CODECOV_TOKEN }} | |
flags: integration | |
fail_ci_if_error: false | |
verbose: true | |
verify-manifests: | |
name: Verify manifests | |
runs-on: ubuntu-latest | |
steps: | |
- name: Set up Go 1.21.x | |
uses: actions/setup-go@v4 | |
with: | |
go-version: 1.21.x | |
id: go | |
- name: Check out code | |
uses: actions/checkout@v3 | |
- name: Run make verify-manifests | |
run: | | |
make verify-manifests | |
verify-bundle: | |
name: Verify bundle | |
runs-on: ubuntu-latest | |
steps: | |
- name: Set up Go 1.21.x | |
uses: actions/setup-go@v4 | |
with: | |
go-version: 1.21.x | |
id: go | |
- name: Check out code | |
uses: actions/checkout@v3 | |
- name: Run make verify-bundle | |
run: | | |
make verify-bundle | |
verify-fmt: | |
name: Verify fmt | |
runs-on: ubuntu-latest | |
steps: | |
- name: Set up Go 1.21.x | |
uses: actions/setup-go@v4 | |
with: | |
go-version: 1.21.x | |
id: go | |
- name: Check out code | |
uses: actions/checkout@v3 | |
- name: Run make verify-fmt | |
run: | | |
make verify-fmt | |
test-scripts: | |
name: Test Scripts | |
strategy: | |
matrix: | |
go-version: [ 1.21.x ] | |
platform: [ ubuntu-latest, macos-latest ] | |
runs-on: ${{ matrix.platform }} | |
defaults: | |
run: | |
shell: bash | |
steps: | |
- name: Set up Go ${{ matrix.go-version }} | |
uses: actions/setup-go@v4 | |
with: | |
go-version: ${{ matrix.go-version }} | |
id: go | |
- name: Check out code | |
uses: actions/checkout@v3 | |
- name: Run make operator-sdk | |
run: | | |
make operator-sdk |