diff --git a/.github/workflows/images.yaml b/.github/workflows/images.yaml index 915cc09698..fa60c49d45 100644 --- a/.github/workflows/images.yaml +++ b/.github/workflows/images.yaml @@ -332,9 +332,9 @@ jobs: set -euo pipefail go test -v ./test/e2e/. -timeout 60m -tags=e2e -count=1 -args -image-tag=$(make version) -image-registry=${{ vars.ACR_NAME }} -image-namespace=${{ github.repository}} - perf: + perf-basic: if: ${{ github.event_name == 'merge_group' && success('manifests')}} - name: Retina Performance Test + name: Retina Basic Performance Test runs-on: ubuntu-latest needs: [manifests] @@ -345,7 +345,41 @@ jobs: - name: Setup go uses: actions/setup-go@v5 with: - go-version-file: go.mod + go-version: 1.23 + - run: go version + + - name: Az CLI login + uses: azure/login@v2 + if: ${{ github.event_name == 'merge_group' }} + with: + client-id: ${{ secrets.AZURE_CLIENT_ID }} + tenant-id: ${{ secrets.AZURE_TENANT_ID }} + subscription-id: ${{ secrets.AZURE_SUBSCRIPTION }} + + - name: Run Perf Tests + env: + AZURE_APP_INSIGHTS_KEY: ${{ secrets.AZURE_APP_INSIGHTS_KEY }} + AZURE_SUBSCRIPTION_ID: ${{ secrets.AZURE_SUBSCRIPTION }} + AZURE_LOCATION: ${{ vars.AZURE_LOCATION }} + shell: bash + run: | + set -euo pipefail + go test -v ./test/e2e/. -timeout 2h -tags=perf -count=1 -args -image-tag=$(make version) -image-registry=${{ vars.ACR_NAME }} -image-namespace=${{ github.repository }} -retina-mode=basic + + perf-advanced: + if: ${{ github.event_name == 'merge_group' && success('manifests')}} + name: Retina Advanced Performance Test + runs-on: ubuntu-latest + needs: [manifests] + + steps: + - name: Checkout code + uses: actions/checkout@v4 + + - name: Setup go + uses: actions/setup-go@v5 + with: + go-version: 1.23 - run: go version - name: Az CLI login @@ -364,4 +398,4 @@ jobs: shell: bash run: | set -euo pipefail - go test -v ./test/e2e/. -timeout 2h -tags=perf -count=1 -args -image-tag=$(make version) -image-registry=${{ vars.ACR_NAME }} -image-namespace=${{ github.repository }} + go test -v ./test/e2e/. -timeout 2h -tags=perf -count=1 -args -image-tag=$(make version) -image-registry=${{ vars.ACR_NAME }} -image-namespace=${{ github.repository }} -retina-mode=advanced diff --git a/.github/workflows/perf.yaml b/.github/workflows/perf.yaml index dcbe96f7bf..11d71cf47e 100644 --- a/.github/workflows/perf.yaml +++ b/.github/workflows/perf.yaml @@ -15,8 +15,8 @@ permissions: id-token: write jobs: - perf_test: - name: Retina Performance Test + perf-test-basic: + name: Retina Basic Performance Test runs-on: ubuntu-latest steps: @@ -26,7 +26,7 @@ jobs: - name: Setup go uses: actions/setup-go@v5 with: - go-version-file: go.mod + go-version: 1.23 - run: go version - name: Az CLI login @@ -49,4 +49,40 @@ jobs: else TAG=$(curl -s https://api.github.com/repos/${{ github.repository }}/releases/latest | jq -r .tag_name) fi - go test -v ./test/e2e/. -timeout 2h -tags=perf -count=1 -args -image-tag=$TAG -image-registry=ghcr.io -image-namespace=${{ github.repository }} + go test -v ./test/e2e/. -timeout 2h -tags=perf -count=1 -args -image-tag=$TAG -image-registry=ghcr.io -image-namespace=${{ github.repository }} -retina-mode=basic + + perf-test-advanced: + name: Retina Advanced Performance Test + runs-on: ubuntu-latest + + steps: + - name: Checkout code + uses: actions/checkout@v4 + + - name: Setup go + uses: actions/setup-go@v5 + with: + go-version: 1.23 + - run: go version + + - name: Az CLI login + uses: azure/login@v2 + with: + client-id: ${{ secrets.AZURE_CLIENT_ID }} + tenant-id: ${{ secrets.AZURE_TENANT_ID }} + subscription-id: ${{ secrets.AZURE_SUBSCRIPTION }} + + - name: Run performance measurement for Retina + env: + AZURE_APP_INSIGHTS_KEY: ${{ secrets.AZURE_APP_INSIGHTS_KEY }} + AZURE_SUBSCRIPTION_ID: ${{ secrets.AZURE_SUBSCRIPTION }} + AZURE_LOCATION: ${{ vars.AZURE_LOCATION }} + shell: bash + run: | + set -euo pipefail + if [ "${{ github.event_name }}" == "workflow_dispatch" ]; then + TAG=${{ github.event.inputs.tag }} + else + TAG=$(curl -s https://api.github.com/repos/${{ github.repository }}/releases/latest | jq -r .tag_name) + fi + go test -v ./test/e2e/. -timeout 2h -tags=perf -count=1 -args -image-tag=$TAG -image-registry=ghcr.io -image-namespace=${{ github.repository }} -retina-mode=advanced diff --git a/Makefile b/Makefile index ec885bcfac..088dec0cba 100644 --- a/Makefile +++ b/Makefile @@ -35,7 +35,7 @@ PLATFORM ?= $(OS)/$(ARCH) PLATFORMS ?= linux/amd64 linux/arm64 windows/amd64 OS_VERSION ?= ltsc2019 -HUBBLE_VERSION ?= v1.16.5 # This may be modified via the update-hubble GitHub Action +HUBBLE_VERSION ?= v1.16.6 # This may be modified via the update-hubble GitHub Action CONTAINER_BUILDER ?= docker CONTAINER_RUNTIME ?= docker diff --git a/controller/Dockerfile b/controller/Dockerfile index a8ae7f8e6e..6b7d78041f 100644 --- a/controller/Dockerfile +++ b/controller/Dockerfile @@ -99,7 +99,7 @@ RUN arr="clang tcpdump ip ss iptables-legacy iptables-legacy-save iptables-nft i ARG GOARCH=amd64 ENV HUBBLE_ARCH=${GOARCH} # ARG HUBBLE_VERSION may be modified via the update-hubble GitHub Action -ARG HUBBLE_VERSION=v1.16.5 +ARG HUBBLE_VERSION=v1.16.6 ENV HUBBLE_VERSION=${HUBBLE_VERSION} RUN echo "Hubble version: $HUBBLE_VERSION" && \ wget --no-check-certificate https://github.com/cilium/hubble/releases/download/$HUBBLE_VERSION/hubble-linux-${HUBBLE_ARCH}.tar.gz && \