latest windows base image (12/9) #6706
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 | |
| - "dev/**" | |
| merge_group: | |
| types: [checks_requested] | |
| workflow_dispatch: | |
| permissions: | |
| contents: read | |
| id-token: write | |
| jobs: | |
| retina-images: | |
| name: Build Images and Run E2E | |
| runs-on: ubuntu-latest | |
| strategy: | |
| matrix: | |
| platform: ["linux"] | |
| arch: ["amd64", "arm64"] | |
| steps: | |
| - name: Checkout code | |
| uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 | |
| - uses: actions/setup-go@d35c59abb061a4a6fb18e82ac0862c26744d6ab5 # v5.5.0 | |
| with: | |
| go-version-file: go.mod | |
| - run: go version | |
| - name: Set up QEMU | |
| uses: docker/setup-qemu-action@v3 | |
| - name: Az CLI login | |
| uses: azure/login@v2 | |
| if: ${{ (github.event_name == 'merge_group') || (github.event_name == 'workflow_dispatch' && github.ref == 'refs/heads/dev/v0.0.33-windows' && github.repository == 'microsoft/retina') }} | |
| 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 [ "$SHOULD_PUSH_IMAGE" == "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: | |
| SHOULD_PUSH_IMAGE: ${{ (github.event_name == 'merge_group') || (github.event_name == 'workflow_dispatch' && github.ref == 'refs/heads/dev/v0.0.33-windows' && github.repository == 'microsoft/retina') }} | |
| retina-win-images: | |
| name: Build Agent Windows Images | |
| runs-on: ubuntu-latest | |
| strategy: | |
| matrix: | |
| platform: ["windows"] | |
| arch: ["amd64"] | |
| year: ["2019", "2022"] | |
| steps: | |
| - name: Checkout code | |
| uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 | |
| - uses: actions/setup-go@d35c59abb061a4a6fb18e82ac0862c26744d6ab5 # v5.5.0 | |
| with: | |
| go-version-file: go.mod | |
| - run: go version | |
| - name: Set up QEMU | |
| uses: docker/setup-qemu-action@v3 | |
| - name: Az CLI login | |
| uses: azure/login@v2 | |
| if: ${{ (github.event_name == 'merge_group') || (github.event_name == 'workflow_dispatch' && github.ref == 'refs/heads/dev/v0.0.33-windows' && github.repository == 'microsoft/retina') }} | |
| with: | |
| client-id: ${{ secrets.AZURE_CLIENT_ID }} | |
| tenant-id: ${{ secrets.AZURE_TENANT_ID }} | |
| subscription-id: ${{ secrets.AZURE_SUBSCRIPTION }} | |
| - run: df -h | |
| - name: "node-cleanup" | |
| run: | | |
| sudo rm -rf /usr/share/dotnet /usr/local/lib/android /opt/ghc /opt/hostedtoolcache/CodeQL | |
| sudo docker image prune --all --force | |
| sudo docker builder prune -a | |
| - run: df -h | |
| - name: Build Images | |
| shell: bash | |
| run: | | |
| set -euo pipefail | |
| echo "TAG=$(make version)" >> $GITHUB_ENV | |
| if [ "$SHOULD_PUSH_IMAGE" == "true" ]; then | |
| az acr login -n ${{ vars.ACR_NAME }} | |
| make retina-image-win \ | |
| IMAGE_NAMESPACE=${{ github.repository }} \ | |
| PLATFORM=${{ matrix.platform }}/${{ matrix.arch }} \ | |
| IMAGE_REGISTRY=${{ vars.ACR_NAME }} \ | |
| APP_INSIGHTS_ID=${{ secrets.AZURE_APP_INSIGHTS_KEY }} \ | |
| WINDOWS_YEARS=${{ matrix.year }} \ | |
| BUILDX_ACTION=--push | |
| else | |
| make retina-image-win \ | |
| IMAGE_NAMESPACE=${{ github.repository }} \ | |
| PLATFORM=${{ matrix.platform }}/${{ matrix.arch }} \ | |
| WINDOWS_YEARS=${{ matrix.year }} | |
| fi | |
| env: | |
| SHOULD_PUSH_IMAGE: ${{ (github.event_name == 'merge_group') || (github.event_name == 'workflow_dispatch' && github.ref == 'refs/heads/dev/v0.0.33-windows' && github.repository == 'microsoft/retina') }} | |
| operator-images: | |
| name: Build Operator Images | |
| runs-on: ubuntu-latest | |
| strategy: | |
| matrix: | |
| platform: ["linux"] | |
| arch: ["amd64", "arm64"] | |
| steps: | |
| - name: Checkout code | |
| uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 | |
| - uses: actions/setup-go@d35c59abb061a4a6fb18e82ac0862c26744d6ab5 # v5.5.0 | |
| with: | |
| go-version-file: go.mod | |
| - run: go version | |
| - name: Set up QEMU | |
| uses: docker/setup-qemu-action@v3 | |
| - name: Az CLI login | |
| uses: azure/login@v2 | |
| if: ${{ (github.event_name == 'merge_group') || (github.event_name == 'workflow_dispatch' && github.ref == 'refs/heads/dev/v0.0.33-windows' && github.repository == 'microsoft/retina') }} | |
| 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 [ "$SHOULD_PUSH_IMAGE" == "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: | |
| SHOULD_PUSH_IMAGE: ${{ (github.event_name == 'merge_group') || (github.event_name == 'workflow_dispatch' && github.ref == 'refs/heads/dev/v0.0.33-windows' && github.repository == 'microsoft/retina') }} | |
| retina-shell-images: | |
| name: Build Retina Shell Images | |
| runs-on: ubuntu-latest | |
| strategy: | |
| matrix: | |
| platform: ["linux"] | |
| arch: ["amd64", "arm64"] | |
| steps: | |
| - name: Checkout code | |
| uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 | |
| - uses: actions/setup-go@d35c59abb061a4a6fb18e82ac0862c26744d6ab5 # v5.5.0 | |
| with: | |
| go-version-file: go.mod | |
| - run: go version | |
| - name: Set up QEMU | |
| uses: docker/setup-qemu-action@v3 | |
| - name: Az CLI login | |
| uses: azure/login@v2 | |
| if: ${{ (github.event_name == 'merge_group') || (github.event_name == 'workflow_dispatch' && github.ref == 'refs/heads/dev/v0.0.33-windows' && github.repository == 'microsoft/retina') }} | |
| 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 [ "$SHOULD_PUSH_IMAGE" == "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: | |
| SHOULD_PUSH_IMAGE: ${{ (github.event_name == 'merge_group') || (github.event_name == 'workflow_dispatch' && github.ref == 'refs/heads/dev/v0.0.33-windows' && github.repository == 'microsoft/retina') }} | |
| kubectl-retina-images: | |
| name: Build Kubectl Retina Images | |
| runs-on: ubuntu-latest | |
| strategy: | |
| matrix: | |
| platform: ["linux"] | |
| arch: ["amd64", "arm64"] | |
| steps: | |
| - name: Checkout code | |
| uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 | |
| - uses: actions/setup-go@d35c59abb061a4a6fb18e82ac0862c26744d6ab5 # v5.5.0 | |
| with: | |
| go-version-file: go.mod | |
| - run: go version | |
| - name: Set up QEMU | |
| uses: docker/setup-qemu-action@v3 | |
| - name: Az CLI login | |
| uses: azure/login@v2 | |
| if: ${{ (github.event_name == 'merge_group') || (github.event_name == 'workflow_dispatch' && github.ref == 'refs/heads/dev/v0.0.33-windows' && github.repository == 'microsoft/retina') }} | |
| 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 [ "$SHOULD_PUSH_IMAGE" == "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: | |
| SHOULD_PUSH_IMAGE: ${{ (github.event_name == 'merge_group') || (github.event_name == 'workflow_dispatch' && github.ref == 'refs/heads/dev/v0.0.33-windows' && github.repository == 'microsoft/retina') }} | |
| manifests: | |
| name: Generate Manifests | |
| if: ${{ (github.event_name == 'merge_group') || (github.event_name == 'workflow_dispatch' && github.ref == 'refs/heads/dev/v0.0.33-windows' && github.repository == 'microsoft/retina') }} | |
| runs-on: ubuntu-latest | |
| needs: | |
| [ | |
| retina-images, | |
| retina-win-images, | |
| operator-images, | |
| retina-shell-images, | |
| kubectl-retina-images, | |
| ] | |
| strategy: | |
| matrix: | |
| components: ["retina", "operator", "shell", "kubectl-retina"] | |
| steps: | |
| - name: Checkout code | |
| uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 | |
| - name: Setup QEMU | |
| uses: docker/setup-qemu-action@v3 | |
| - name: Azure 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: 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') || (github.event_name == 'workflow_dispatch' && github.ref == 'refs/heads/dev/v0.0.33-windows' && github.repository == 'microsoft/retina') }} | |
| needs: [manifests] | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout code | |
| uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 | |
| - name: Setup go | |
| uses: actions/setup-go@d35c59abb061a4a6fb18e82ac0862c26744d6ab5 # v5.5.0 | |
| with: | |
| go-version-file: go.mod | |
| - run: go version | |
| - name: Az CLI login | |
| uses: azure/login@v2 | |
| if: ${{ (github.event_name == 'merge_group') || (github.event_name == 'workflow_dispatch' && github.ref == 'refs/heads/dev/v0.0.33-windows' && github.repository == 'microsoft/retina') }} | |
| 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] | |
| uses: ./.github/workflows/perf-template.yaml | |
| with: | |
| image-registry: ${{ vars.ACR_NAME }} | |
| tag: $(make version) | |
| 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] | |
| uses: ./.github/workflows/perf-template.yaml | |
| with: | |
| image-registry: ${{ vars.ACR_NAME }} | |
| tag: $(make version) | |
| 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 }} |