Skip to content

Explicitly enable CGO #464

Explicitly enable CGO

Explicitly enable CGO #464

Workflow file for this run

name: KinD tests
on:
push:
branches:
- main
- release-2.[3-9]
pull_request:
branches:
- main
- release-2.[3-9]
defaults:
run:
shell: bash
working-directory: cert-policy-controller
jobs:
kind-tests:
runs-on: ubuntu-latest
env:
REGISTRY: localhost:5000
strategy:
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 Cert Policy Controller
uses: actions/checkout@v3
with:
path: cert-policy-controller
fetch-depth: 0 # Fetch all history for all tags and branches
- name: Set up Go
uses: actions/setup-go@v3
with:
go-version-file: cert-policy-controller/go.mod
- name: Verify modules
run: |
go mod verify
- name: Verify format
run: |
make fmt
git diff --exit-code
make lint
- 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 }}
env:
KIND_VERSION: ${{ matrix.kind }}
run: |
make kind-bootstrap-cluster-dev
- name: E2E Tests
run: |
export GOPATH=$(go env GOPATH)
make e2e-test-coverage
- name: Create K8s KinD Cluster to simulate hosted mode - ${{ matrix.kind }}
env:
KIND_VERSION: ${{ matrix.kind }}
run: |
make kind-additional-cluster
- name: E2E tests that simulate hosted mode
run: |
export GOPATH=$(go env GOPATH)
make e2e-test-hosted-mode-coverage
- name: Test Coverage and Report Generation
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: |
cert-policy-controller/coverage*.out
cert-policy-controller/event.json
cert-policy-controller/gosec.json
- name: Debug
if: ${{ failure() }}
run: |
make e2e-debug
- name: Clean up cluster
if: ${{ always() }}
run: |
make kind-delete-cluster