Test #3706
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: ['*'] | |
paths-ignore: | |
- '**.adoc' | |
- '**.md' | |
- 'examples/**' | |
- 'LICENSE' | |
schedule: | |
- cron: "15 1 * * *" | |
jobs: | |
unit-tests: | |
name: Unit Tests | |
strategy: | |
matrix: | |
go-version: [1.22.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@v4 | |
- 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 | |
controllers-integration-tests: | |
name: Integration Tests for github.com/kuadrant/kuadrant-operator/controllers | |
strategy: | |
matrix: | |
gatewayapi-provider: [istio] | |
include: | |
# - istio-type: sail | |
# gatewayapi-provider: istio | |
- istio-type: istioctl | |
gatewayapi-provider: istio | |
runs-on: ubuntu-latest | |
env: | |
KIND_CLUSTER_NAME: kuadrant-test | |
KUADRANT_NAMESPACE: kuadrant-system | |
defaults: | |
run: | |
shell: bash | |
steps: | |
- name: Set up Go 1.22.x | |
uses: actions/setup-go@v4 | |
with: | |
go-version: 1.22.x | |
id: go | |
- name: Check out code | |
uses: actions/checkout@v4 | |
- name: Create k8s Kind Cluster | |
uses: helm/[email protected] | |
with: | |
version: v0.23.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 env-setup GATEWAYAPI_PROVIDER=${{ matrix.gatewayapi-provider }} ISTIO_INSTALL_SAIL=${{ matrix.istio-type == 'sail' && true || false }} | |
run: | | |
make env-setup GATEWAYAPI_PROVIDER=${{ matrix.gatewayapi-provider }} ISTIO_INSTALL_SAIL=${{ matrix.istio-type == 'sail' && true || false }} | |
- 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: controllers-integration | |
fail_ci_if_error: false | |
verbose: true | |
bare-k8s-integration-tests: | |
name: Integration Tests for github.com/kuadrant/kuadrant-operator/tests/bare_k8s | |
runs-on: ubuntu-latest | |
env: | |
KIND_CLUSTER_NAME: kuadrant-test | |
KUADRANT_NAMESPACE: kuadrant-system | |
defaults: | |
run: | |
shell: bash | |
steps: | |
- name: Set up Go 1.22.x | |
uses: actions/setup-go@v4 | |
with: | |
go-version: 1.22.x | |
id: go | |
- name: Check out code | |
uses: actions/checkout@v4 | |
- name: Create k8s Kind Cluster | |
uses: helm/[email protected] | |
with: | |
version: v0.23.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 k8s-env-setup | |
run: | | |
make k8s-env-setup | |
- name: Run integration tests | |
run: | | |
make test-bare-k8s-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: bare-k8s-integration | |
fail_ci_if_error: false | |
verbose: true | |
gatewayapi-integration-tests: | |
name: Integration Tests for github.com/kuadrant/kuadrant-operator/tests/gatewayapi | |
runs-on: ubuntu-latest | |
env: | |
KIND_CLUSTER_NAME: kuadrant-test | |
KUADRANT_NAMESPACE: kuadrant-system | |
defaults: | |
run: | |
shell: bash | |
steps: | |
- name: Set up Go 1.22.x | |
uses: actions/setup-go@v4 | |
with: | |
go-version: 1.22.x | |
id: go | |
- name: Check out code | |
uses: actions/checkout@v4 | |
- name: Create k8s Kind Cluster | |
uses: helm/[email protected] | |
with: | |
version: v0.23.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 gatewayapi-env-setup | |
run: | | |
make gatewayapi-env-setup | |
- name: Run integration tests | |
run: | | |
make test-gatewayapi-env-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: gatewayapi-integration | |
fail_ci_if_error: false | |
verbose: true | |
istio-integration-tests: | |
name: Integration Tests for github.com/kuadrant/kuadrant-operator/tests/istio | |
runs-on: ubuntu-latest | |
env: | |
KIND_CLUSTER_NAME: kuadrant-test | |
KUADRANT_NAMESPACE: kuadrant-system | |
defaults: | |
run: | |
shell: bash | |
steps: | |
- name: Set up Go 1.22.x | |
uses: actions/setup-go@v4 | |
with: | |
go-version: 1.22.x | |
id: go | |
- name: Check out code | |
uses: actions/checkout@v4 | |
- name: Create k8s Kind Cluster | |
uses: helm/[email protected] | |
with: | |
version: v0.23.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 istio-env-setup | |
run: | | |
make istio-env-setup | |
- name: Run integration tests | |
run: | | |
make test-istio-env-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: istio-integration | |
fail_ci_if_error: false | |
verbose: true | |
verify-manifests: | |
name: Verify manifests | |
runs-on: ubuntu-latest | |
steps: | |
- name: Set up Go 1.22.x | |
uses: actions/setup-go@v4 | |
with: | |
go-version: 1.22.x | |
id: go | |
- name: Check out code | |
uses: actions/checkout@v4 | |
- name: Run make verify-manifests | |
run: | | |
make verify-manifests | |
verify-bundle: | |
name: Verify bundle | |
runs-on: ubuntu-latest | |
steps: | |
- name: Set up Go 1.22.x | |
uses: actions/setup-go@v4 | |
with: | |
go-version: 1.22.x | |
id: go | |
- name: Check out code | |
uses: actions/checkout@v4 | |
- name: Run make verify-bundle | |
run: | | |
make verify-bundle | |
verify-fmt: | |
name: Verify fmt | |
runs-on: ubuntu-latest | |
steps: | |
- name: Set up Go 1.22.x | |
uses: actions/setup-go@v4 | |
with: | |
go-version: 1.22.x | |
id: go | |
- name: Check out code | |
uses: actions/checkout@v4 | |
- name: Run make verify-fmt | |
run: | | |
make verify-fmt | |
test-scripts: | |
name: Test Scripts | |
strategy: | |
matrix: | |
go-version: [1.22.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@v4 | |
- name: Run make operator-sdk | |
run: | | |
make operator-sdk | |
verify-generate: | |
name: Verify generate | |
runs-on: ubuntu-latest | |
steps: | |
- name: Set up Go 1.22.x | |
uses: actions/setup-go@v4 | |
with: | |
go-version: 1.22.x | |
id: go | |
- name: Check out code | |
uses: actions/checkout@v4 | |
- name: Verify generate command | |
run: | | |
make verify-generate | |
verify-go-mod: | |
name: Verify go.mod | |
runs-on: ubuntu-latest | |
steps: | |
- name: Set up Go 1.22.x | |
uses: actions/setup-go@v4 | |
with: | |
go-version: 1.22.x | |
id: go | |
- name: Check out code | |
uses: actions/checkout@v4 | |
- name: Verify generate command | |
run: | | |
make verify-go-mod |