name: Manual Release and Docker Image Build

on:
  workflow_dispatch:
    inputs:
      version:
        description: "Version for the release (e.g., v1.0.0)"
        required: true
        default: "v1.0.0"
        type: string

jobs:
  release:
    name: Create Release and Build Docker Image
    runs-on: ubuntu-latest-root

    steps:
      - name: Checkout Repository
        uses: actions/checkout@v4

      - name: Login to Docker Registry
        uses: docker/login-action@v3
        with:
          registry: git.vavakado.xyz
          username: vavakado
          password: ${{ secrets.REGISTRY_TOKEN }}

      - name: Create Git Tag
        run: |
          git tag ${{ github.event.inputs.version }}
          git push origin ${{ github.event.inputs.version }}

      # - name: Create Release
      #   run: |
      #     curl -X POST -H "Authorization: token ${{ secrets.RELEASE_TOKEN }}" \
      #     -H "Content-Type: application/json" \
      #     -d '{
      #           "tag_name": "${{ github.event.inputs.version }}",
      #           "target_commitish": "main",  # Change if your default branch is different
      #           "name": "${{ github.event.inputs.version }}",
      #           "body": "Release for version ${{ github.event.inputs.version }}",
      #           "draft": false,
      #           "prerelease": false
      #         }' \
      #     https://git.vavakado.xyz/api/v1/repos/${{ gitea.repository_owner }}/${{ gitea.repository }}/releases

      # - name: Create Release
      #   uses: actions/forgejo-release@v2
      #   with:
      #     direction: upload
      #     tag: ${{ github.event.inputs.version }}
      #     title: ${{ github.event.inputs.version }}
      #     token: ${{ secrets.RELEASE_TOKEN }}
      #     release-notes-assistant: true
      #     release-dir: ./

      - name: Build Docker Image
        run: |
          docker build -t git.vavakado.xyz/${{ gitea.repository_owner }}/exmr:${{ github.event.inputs.version }} .
          docker tag git.vavakado.xyz/vavakado/exmr:${{ github.event.inputs.version }} git.vavakado.xyz/vavakado/exmr:latest
          docker tag git.vavakado.xyz/vavakado/exmr:${{ github.event.inputs.version }} git.vavakado.xyz/vavakado/exmr:stable

      - name: Push Docker Image
        run: |
          docker push git.vavakado.xyz/${{ gitea.repository_owner }}/exmr:${{ github.event.inputs.version }}
          docker push git.vavakado.xyz/vavakado/exmr:latest
          docker push git.vavakado.xyz/vavakado/exmr:stable