Skip to content

Bump google.golang.org/protobuf from 1.28.0 to 1.33.0 in /images/custom-error-pages/rootfs #1053

Bump google.golang.org/protobuf from 1.28.0 to 1.33.0 in /images/custom-error-pages/rootfs

Bump google.golang.org/protobuf from 1.28.0 to 1.33.0 in /images/custom-error-pages/rootfs #1053

Workflow file for this run

name: CI
on:
pull_request:
branches: ['main', 'stable/**']
types: ['opened', 'reopened', 'synchronize']
workflow_dispatch:
permissions:
contents: read
jobs:
changes:
name: Changes
permissions:
contents: read
pull-requests: read
runs-on: ubuntu-latest
outputs:
base: ${{ steps.filter.outputs.base }}
go: ${{ steps.filter.outputs.go }}
helm: ${{ steps.filter.outputs.helm }}
smoke: ${{ steps.filter.outputs.smoke }}
runner: ${{ steps.runner.outputs.type }}
steps:
- name: Checkout
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
- uses: dorny/paths-filter@ebc4d7e9ebcb0b1eb21480bb8f43113e996ac77a # v3.0.1
id: filter
with:
token: ${{ secrets.GITHUB_TOKEN }}
filters: |
base:
- 'NGINX_BASE'
go:
- '**/*.go'
- 'go.mod'
- 'go.sum'
- 'rootfs/**/*'
- 'TAG'
- 'test/e2e/**/*'
- 'NGINX_BASE'
helm:
- 'charts/ingress-nginx/Chart.yaml'
- 'charts/ingress-nginx/**/*'
smoke:
- 'test/smoke/*'
build:
name: Build images
runs-on: ${{ matrix.RUNNER }}
if: |
(needs.changes.outputs.base == 'true' || needs.changes.outputs.go == 'true' || needs.changes.outputs.helm == 'true' || needs.changes.outputs.smoke == 'true')
needs:
- changes
strategy:
fail-fast: false
matrix:
include:
- ARCH: amd64
RUNNER: self-hosted-amd64-2cpu
- ARCH: arm64
RUNNER: self-hosted-arm64-2cpu
env:
ARCH: ${{ matrix.ARCH }}
steps:
- name: Checkout
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
- name: Build controller images
env:
REGISTRY: wallarm
TAG: 1.0.0-dev
USER: runner
run: |
echo "Building controller images ..."
make clean-image build image image-chroot
echo "Building E2E image ..."
make -C test/e2e-image image
docker save -o controller-${{ env.ARCH }}.tar \
wallarm/ingress-controller:1.0.0-dev \
wallarm/ingress-controller-chroot:1.0.0-dev \
nginx-ingress-controller:e2e
- name: Cache controller images
uses: actions/upload-artifact@5d5d22a31266ced268874388b861e4b58bb5c2f3
with:
retention-days: 1
name: controller-${{ env.ARCH }}.tar
path: controller-${{ env.ARCH }}.tar
smoke:
name: Smoke
runs-on: ${{ matrix.RUNNER }}
needs:
- build
- changes
if: |
(needs.changes.outputs.helm == 'true' || needs.changes.outputs.go == 'true' || needs.changes.outputs.smoke == 'true')
strategy:
fail-fast: false
matrix:
k8s: [v1.23.13, v1.27.1]
ARCH: [amd64, arm64]
include:
- ARCH: amd64
RUNNER: self-hosted-amd64-2cpu
- ARCH: arm64
RUNNER: self-hosted-arm64-2cpu
env:
ARCH: ${{ matrix.ARCH }}
KIND_CLUSTER_NAME: kind-${{ matrix.k8s }}
KUBECONFIG: $HOME/.kube/kind-config-${{ matrix.k8s }}
steps:
- name: Import secrets
uses: hashicorp/vault-action@d1720f055e0635fd932a1d2a48f87a666a57906c # v3.0.0
id: secrets
with:
exportEnv: false
url: ${{ secrets.VAULT_URL }}
role: ${{ secrets.VAULT_ROLE }}
method: kubernetes
path: kubernetes-ci
secrets: |
kv-gitlab-ci/data/github/ingress api_token ;
kv-gitlab-ci/data/github/ingress api_host ;
kv-gitlab-ci/data/github/ingress api_preset ;
kv-gitlab-ci/data/github/ingress client_id ;
kv-gitlab-ci/data/github/ingress user_token ;
kv-gitlab-ci/data/github/shared/allure allure_endpoint ;
kv-gitlab-ci/data/github/shared/allure allure_project_id ;
kv-gitlab-ci/data/github/shared/allure allure_token ;
kv-gitlab-ci/data/github/shared/smoke-tests-registry-creds token_name ;
kv-gitlab-ci/data/github/shared/smoke-tests-registry-creds token_secret ;
- name: Checkout
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
- name: Load cache
uses: actions/download-artifact@eaceaf801fd36c7dee90939fad912460b18a1ffe
with:
name: controller-${{ env.ARCH }}.tar
- name: Load images
run: docker load -i controller-${{ env.ARCH }}.tar
- name: Create cluster
run: kind create cluster --image=kindest/node:${{ matrix.k8s }}
- name: Run smoke tests
env:
SKIP_CLUSTER_CREATION: true
SKIP_IMAGE_CREATION: true
WALLARM_API_TOKEN: ${{ steps.secrets.outputs.api_token }}
WALLARM_API_HOST: ${{ steps.secrets.outputs.api_host }}
WALLARM_API_PRESET: ${{ steps.secrets.outputs.api_preset }}
CLIENT_ID: ${{ steps.secrets.outputs.client_id }}
USER_TOKEN: ${{ steps.secrets.outputs.user_token }}
SMOKE_REGISTRY_TOKEN: ${{ steps.secrets.outputs.token_name }}
SMOKE_REGISTRY_SECRET: ${{ steps.secrets.outputs.token_secret }}
ALLURE_UPLOAD_REPORT: true
ALLURE_GENERATE_REPORT: true
ALLURE_TOKEN: ${{ steps.secrets.outputs.allure_token }}
ALLURE_ENDPOINT: ${{ steps.secrets.outputs.allure_endpoint }}
ALLURE_PROJECT_ID: ${{ steps.secrets.outputs.allure_project_id }}
ALLURE_ENVIRONMENT_K8S: ${{ matrix.k8s }}
ALLURE_ENVIRONMENT_ARCH: ${{ matrix.ARCH }}
run: |
make kind-smoke-test
chart-testing:
name: Chart testing
runs-on: self-hosted-amd64-2cpu
needs:
- build
- changes
if: needs.changes.outputs.helm == 'true'
env:
ARCH: amd64
strategy:
matrix:
# "upgrade" is disabled, there is an issue with this mode if values.yaml changed https://github.com/helm/chart-testing/issues/525
method: [ "install" ]
steps:
- name: Import secrets
uses: hashicorp/vault-action@d1720f055e0635fd932a1d2a48f87a666a57906c # v3.0.0
id: secrets
with:
exportEnv: false
url: ${{ secrets.VAULT_URL }}
role: ${{ secrets.VAULT_ROLE }}
method: kubernetes
path: kubernetes-ci
secrets: kv-gitlab-ci/data/github/ingress api_token
- name: Checkout
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
with:
fetch-depth: 0
- name: Load cache
uses: actions/download-artifact@eaceaf801fd36c7dee90939fad912460b18a1ffe
with:
name: controller-${{ env.ARCH }}.tar
- name: Load images
run: docker load -i controller-${{ env.ARCH }}.tar
- name: Create cluster
run: kind create cluster --image=kindest/node:v1.25.8 --config test/e2e/kind.yaml
- name: Run chart testing ${{ matrix.method }}
env:
KIND_CLUSTER_NAME: kind
SKIP_CLUSTER_CREATION: true
SKIP_IMAGE_CREATION: true
WALLARM_API_TOKEN: ${{ steps.secrets.outputs.api_token }}
CT_MODE: ${{ matrix.method }}
run: |
kind get kubeconfig > $GITHUB_WORKSPACE/kind-config-kind
export KUBECONFIG=$GITHUB_WORKSPACE/kind-config-kind
make kind-e2e-chart-tests
e2e:
name: E2E
runs-on: self-hosted-amd64-4cpu
needs:
- build
- changes
if: needs.changes.outputs.go == 'true'
env:
ARCH: amd64
steps:
- name: Checkout
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
- name: Load controller build cache
uses: actions/download-artifact@eaceaf801fd36c7dee90939fad912460b18a1ffe
with:
name: controller-${{ env.ARCH }}.tar
- name: Load controller images
run: docker load -i controller-${{ env.ARCH }}.tar
- name: Create cluster
run: kind create cluster --image=kindest/node:v1.25.8 --config test/e2e/kind.yaml
- name: Run e2e tests
env:
KIND_CLUSTER_NAME: kind
SKIP_CLUSTER_CREATION: true
SKIP_INGRESS_IMAGE_CREATION: true
SKIP_E2E_IMAGE_CREATION: true
ARCH: amd64
run: |
kind get kubeconfig > $HOME/.kube/kind-config-kind
make kind-e2e-test
e2e-wallarm:
name: E2E - Wallarm
runs-on: self-hosted-amd64-4cpu
needs:
- changes
- build
if: needs.changes.outputs.go == 'true'
env:
ARCH: amd64
strategy:
fail-fast: true
matrix:
k8s: [v1.24.12, v1.25.8, v1.26.3,v1.27.1, v1.28.0]
steps:
- name: Import secrets
uses: hashicorp/vault-action@d1720f055e0635fd932a1d2a48f87a666a57906c # v3.0.0
id: secrets
with:
exportEnv: false
url: ${{ secrets.VAULT_URL }}
role: ${{ secrets.VAULT_ROLE }}
method: kubernetes
path: kubernetes-ci
secrets: |
kv-gitlab-ci/data/github/ingress api_token ;
kv-gitlab-ci/data/github/ingress api_host ;
- name: Checkout
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
- name: Load controller build cache
uses: actions/download-artifact@eaceaf801fd36c7dee90939fad912460b18a1ffe
with:
name: controller-${{ env.ARCH }}.tar
- name: Load controller images
run: docker load -i controller-${{ env.ARCH }}.tar
- name: Create cluster ${{ matrix.k8s }}
run: kind create cluster --image=kindest/node:${{ matrix.k8s }} --config test/e2e/kind.yaml
- name: Run e2e tests
env:
KIND_CLUSTER_NAME: kind
SKIP_CLUSTER_CREATION: true
SKIP_INGRESS_IMAGE_CREATION: true
SKIP_E2E_IMAGE_CREATION: true
WALLARM_ENABLED: true
WALLARM_API_TOKEN: ${{ steps.secrets.outputs.api_token }}
WALLARM_API_HOST: ${{ steps.secrets.outputs.api_host }}
run: |
kind get kubeconfig > $HOME/.kube/kind-config-kind
make E2E_NODES=7 kind-e2e-test
scan:
name: Scan images
runs-on: self-hosted-amd64-1cpu
continue-on-error: true
needs:
- changes
- build
if: |
(needs.changes.outputs.base == 'true' || needs.changes.outputs.go == 'true')
env:
ARCH: amd64
steps:
- name: Load controller build cache
uses: actions/download-artifact@eaceaf801fd36c7dee90939fad912460b18a1ffe
with:
name: controller-${{ env.ARCH }}.tar
- name: Load controller images
run: docker load -i controller-${{ env.ARCH }}.tar
- name: Scan controller image
uses: anchore/scan-action@3343887d815d7b07465f6fdcd395bd66508d486a
with:
image: "wallarm/ingress-controller:1.0.0-dev"
fail-build: true
output-format: 'table'
severity-cutoff: 'critical'