name: e2e-azure on: workflow_dispatch: schedule: - cron: '0 6 * * *' push: branches: - main paths: - 'tests/**' - '.github/workflows/e2e-azure.yaml' pull_request: branches: - main paths: - 'tests/**' - '.github/workflows/e2e-azure.yaml' permissions: contents: read jobs: e2e-aks: runs-on: ubuntu-22.04 defaults: run: working-directory: ./tests/integration # This job is currently disabled. Remove the false check when Azure subscription is enabled. if: false && (github.event_name != 'pull_request' || github.event.pull_request.head.repo.full_name == github.repository) && github.actor != 'dependabot[bot]' steps: - name: CheckoutD uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 - name: Setup Go uses: actions/setup-go@41dfa10bad2bb2ae585af6ee5bb4d7d973ad74ed # v5.1.0 with: go-version: 1.23.x cache-dependency-path: tests/integration/go.sum - name: Setup Terraform uses: hashicorp/setup-terraform@b9cd54a3c349d3f38e8881555d616ced269862dd # v3.1.2 - name: Setup Flux CLI run: make build working-directory: ./ - name: Setup SOPS run: | mkdir -p $HOME/.local/bin wget -O $HOME/.local/bin/sops https://github.com/mozilla/sops/releases/download/v$SOPS_VER/sops-v$SOPS_VER.linux chmod +x $HOME/.local/bin/sops env: SOPS_VER: 3.7.1 - name: Authenticate to Azure uses: Azure/login@a65d910e8af852a8061c627c456678983e180302 # v1.4.6 with: creds: '{"clientId":"${{ secrets.AZ_ARM_CLIENT_ID }}","clientSecret":"${{ secrets.AZ_ARM_CLIENT_SECRET }}","subscriptionId":"${{ secrets.AZ_ARM_SUBSCRIPTION_ID }}","tenantId":"${{ secrets.AZ_ARM_TENANT_ID }}"}' - name: Set dynamic variables in .env run: | cat > .env < build/ssh/key export GITREPO_SSH_PATH=build/ssh/key touch ./build/ssh/key.pub echo $GITREPO_SSH_PUB_CONTENTS | base64 -d > ./build/ssh/key.pub export GITREPO_SSH_PUB_PATH=build/ssh/key.pub make test-azure - name: Ensure resource cleanup if: ${{ always() }} env: ARM_CLIENT_ID: ${{ secrets.AZ_ARM_CLIENT_ID }} ARM_CLIENT_SECRET: ${{ secrets.AZ_ARM_CLIENT_SECRET }} ARM_SUBSCRIPTION_ID: ${{ secrets.AZ_ARM_SUBSCRIPTION_ID }} ARM_TENANT_ID: ${{ secrets.AZ_ARM_TENANT_ID }} TF_VAR_azuredevops_org: ${{ secrets.TF_VAR_azuredevops_org }} TF_VAR_azuredevops_pat: ${{ secrets.TF_VAR_azuredevops_pat }} TF_VAR_location: ${{ vars.TF_VAR_azure_location }} run: source .env && make destroy-azure