name: Find latest OS image
description: Finds the latest OS image of a given type.

inputs:
  ref:
    description: 'Branch to search on. Can be "-" for releases or a branch name.'
    required: true
    default: "main"
  stream:
    description: 'Type of image to find. Can be one of "stable", "nightly", "debug".'
    required: true
    default: "debug"

outputs:
  image:
    description: "The latest image of the given ref and stream."
    value: ${{ steps.find-latest-image.outputs.image }}

runs:
  using: "composite"
  steps:
    - name: Login to AWS
      uses: aws-actions/configure-aws-credentials@67fbcbb121271f7775d2e7715933280b06314838 # v1.7.0
      with:
        role-to-assume: arn:aws:iam::795746500882:role/GithubConstellationImageFinder
        aws-region: eu-central-1

    - name: Find latest image
      id: find-latest-image
      shell: bash
      env:
        ref: ${{ inputs.ref }}
        stream: ${{ inputs.stream }}
      run: |
        image=$(./find-image.sh --ref "${ref}" --stream "${stream}")
        echo "image=${image}" >> "${GITHUB_OUTPUT}"
        echo "Found image '${image}'."
      working-directory: hack/api
