Skip to content

Update RHTAP references #305

Update RHTAP references

Update RHTAP references #305

Workflow file for this run

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
working-directory: governance-policy-framework-addon
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@v3
with:
path: governance-policy-framework-addon
fetch-depth: 0 # Fetch all history for all tags and branches
- name: Set up Go
uses: actions/setup-go@v3
with:
go-version-file: governance-policy-framework-addon/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: E2E Tests
run: |
export GOPATH=$(go env GOPATH)
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
make e2e-test-coverage
- name: Verify Deployment Configuration
run: |
make build-images
make kind-deploy-controller-dev
- name: Run E2E Uninstallation Tests
if: ${{ matrix.kind == 'latest' }}
run: |
make e2e-test-uninstall-coverage
- name: Test Coverage and Report Generation
if: ${{ matrix.kind == 'latest' }}
run: |
make test-coverage | tee report_unit.json
make coverage-verify
make gosec-scan
cat gosec.json
- name: Store the GitHub triggering event for the sonarcloud workflow
if: |
matrix.kind == 'latest' &&
github.repository_owner == 'stolostron'
run: |
cat <<EOF > event.json
${{ toJSON(github.event) }}
EOF
- name: Upload artifacts for the sonarcloud workflow
if: |
matrix.kind == 'latest' &&
github.repository_owner == 'stolostron'
uses: actions/upload-artifact@v3
with:
name: artifacts
path: |
governance-policy-framework-addon/coverage*.out
governance-policy-framework-addon/event.json
governance-policy-framework-addon/gosec.json
- name: Debug
if: ${{ failure() }}
run: |
make e2e-debug
- name: Clean up cluster
if: ${{ always() }}
run: |
make kind-delete-cluster