Skip to content

fix: increase webhook MutatingWebhookConfiguration timeout to 5m #200

fix: increase webhook MutatingWebhookConfiguration timeout to 5m

fix: increase webhook MutatingWebhookConfiguration timeout to 5m #200

Workflow file for this run

name: Test SR-IOV Operator
on: [push, pull_request]
concurrency:
group: ${{ github.head_ref || github.run_id }}
cancel-in-progress: true
jobs:
build:
name: build
runs-on: ubuntu-latest
steps:
- name: Set up Go 1.22
uses: actions/setup-go@v5
with:
go-version: 1.22.x
- name: Check out code into the Go module directory
uses: actions/checkout@v4
- name: fmt
run: IS_CONTAINER=yes make fmt
- name: Build
run: make all
test:
name: test
runs-on: ubuntu-latest
steps:
- name: Set up Go 1.22
uses: actions/setup-go@v5
with:
go-version: 1.22.x
- name: Check out code into the Go module directory
uses: actions/checkout@v4
- name: test pkg
run: make test-pkg
- name: test cmd
run: make test-cmd
- name: test api
run: make test-api
- name: test controllers on opensfhit
run: CLUSTER_TYPE=openshift make test-controllers
- name: test controllers on kubernetes
run: CLUSTER_TYPE=kubernetes make test-controllers
- name: test bindata/scripts
run: make test-bindata-scripts
modules:
name: check go modules
runs-on: ubuntu-latest
steps:
- name: Set up Go 1.22
uses: actions/setup-go@v5
with:
go-version: 1.22.x
- name: Check out code into the Go module directory
uses: actions/checkout@v4
- name: check go modules are up to date
run: make check-deps
manifests:
name: check manifests
runs-on: ubuntu-latest
steps:
- name: Check out code
uses: actions/checkout@v4
- name: check if the config/ folder is up to date
run: make check-manifests
golangci:
name: Golangci-lint
runs-on: ubuntu-latest
steps:
- name: Set up Go 1.22
uses: actions/setup-go@v5
with:
go-version: 1.22.x
- name: Check out code into the Go module directory
uses: actions/checkout@v4
- name: golangci-lint
uses: golangci/golangci-lint-action@v7
with:
version: v2.10.1
shellcheck:
name: Shellcheck
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Run ShellCheck
uses: ludeeus/action-shellcheck@master
with:
severity: error
test-coverage:
name: test-coverage
runs-on: ubuntu-latest
steps:
- name: Set up Go 1.22
uses: actions/setup-go@v5
with:
go-version: 1.22.x
- name: Check out code into the Go module directory
uses: actions/checkout@v4
- name: test pkg
run: make test-pkg
- name: test cmd
run: make test-cmd
- name: test api
run: make test-api
- name: test controllers on opensfhit
run: CLUSTER_TYPE=openshift make test-controllers
- name: merge test coverage
run: make merge-test-coverage
- name: Coveralls
uses: coverallsapp/github-action@1.1.3
with:
github-token: ${{ secrets.GITHUB_TOKEN }}
path-to-lcov: lcov.out
kind-e2e:
name: kind-e2e
needs: [build, test, golangci]
runs-on: ubuntu-22.04-4core
env:
TEST_REPORT_PATH: kind-e2e-artifacts
steps:
- name: Check out code into the Go module directory
uses: actions/checkout@v4
- name: Set up Go
uses: actions/setup-go@v5
with:
go-version-file: go.mod
- name: run kind e2e
run: make test-e2e-kind-virtual
- uses: actions/upload-artifact@v4
if: always()
with:
name: ${{ env.TEST_REPORT_PATH }}
path: ./${{ env.TEST_REPORT_PATH }}
virtual-k8s-conformance:
if: ${{ vars.ENABLE_VIRTUAL_E2E == 'true' }}
name: virtual-k8s-conformance
needs: [build, test, golangci]
runs-on: ubuntu-22.04-4core
env:
TEST_REPORT_PATH: virtual-k8s-conformance-artifacts
steps:
- name: Check out code
uses: actions/checkout@v4
- name: Set up Go
uses: actions/setup-go@v5
with:
go-version-file: go.mod
- name: Enable KVM
run: |
echo 'KERNEL=="kvm", GROUP="kvm", MODE="0666", OPTIONS+="static_node=kvm"' | \
sudo tee /etc/udev/rules.d/99-kvm4all.rules
sudo udevadm control --reload-rules
sudo udevadm trigger --name-match=kvm
- name: Verify KVM
run: |
ls -la /dev/kvm
sudo apt-get install -y cpu-checker
kvm-ok
- name: Install virtualization deps
run: |
sudo apt-get update
sudo apt-get install -y \
qemu-kvm qemu-system-x86 qemu-utils \
libvirt-daemon-system libvirt-clients \
bridge-utils genisoimage \
podman
sudo usermod -aG kvm,libvirt "$USER"
sudo systemctl enable --now libvirtd
- name: Install kcli
run: |
sudo pip3 install kcli
kcli version
- name: Install ginkgo
run: make ginkgo
- name: Run virtual cluster conformance
run: sudo -E make test-e2e-conformance-virtual-k8s-cluster-ci
timeout-minutes: 60
- uses: actions/upload-artifact@v4
if: always()
with:
name: ${{ env.TEST_REPORT_PATH }}
path: ./${{ env.TEST_REPORT_PATH }}
- name: Remove virtual cluster
if: always()
run: |
sudo kcli delete cluster virtual -y
sudo kcli delete network virtual -y
virtual-k8s-cluster:
if: ${{ vars.ENABLE_E2E == 'true' }} # requires self-hosted [sriov] runner
name: k8s
needs: [
build,
test,
golangci,
]
runs-on: [ sriov ]
env:
TEST_REPORT_PATH: k8s-artifacts
steps:
- name: Check out code into the Go module directory
uses: actions/checkout@v4
- name: Set up Go 1.22
uses: actions/setup-go@v5
with:
go-version: 1.22.x
- name: run test
run: make test-e2e-conformance-virtual-k8s-cluster-ci
- uses: actions/upload-artifact@v4
if: always()
with:
name: ${{ env.TEST_REPORT_PATH }}
path: ./${{ env.TEST_REPORT_PATH }}
- name: remove virtual cluster
if: always()
run: |
kcli delete cluster "$CLUSTER_NAME" -y
kcli delete network "$CLUSTER_NAME" -y
virtual-ocp:
if: ${{ vars.ENABLE_E2E == 'true' }} # requires self-hosted [ocp] runner
name: ocp
needs: [
build,
test,
golangci,
]
runs-on: [ ocp ]
env:
TEST_REPORT_PATH: ocp-artifacts
steps:
- name: Check out code into the Go module directory
uses: actions/checkout@v4
- name: Set up Go 1.22
uses: actions/setup-go@v5
with:
go-version: 1.22.x
- name: run test
run: make test-e2e-conformance-virtual-ocp-cluster-ci
- uses: actions/upload-artifact@v4
if: always()
with:
name: ${{ env.TEST_REPORT_PATH }}
path: ./${{ env.TEST_REPORT_PATH }}
- name: remove virtual cluster
if: always()
run: |
kcli delete cluster "$CLUSTER_NAME" -y
kcli delete network "$CLUSTER_NAME" -y