name: Ephemeral
on:
    schedule:
        - cron: "0 */6 * * *"
    workflow_dispatch:
        inputs:
            action:
                description: "Action"
                required: true
                default: "spawn"
                type: choice
                options:
                    - spawn

concurrency:
    group: ${{ github.workflow }}-${{ github.ref }}
    cancel-in-progress: false

jobs:
    deploy:
        timeout-minutes: 5
        runs-on: ubuntu-latest
        env:
            DATA: ${{ github.event.inputs.action || 'maintenance' }}
        permissions:
            id-token: write
            contents: read

        steps:
            - name: Checkout
              uses: actions/checkout@v4
              with:
                  persist-credentials: false

            - name: Configure AWS Credentials
              uses: aws-actions/configure-aws-credentials@v4
              with:
                  role-to-assume: arn:aws:iam::490752553772:role/bandada-ephemeral-deploy-slc
                  role-duration-seconds: 900
                  aws-region: eu-central-1

            - name: Launch instance
              run: |
                  .github/scripts/run.sh ${{ env.DATA }} $GITHUB_REF_NAME $GITHUB_TRIGGERING_ACTOR $GITHUB_SHA

            - name: Instance IP
              run: |
                  .github/scripts/get_ip.sh ${{ env.DATA }} $GITHUB_TRIGGERING_ACTOR
