name: E2E QEMU test
description: "Test MiniConstellation functionality on Azure VM."

inputs:
  azureClientID:
    description: "Azure client to use for login with OIDC"
    required: true
  azureSubscriptionID:
    description: "Azure subscription to use for login with OIDC"
    required: true
  azureTenantID:
    description: "Azure tenant to use for login with OIDC"
    required: true
  buildBuddyApiKey:
    description: "BuildBuddy API key for caching Bazel artifacts"
    required: true
  registry:
    description: "Container registry to use"
    required: true
  githubToken:
    description: "GitHub authorization token"
    required: true

runs:
  using: "composite"
  steps:
    - name: Install terraform
      uses: hashicorp/setup-terraform@633666f66e0061ca3b725c73b2ec20cd13a8fdd1 # v2.0.3
      with:
        terraform_wrapper: false

    - name: Setup bazel
      uses: ./.github/actions/setup_bazel_nix
      with:
        useCache: "true"
        buildBuddyApiKey: ${{ inputs.buildBuddyApiKey }}

    - name: Log in to the Container registry
      uses: ./.github/actions/container_registry_login
      with:
        registry: ${{ inputs.registry }}
        username: ${{ github.actor }}
        password: ${{ inputs.githubToken }}

    - name: MiniConstellation E2E
      shell: bash
      env:
        ARM_CLIENT_ID: ${{ inputs.azureClientID }}
        ARM_SUBSCRIPTION_ID: ${{ inputs.azureSubscriptionID }}
        ARM_TENANT_ID: ${{ inputs.azureTenantID }}
      run: |
        bazel run //e2e/miniconstellation:push_remote_test
