Trigger status-sync reconciles when spec-sync sees mismatching status #551
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: KinD tests | |
on: | |
push: | |
branches: | |
- main | |
- release-[0-9]+.[0-9]+ | |
pull_request: | |
branches: | |
- main | |
- release-[0-9]+.[0-9]+ | |
defaults: | |
run: | |
shell: bash | |
jobs: | |
kind-tests: | |
runs-on: ubuntu-latest | |
env: | |
REGISTRY: localhost:5000 | |
KIND_VERSION: ${{ matrix.kind }} | |
strategy: | |
fail-fast: false | |
matrix: | |
# Run tests on oldest and newest supported OCP Kubernetes | |
# The "minimum" tag is set in the Makefile | |
# KinD tags: https://hub.docker.com/r/kindest/node/tags | |
kind: | |
- 'minimum' | |
- 'latest' | |
name: KinD tests | |
steps: | |
- name: Checkout Governance Policy Framework Addon | |
uses: actions/checkout@v4 | |
- name: Set up Go | |
uses: actions/setup-go@v5 | |
with: | |
go-version-file: go.mod | |
- name: Verify modules | |
run: | | |
go mod verify | |
- name: Some quality checks | |
run: | | |
make fmt | |
git diff --exit-code | |
make lint | |
make gosec-scan | |
- name: Verify deploy/operator.yaml | |
run: | | |
make generate-operator-yaml | |
git diff --exit-code | |
- name: Unit and Integration Tests | |
run: | | |
make test | |
- name: Create K8s KinD Cluster - ${{ matrix.kind }} | |
run: | | |
make kind-bootstrap-cluster-dev | |
- name: Ensure Service Account kubeconfig | |
run: | | |
KUBECONFIG=${PWD}/kubeconfig_managed make kind-ensure-sa | |
KUBECONFIG=${PWD}/kubeconfig_hub make kind-ensure-sa | |
- name: E2E Tests | |
run: | | |
export GOPATH=$(go env GOPATH) | |
KUBECONFIG=${PWD}/kubeconfig_managed make e2e-test-coverage | |
- name: E2E Tests That Simulate Hosted Mode | |
run: | | |
export GOPATH=$(go env GOPATH) | |
export DISABLE_GK_SYNC="true" | |
export E2E_CLUSTER_NAMESPACE="other-namespace" | |
export E2E_CLUSTER_NAMESPACE_ON_HUB="other-namespace-on-hub" | |
export COVERAGE_E2E_OUT=coverage_e2e_hosted_mode.out | |
KUBECONFIG=${PWD}/kubeconfig_managed make e2e-test-coverage | |
- name: E2E Tests for Compliance Events API Integration | |
run: | | |
KUBECONFIG=${PWD}/kubeconfig_managed make e2e-test-coverage-compliance-events-api | |
- name: Verify Deployment Configuration | |
run: | | |
make build-images | |
KUBECONFIG=${PWD}/kubeconfig_managed_e2e make kind-deploy-controller-dev | |
- name: Run E2E Uninstallation Tests | |
if: ${{ matrix.kind == 'latest' }} | |
run: | | |
KUBECONFIG=${PWD}/kubeconfig_managed make e2e-test-uninstall-coverage | |
- name: Test Coverage Verification | |
if: ${{ github.event_name == 'pull_request' && matrix.kind == 'latest' }} | |
run: | | |
make test-coverage | |
make coverage-verify | |
- name: Debug | |
if: ${{ failure() }} | |
run: | | |
make e2e-debug | |
- name: Clean up cluster | |
if: ${{ always() }} | |
run: | | |
make kind-delete-cluster |