name: e2e test qemu (MiniConstellation)
# The workflow is triggered by the completion of the release workflow.
# It is not called by the release pipeline to allow quicker retrying of failed tests
# The workflow only executes, after being triggered, if the triggering workflow completed successfully.
# e2e-test-release uses the same branch as the triggering workflow and not the commit of the triggering workflow. This is because the release workflow produces further commits.

on:
  workflow_dispatch:
    inputs:
      ref:
        type: string
        default: ""
        description: "Git ref to checkout"
  workflow_call:
    inputs:
      ref:
        type: string
        default: ""
        description: "Git ref to checkout"

jobs:
  e2e-mini:
    runs-on: ubuntu-22.04
    environment: e2e
    permissions:
      id-token: write
      contents: read
      packages: write
    steps:
      - name: Checkout
        id: checkout
        uses: actions/checkout@f43a0e5ff2bd294095638e18286ca9a3d1956744 # v3.6.0
        with:
          ref: ${{ inputs.ref || github.event.workflow_run.head_branch || github.head_ref }}

      - name: Azure login OIDC
        uses: azure/login@92a5484dfaf04ca78a94597f4f19fea633851fa2 # v1.4.7
        with:
          client-id: ${{ secrets.AZURE_E2E_MINI_CLIENT_ID }}
          tenant-id: ${{ secrets.AZURE_TENANT_ID }}
          subscription-id: ${{ secrets.AZURE_SUBSCRIPTION_ID }}

      - name: Run e2e MiniConstellation
        uses: ./.github/actions/e2e_mini
        with:
          azureClientID: ${{ secrets.AZURE_E2E_MINI_CLIENT_ID }}
          azureSubscriptionID: ${{ secrets.AZURE_SUBSCRIPTION_ID }}
          azureTenantID: ${{ secrets.AZURE_TENANT_ID }}
          buildBuddyApiKey: ${{ secrets.BUILDBUDDY_ORG_API_KEY }}
          registry: ghcr.io
          githubToken: ${{ secrets.GITHUB_TOKEN }}
