feat: expire stale advanced metrics after not being updated for some time #6973
Workflow file for this run
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: Build Images | |
| on: | |
| pull_request: | |
| branches: [main] | |
| merge_group: | |
| types: [checks_requested] | |
| workflow_dispatch: | |
| permissions: | |
| contents: read | |
| id-token: write | |
| concurrency: | |
| group: ${{ github.workflow }}-${{ github.ref }} | |
| cancel-in-progress: true | |
| jobs: | |
| get-tag: | |
| name: Get Image Tag | |
| runs-on: ubuntu-latest | |
| timeout-minutes: 5 | |
| outputs: | |
| tag: ${{ steps.get_tag.outputs.tag }} | |
| steps: | |
| - name: Checkout code | |
| uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 | |
| - name: Get tag | |
| id: get_tag | |
| run: echo "tag=$(make version)" >> $GITHUB_OUTPUT | |
| retina-images: | |
| name: Build Agent Images - Linux | |
| runs-on: ${{ matrix.runner }} | |
| timeout-minutes: 60 | |
| strategy: | |
| matrix: | |
| platform: ["linux"] | |
| arch: ["amd64", "arm64"] | |
| include: | |
| - arch: amd64 | |
| runner: ubuntu-latest | |
| - arch: arm64 | |
| runner: ubuntu-24.04-arm | |
| steps: | |
| - name: Checkout code | |
| uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 | |
| - uses: actions/setup-go@7a3fe6cf4cb3a834922a1244abfce67bcef6a0c5 # v6.2.0 | |
| with: | |
| go-version-file: go.mod | |
| - run: go version | |
| - name: Az CLI login | |
| uses: azure/login@a457da9ea143d694b1b9c7c869ebb04ebe844ef5 # v2.3.0 | |
| 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: Build Images | |
| shell: bash | |
| run: | | |
| set -euo pipefail | |
| echo "TAG=$(make version)" >> $GITHUB_ENV | |
| if [ "$IS_MERGE_GROUP" == "true" ]; then | |
| az acr login -n ${{ vars.ACR_NAME }} | |
| make retina-image \ | |
| IMAGE_NAMESPACE=${{ github.repository }} \ | |
| PLATFORM=${{ matrix.platform }}/${{ matrix.arch }} \ | |
| IMAGE_REGISTRY=${{ vars.ACR_NAME }} \ | |
| APP_INSIGHTS_ID=${{ secrets.AZURE_APP_INSIGHTS_KEY }} \ | |
| BUILDX_ACTION=--push | |
| else | |
| make retina-image \ | |
| IMAGE_NAMESPACE=${{ github.repository }} \ | |
| PLATFORM=${{ matrix.platform }}/${{ matrix.arch }} | |
| fi | |
| env: | |
| IS_MERGE_GROUP: ${{ github.event_name == 'merge_group' }} | |
| build-windows-binaries: | |
| name: Build Windows Binaries | |
| runs-on: ubuntu-latest | |
| timeout-minutes: 30 | |
| steps: | |
| - name: Checkout code | |
| uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 | |
| - uses: actions/setup-go@7a3fe6cf4cb3a834922a1244abfce67bcef6a0c5 # v6.2.0 | |
| with: | |
| go-version-file: go.mod | |
| - run: go version | |
| - name: Build Windows Binaries | |
| shell: bash | |
| run: | | |
| TAG=$(make version) | |
| echo "TAG=$TAG" >> $GITHUB_ENV | |
| make build-windows-binaries \ | |
| GOOS=windows \ | |
| GOARCH=amd64 \ | |
| TAG=$TAG \ | |
| APP_INSIGHTS_ID=${{ secrets.AZURE_APP_INSIGHTS_KEY }} | |
| env: | |
| APP_INSIGHTS_ID: ${{ secrets.AZURE_APP_INSIGHTS_KEY }} | |
| - name: Upload Windows Binaries | |
| uses: actions/upload-artifact@b7c566a772e6b6bfb58ed0dc250532a479d7789f # v6.0.0 | |
| with: | |
| name: windows-binaries | |
| path: output/windows_amd64/ | |
| retention-days: 1 | |
| retina-image-win: | |
| name: Build Agent Image - Windows ${{ matrix.year }} | |
| needs: build-windows-binaries | |
| runs-on: windows-${{ matrix.year }} | |
| timeout-minutes: 60 | |
| strategy: | |
| matrix: | |
| year: ["2019", "2022"] | |
| platform: ["windows"] | |
| arch: ["amd64"] | |
| steps: | |
| - name: Checkout code | |
| uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 | |
| - name: Download Windows Binaries | |
| uses: actions/download-artifact@37930b1c2abaa49bbe596cd826c3c89aef350131 # v7.0.0 | |
| with: | |
| name: windows-binaries | |
| path: output/windows_amd64/ | |
| - name: Az CLI login | |
| uses: azure/login@a457da9ea143d694b1b9c7c869ebb04ebe844ef5 # v2.3.0 | |
| 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: Build Images | |
| shell: bash | |
| run: | | |
| set -euo pipefail | |
| TAG=$(make version) | |
| echo "TAG=$TAG" >> "$GITHUB_ENV" | |
| if [ "$IS_MERGE_GROUP" == "true" ]; then | |
| az acr login -n ${{ vars.ACR_NAME }} | |
| make retina-image-win \ | |
| IMAGE_NAMESPACE=${{ github.repository }} \ | |
| PLATFORM=${{ matrix.platform }}/${{ matrix.arch }} \ | |
| WINDOWS_YEARS=${{ matrix.year }} \ | |
| IMAGE_REGISTRY=${{ vars.ACR_NAME }} \ | |
| APP_INSIGHTS_ID=${{ secrets.AZURE_APP_INSIGHTS_KEY }} \ | |
| BINARIES_PATH=output/windows_${{ matrix.arch }} \ | |
| REPO_PATH=. | |
| docker push ${{ vars.ACR_NAME }}/${{ github.repository }}/retina-agent:${TAG}-windows-ltsc${{ matrix.year }}-${{ matrix.arch }} | |
| else | |
| make retina-image-win \ | |
| IMAGE_NAMESPACE=${{ github.repository }} \ | |
| PLATFORM=${{ matrix.platform }}/${{ matrix.arch }} \ | |
| WINDOWS_YEARS=${{ matrix.year }} \ | |
| BINARIES_PATH=output/windows_${{ matrix.arch }} \ | |
| REPO_PATH=. | |
| fi | |
| env: | |
| IS_MERGE_GROUP: ${{ github.event_name == 'merge_group' }} | |
| operator-images: | |
| name: Build Operator Images | |
| runs-on: ${{ matrix.runner }} | |
| timeout-minutes: 60 | |
| strategy: | |
| matrix: | |
| platform: ["linux"] | |
| arch: ["amd64", "arm64"] | |
| include: | |
| - arch: amd64 | |
| runner: ubuntu-latest | |
| - arch: arm64 | |
| runner: ubuntu-24.04-arm | |
| steps: | |
| - name: Checkout code | |
| uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 | |
| - uses: actions/setup-go@7a3fe6cf4cb3a834922a1244abfce67bcef6a0c5 # v6.2.0 | |
| with: | |
| go-version-file: go.mod | |
| - run: go version | |
| - name: Az CLI login | |
| uses: azure/login@a457da9ea143d694b1b9c7c869ebb04ebe844ef5 # v2.3.0 | |
| 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: Build Images | |
| shell: bash | |
| run: | | |
| set -euo pipefail | |
| echo "TAG=$(make version)" >> $GITHUB_ENV | |
| if [ "$IS_MERGE_GROUP" == "true" ]; then | |
| az acr login -n ${{ vars.ACR_NAME }} | |
| make retina-operator-image \ | |
| IMAGE_NAMESPACE=${{ github.repository }} \ | |
| PLATFORM=${{ matrix.platform }}/${{ matrix.arch }} \ | |
| IMAGE_REGISTRY=${{ vars.ACR_NAME }} \ | |
| APP_INSIGHTS_ID=${{ secrets.AZURE_APP_INSIGHTS_KEY }} \ | |
| BUILDX_ACTION=--push | |
| else | |
| make retina-operator-image \ | |
| IMAGE_NAMESPACE=${{ github.repository }} \ | |
| PLATFORM=${{ matrix.platform }}/${{ matrix.arch }} | |
| fi | |
| env: | |
| IS_MERGE_GROUP: ${{ github.event_name == 'merge_group' }} | |
| retina-shell-images: | |
| name: Build Retina Shell Images (${{ matrix.platform }}, ${{ matrix.arch }}) | |
| runs-on: ${{ matrix.runner }} | |
| timeout-minutes: 60 | |
| strategy: | |
| matrix: | |
| include: | |
| - platform: linux | |
| arch: amd64 | |
| runner: ubuntu-latest | |
| - platform: linux | |
| arch: arm64 | |
| runner: ubuntu-24.04-arm | |
| steps: | |
| - name: Checkout code | |
| uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 | |
| - uses: actions/setup-go@7a3fe6cf4cb3a834922a1244abfce67bcef6a0c5 # v6.2.0 | |
| with: | |
| go-version-file: go.mod | |
| - run: go version | |
| - name: Az CLI login | |
| uses: azure/login@a457da9ea143d694b1b9c7c869ebb04ebe844ef5 # v2.3.0 | |
| 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: Build Images | |
| shell: bash | |
| run: | | |
| set -euo pipefail | |
| echo "TAG=$(make version)" >> $GITHUB_ENV | |
| if [ "$IS_MERGE_GROUP" == "true" ]; then | |
| az acr login -n ${{ vars.ACR_NAME }} | |
| make retina-shell-image \ | |
| IMAGE_NAMESPACE=${{ github.repository }} \ | |
| PLATFORM=${{ matrix.platform }}/${{ matrix.arch }} \ | |
| IMAGE_REGISTRY=${{ vars.ACR_NAME }} \ | |
| BUILDX_ACTION=--push | |
| else | |
| make retina-shell-image \ | |
| IMAGE_NAMESPACE=${{ github.repository }} \ | |
| PLATFORM=${{ matrix.platform }}/${{ matrix.arch }} | |
| fi | |
| env: | |
| IS_MERGE_GROUP: ${{ github.event_name == 'merge_group' }} | |
| kubectl-retina-images: | |
| name: Build Kubectl Retina Images | |
| runs-on: ${{ matrix.runner }} | |
| timeout-minutes: 60 | |
| strategy: | |
| matrix: | |
| platform: ["linux"] | |
| arch: ["amd64", "arm64"] | |
| include: | |
| - arch: amd64 | |
| runner: ubuntu-latest | |
| - arch: arm64 | |
| runner: ubuntu-24.04-arm | |
| steps: | |
| - name: Checkout code | |
| uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 | |
| - uses: actions/setup-go@7a3fe6cf4cb3a834922a1244abfce67bcef6a0c5 # v6.2.0 | |
| with: | |
| go-version-file: go.mod | |
| - run: go version | |
| - name: Az CLI login | |
| uses: azure/login@a457da9ea143d694b1b9c7c869ebb04ebe844ef5 # v2.3.0 | |
| 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: Build Images | |
| shell: bash | |
| run: | | |
| set -euo pipefail | |
| echo "TAG=$(make version)" >> $GITHUB_ENV | |
| if [ "$IS_MERGE_GROUP" == "true" ]; then | |
| az acr login -n ${{ vars.ACR_NAME }} | |
| make kubectl-retina-image \ | |
| IMAGE_NAMESPACE=${{ github.repository }} \ | |
| PLATFORM=${{ matrix.platform }}/${{ matrix.arch }} \ | |
| IMAGE_REGISTRY=${{ vars.ACR_NAME }} \ | |
| BUILDX_ACTION=--push | |
| else | |
| make kubectl-retina-image \ | |
| IMAGE_NAMESPACE=${{ github.repository }} \ | |
| PLATFORM=${{ matrix.platform }}/${{ matrix.arch }} | |
| fi | |
| env: | |
| IS_MERGE_GROUP: ${{ github.event_name == 'merge_group' }} | |
| manifests: | |
| name: Generate Manifests | |
| if: ${{ github.event_name == 'merge_group' }} | |
| runs-on: ubuntu-latest | |
| timeout-minutes: 30 | |
| needs: | |
| [ | |
| retina-images, | |
| retina-image-win, | |
| operator-images, | |
| retina-shell-images, | |
| kubectl-retina-images, | |
| ] | |
| strategy: | |
| matrix: | |
| components: ["retina", "operator", "shell", "kubectl-retina"] | |
| steps: | |
| - name: Checkout code | |
| uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 | |
| - name: Setup QEMU | |
| uses: docker/setup-qemu-action@c7c53464625b32c7a7e944ae62b3e17d2b600130 # v3.7.0 | |
| - name: Azure CLI login | |
| uses: azure/login@a457da9ea143d694b1b9c7c869ebb04ebe844ef5 # v2.3.0 | |
| with: | |
| client-id: ${{ secrets.AZURE_CLIENT_ID }} | |
| tenant-id: ${{ secrets.AZURE_TENANT_ID }} | |
| subscription-id: ${{ secrets.AZURE_SUBSCRIPTION }} | |
| - name: Generate Manifests | |
| shell: bash | |
| run: | | |
| set -euo pipefail | |
| az acr login -n ${{ vars.ACR_NAME }} | |
| make manifest COMPONENT=${{ matrix.components }} \ | |
| IMAGE_REGISTRY=${{ vars.ACR_NAME }} \ | |
| e2e: | |
| name: Run E2E Tests | |
| if: ${{ github.event_name == 'merge_group' }} | |
| needs: [manifests] | |
| runs-on: ubuntu-latest | |
| timeout-minutes: 90 | |
| steps: | |
| - name: Checkout code | |
| uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 | |
| - name: Setup go | |
| uses: actions/setup-go@7a3fe6cf4cb3a834922a1244abfce67bcef6a0c5 # v6.2.0 | |
| with: | |
| go-version-file: go.mod | |
| - run: go version | |
| - name: Az CLI login | |
| uses: azure/login@a457da9ea143d694b1b9c7c869ebb04ebe844ef5 # v2.3.0 | |
| 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 E2E Tests | |
| env: | |
| AZURE_SUBSCRIPTION_ID: ${{ secrets.AZURE_SUBSCRIPTION }} | |
| AZURE_LOCATION: ${{ vars.AZURE_LOCATION }} | |
| shell: bash | |
| run: | | |
| 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-test-basic: | |
| if: ${{ github.event_name == 'merge_group'}} | |
| needs: [manifests, get-tag] | |
| uses: ./.github/workflows/perf-template.yaml | |
| with: | |
| image-registry: ${{ vars.ACR_NAME }} | |
| tag: ${{ needs.get-tag.outputs.tag }} | |
| image-namespace: ${{ github.repository }} | |
| retina-mode: basic | |
| azure-location: ${{ vars.AZURE_LOCATION }} | |
| secrets: | |
| azure-subscription: ${{ secrets.AZURE_SUBSCRIPTION }} | |
| azure-tenant-id: ${{ secrets.AZURE_TENANT_ID }} | |
| azure-client-id: ${{ secrets.AZURE_CLIENT_ID }} | |
| azure-app-insights-key: ${{ secrets.AZURE_APP_INSIGHTS_KEY }} | |
| perf-test-advanced: | |
| if: ${{ github.event_name == 'merge_group'}} | |
| needs: [manifests, get-tag] | |
| uses: ./.github/workflows/perf-template.yaml | |
| with: | |
| image-registry: ${{ vars.ACR_NAME }} | |
| tag: ${{ needs.get-tag.outputs.tag }} | |
| image-namespace: ${{ github.repository }} | |
| retina-mode: advanced | |
| azure-location: ${{ vars.AZURE_LOCATION }} | |
| secrets: | |
| azure-subscription: ${{ secrets.AZURE_SUBSCRIPTION }} | |
| azure-tenant-id: ${{ secrets.AZURE_TENANT_ID }} | |
| azure-client-id: ${{ secrets.AZURE_CLIENT_ID }} | |
| azure-app-insights-key: ${{ secrets.AZURE_APP_INSIGHTS_KEY }} |