name: Build Simd Image
on:
  workflow_dispatch:
    inputs:
      tag:
        description: 'The tag of the image to build'
        required: true
        type: string
      ibc-go-version:
        description: 'The ibc-go version to be added as a label'
        required: true
        type: string

env:
   REGISTRY: ghcr.io
   ORG: cosmos
   IMAGE_NAME: ibc-go-simd
   GIT_TAG: "${{ inputs.tag }}"

jobs:
    build-image-at-tag:
      runs-on: depot-ubuntu-22.04-4
      permissions:
        packages: write
        contents: read
      steps:
         - uses: actions/checkout@v4
           with:
            ref: "${{ env.GIT_TAG }}"
            fetch-depth: 0
         - name: Log in to the Container registry
           uses: docker/login-action@v3
           with:
              registry: ${{ env.REGISTRY }}
              username: ${{ github.actor }}
              password: ${{ secrets.GITHUB_TOKEN }}
         - name: Build and push image
           run: |
            # remove any `/` characters from the docker tag and replace them with a -
            docker_tag="$(echo $GIT_TAG | sed 's/[^a-zA-Z0-9\.]/-/g')"
            docker build . -t "${REGISTRY}/${ORG}/${IMAGE_NAME}:${docker_tag}" --build-arg IBC_GO_VERSION=${{ inputs.ibc-go-version }}
            docker push "${REGISTRY}/${ORG}/${IMAGE_NAME}:${docker_tag}"
