name: Deploy review environment

on:
  workflow_dispatch:

jobs:
  make_slug:
    name: Make GitHub reference slug
    runs-on: ubuntu-latest
    outputs:
      REF_SLUG: ${{ steps.output.outputs.REF_SLUG }}
    steps:
      -   name: Inject slug/short variables
          uses: rlespinasse/github-slug-action@v4.4.1

      -   name: Set output
          id: output
          run: echo "REF_SLUG=${{ env.GITHUB_REF_NAME_SLUG }}" >> $GITHUB_OUTPUT

  publish_image:
    name: Publish Docker image
    needs: make_slug
    uses: './.github/workflows/publish-image.yml'
    with:
        tags: ghcr.io/blockscout/frontend:review-${{ needs.make_slug.outputs.REF_SLUG }}
    secrets: inherit

  deploy_review:
    name: Deploy frontend
    needs: [ make_slug, publish_image ]
    uses: blockscout/blockscout-ci-cd/.github/workflows/deploy_helmfile.yaml@master
    with:
      appName: review-${{ needs.make_slug.outputs.REF_SLUG }}
      globalEnv: review
      helmfileDir: deploy
      kubeConfigSecret: ci/data/dev/kubeconfig/k8s-dev
      vaultRole: ci-dev
    secrets: inherit
