Skip to content

build(deps): Bump sigs.k8s.io/controller-runtime from 0.19.5 to 0.20.3 #2697

build(deps): Bump sigs.k8s.io/controller-runtime from 0.19.5 to 0.20.3

build(deps): Bump sigs.k8s.io/controller-runtime from 0.19.5 to 0.20.3 #2697

Workflow file for this run

name: Go
on:
push:
branches:
- main
- release-v*
- release/v*
paths-ignore:
- "docs/**"
- "**.md"
- "scripts/cleanup/**"
- "CODEOWNERS"
- "OWNERS"
pull_request:
branches:
- main
- release-v*
- release/v*
paths-ignore:
- "docs/**"
- "**.md"
- "scripts/cleanup/**"
- "CODEOWNERS"
- "OWNERS"
env:
CI_WAIT_FOR_OK_SECONDS: 60
CI_MAX_ITERATIONS_THRESHOLD: 60
CI_CLIENT_CONCURRENT_CONNECTIONS: 1
CI_MAX_WAIT_FOR_POD_TIME_SECONDS: 60
CI_MIN_SUCCESS_THRESHOLD: 1
FSM_HUMAN_DEBUG_LOG: ${{ vars.FSM_HUMAN_DEBUG_LOG || 'false' }}
CLUSTER_INSTALL_TYPE: ${{ vars.CLUSTER_INSTALL_TYPE || 'K3dCluster' }}
K3D_NODE_LOGS: ${{ vars.K3D_NODE_LOGS || 'false' }}
jobs:
shellcheck:
name: Shellcheck
runs-on: ubuntu-24.04
steps:
- name: Checkout
uses: actions/checkout@v4
- name: ShellCheck
run: shellcheck -x $(find . -name '*.sh')
lint:
name: Lint
runs-on: ubuntu-24.04
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Setup Go
uses: actions/setup-go@v5
with:
go-version-file: go.mod
cache: false
- name: go build deps
run: make embed-files-test
- name: golangci-lint
uses: golangci/golangci-lint-action@v6
with:
version: latest
args: --allow-parallel-runners=true --tests=false --timeout=5m
codegen:
name: Codegen
runs-on: ubuntu-24.04
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Setup Go
uses: actions/setup-go@v5
with:
go-version-file: go.mod
cache: false
- name: go mod tidy
run: make go-mod-tidy
- name: Codegen checks
run: make check-codegen
- name: Scripts checks
run: make check-scripts
- name: Manifests checks
run: |
make manifests
make check-manifests
mocks:
name: Mocks
runs-on: ubuntu-24.04
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Setup Go
uses: actions/setup-go@v5
with:
go-version-file: go.mod
cache: false
- name: go mod tidy
run: make go-mod-tidy
- name: gomock checks
run: make check-mocks
charts:
name: Chart checks
runs-on: ubuntu-24.04
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Setup Go
uses: actions/setup-go@v5
with:
go-version-file: go.mod
cache: false
- name: chart checks
run: make chart-checks
build:
name: Go build
runs-on: ubuntu-24.04
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Setup Go
uses: actions/setup-go@v5
with:
go-version-file: go.mod
cache: false
- name: Package Helm Charts
run: make charts-tgz
- name: Go Build
run: make build-ci
unittest:
name: Go test
runs-on: ubuntu-24.04
needs: build
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Setup Go
uses: actions/setup-go@v5
with:
go-version-file: go.mod
cache: false
- name: go mod tidy
run: make go-mod-tidy
- name: Test
run: make go-test-coverage
- name: Upload Coverage
if: ${{ success() }}
uses: codecov/codecov-action@v5
with:
flags: unittests
ghcr:
name: Docker Images(ghcr.io)
runs-on: ubuntu-24.04
needs: build
env:
CTR_REGISTRY: "ghcr.io/${{ github.repository_owner }}"
CTR_TAG: ${{ github.sha }}
steps:
- name: Set up QEMU
uses: docker/[email protected]
- name: Set up Docker Buildx
uses: docker/[email protected]
- name: Login to GitHub Container Registry
uses: docker/login-action@v3
with:
registry: ghcr.io
username: ${{ github.repository_owner }}
password: ${{ secrets.WORKFLOW_PAT }}
# to avoid dockerhub anonymous rate limit
- name: Login to DockerHub
uses: docker/[email protected]
with:
username: ${{ secrets.RELEASE_DOCKER_USER }}
password: ${{ secrets.RELEASE_DOCKER_PASS }}
- name: Checkout
uses: actions/checkout@v4
- name: Setup Go
id: setup-go
uses: actions/setup-go@v5
with:
go-version-file: go.mod
cache: false
- name: Push images with SHA tag
run: make docker-build-fsm docker-build-demo
imagescan:
name: Scan images for security vulnerabilities
runs-on: ubuntu-24.04
needs: ghcr
env:
CTR_REGISTRY: "ghcr.io/${{ github.repository_owner }}"
CTR_TAG: ${{ github.sha }}
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Login to GitHub Container Registry
uses: docker/login-action@v3
with:
registry: ghcr.io
username: ${{ github.repository_owner }}
password: ${{ secrets.WORKFLOW_PAT }}
- name: Setup Trivy
run: make trivy-ci-setup
- name: Scan docker images for vulnerabilities
run: make trivy-scan-images
mesh-e2e-test:
name: Go mesh test
needs: ghcr
strategy:
matrix:
k8s_version: [""]
focus: [""]
bucket: [1, 2, 3, 4, 5]
os: [ubuntu-24.04]
include:
- k8s_version: v1.19.16-k3s1
focus: "Test traffic flowing from client to server with a Kubernetes Service for the Source: HTTP"
bucket: ".*"
os: ubuntu-20.04
- k8s_version: v1.27.16-k3s1
focus: "Test traffic flowing from client to server with a Kubernetes Service for the Source: HTTP"
bucket: ".*"
os: ubuntu-24.04
uses: ./.github/workflows/e2e.yml
with:
os: ${{ matrix.os }}
k8s_version: ${{ matrix.k8s_version }}
bucket: ${{ matrix.bucket }}
focus: ${{ matrix.focus }}
secrets: inherit
gateway-e2e-test:
name: Go gateway test
needs: ghcr
strategy:
matrix:
focus: [""]
bucket: [6, 7]
k8s:
- version: "latest"
os: ubuntu-24.04
- version: v1.19.16-k3s1
os: ubuntu-20.04
- version: v1.21.14-k3s1
os: ubuntu-24.04
- version: v1.23.17-k3s1
os: ubuntu-24.04
exclude:
- focus: ""
bucket: "7"
k8s:
version: v1.21.14-k3s1
os: ubuntu-24.04
- focus: ""
bucket: "7"
k8s:
version: v1.23.17-k3s1
os: ubuntu-24.04
uses: ./.github/workflows/e2e.yml
with:
os: ${{ matrix.k8s.os }}
k8s_version: ${{ matrix.k8s.version }}
bucket: ${{ matrix.bucket }}
focus: ${{ matrix.focus }}
secrets: inherit
ingress-e2e-test:
name: Go ingress test
needs: ghcr
strategy:
matrix:
k8s_version: [ "" ]
focus: [ "" ]
bucket: [ 10 ]
uses: ./.github/workflows/e2e.yml
with:
os: ubuntu-24.04
k8s_version: ${{ matrix.k8s_version }}
bucket: ${{ matrix.bucket }}
focus: ${{ matrix.focus }}
secrets: inherit
mesh-retry-e2e-test:
name: Go retry test
needs: ghcr
strategy:
matrix:
k8s_version: [""]
focus: [""]
bucket: [9]
uses: ./.github/workflows/e2e.yml
with:
os: ubuntu-24.04
k8s_version: ${{ matrix.k8s_version }}
bucket: ${{ matrix.bucket }}
focus: ${{ matrix.focus }}
secrets: inherit
mesh-statefulset-e2e-test:
name: Go statefulset test
needs: ghcr
strategy:
matrix:
k8s_version: [""]
focus: [""]
bucket: [8]
uses: ./.github/workflows/e2e.yml
with:
os: ubuntu-24.04
k8s_version: ${{ matrix.k8s_version }}
bucket: ${{ matrix.bucket }}
focus: ${{ matrix.focus }}
secrets: inherit
integration-tresor:
name: Integration Test with Tresor, SMI traffic policies, and egress disabled
runs-on: ubuntu-24.04
needs: ghcr
steps:
- name: Free Disk Space (Ubuntu)
uses: jlumbroso/free-disk-space@main
with:
tool-cache: false
android: true
dotnet: true
haskell: true
large-packages: true
docker-images: false
swap-storage: true
- name: Checkout
uses: actions/checkout@v4
- name: Setup Go
uses: actions/setup-go@v5
with:
go-version-file: go.mod
cache: false
- name: Install k3d CLI
run: |
curl -s https://raw.githubusercontent.com/k3d-io/k3d/main/install.sh | bash
k3d version
- name: Run Simulation w/ Tresor, SMI policies, egress disabled and reconciler disabled
env:
CERT_MANAGER: "tresor"
BOOKSTORE_SVC: "bookstore"
BOOKTHIEF_EXPECTED_RESPONSE_CODE: "0"
ENABLE_EGRESS: "false"
ENABLE_RECONCILER: "false"
PERMISSIVE_MODE: "false"
DEPLOY_TRAFFIC_SPLIT: "true"
CTR_REGISTRY: "ghcr.io/${{ github.repository_owner }}"
CTR_TAG: ${{ github.sha }}
USE_PRIVATE_REGISTRY: "false"
PUBLISH_IMAGES: "false"
GITHUB_REPO_OWNER: ${{ github.repository_owner }}
GITHUB_TOKEN: ${{ secrets.WORKFLOW_PAT }}
DOCKER_USER: ${{ secrets.RELEASE_DOCKER_USER }}
DOCKER_PASS: ${{ secrets.RELEASE_DOCKER_PASS }}
CI_INTEGRATION_TEST: "true"
run: |
touch .env
make k3d-up
./demo/run-fsm-demo.sh
go run ./ci/cmd/maestro.go
ghcr-cleanup:
name: ghcr.io cleanup
runs-on: ubuntu-24.04
needs: [mesh-e2e-test, gateway-e2e-test, ingress-e2e-test, mesh-retry-e2e-test, mesh-statefulset-e2e-test, integration-tresor, imagescan]
steps:
- uses: dataaxiom/ghcr-cleanup-action@v1
with:
token: ${{ secrets.WORKFLOW_PAT }}
owner: ${{ github.repository_owner }}
packages: fsm-*
expand-packages: true
delete-tags: ${{ github.sha }}
images:
name: Docker Images
runs-on: ubuntu-24.04
if: ${{ (github.ref == 'refs/heads/main' || startsWith(github.ref, 'refs/heads/release-')) && github.event_name == 'push' }}
env:
DOCKER_USER: ${{ secrets.RELEASE_DOCKER_USER }}
DOCKER_PASS: ${{ secrets.RELEASE_DOCKER_PASS }}
CTR_REGISTRY: ${{ secrets.RELEASE_REGISTRY }}
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Docker Login
run: docker login --username "$DOCKER_USER" --password-stdin <<< "$DOCKER_PASS"
- name: Push images with "latest-main" tag
env:
CTR_TAG: latest-main
run: make docker-build-cross