name: Publish Kata release artifacts for s390x
on:
  workflow_call:
    inputs:
      target-arch:
        required: true
        type: string

jobs:
  build-kata-static-tarball-s390x:
    uses: ./.github/workflows/build-kata-static-tarball-s390x.yaml
    with:
      push-to-registry: yes
      stage: release
    secrets: inherit

  kata-deploy:
    needs: build-kata-static-tarball-s390x
    runs-on: s390x
    steps:
      - name: Login to Kata Containers docker.io
        uses: docker/login-action@v3
        with:
          username: ${{ secrets.DOCKER_USERNAME }}
          password: ${{ secrets.DOCKER_PASSWORD }}

      - name: Login to Kata Containers quay.io
        uses: docker/login-action@v3
        with:
          registry: quay.io
          username: ${{ secrets.QUAY_DEPLOYER_USERNAME }}
          password: ${{ secrets.QUAY_DEPLOYER_PASSWORD }}

      - uses: actions/checkout@v4
      - name: get-kata-tarball
        uses: actions/download-artifact@v4
        with:
          name: kata-static-tarball-s390x

      - name: build-and-push-kata-deploy-ci-s390x
        id: build-and-push-kata-deploy-ci-s390x
        run: |
          # We need to do such trick here as the format of the $GITHUB_REF
          # is "refs/tags/<tag>"
          tag=$(echo "$GITHUB_REF" | cut -d/ -f3-)
          if [ "${tag}" = "main" ]; then
              tag=$(./tools/packaging/release/release.sh release-version)
              tags=("${tag}" "latest")
          else
              tags=("${tag}")
          fi
          for tag in "${tags[@]}"; do
              ./tools/packaging/kata-deploy/local-build/kata-deploy-build-and-upload-payload.sh \
                  "$(pwd)"/kata-static.tar.xz "docker.io/katadocker/kata-deploy" \
                  "${tag}-${{ inputs.target-arch }}"
              ./tools/packaging/kata-deploy/local-build/kata-deploy-build-and-upload-payload.sh \
                  "$(pwd)"/kata-static.tar.xz "quay.io/kata-containers/kata-deploy" \
                  "${tag}-${{ inputs.target-arch }}"
          done