name: Gitea Actions Demo
run-name: ${{ gitea.actor }} is testing out Gitea Actions 🚀
on: [push]

jobs:
  Explore-Gitea-Actions:
    runs-on: ubuntu-latest
    steps:
      - name: Job's informations
        run: |
          echo "🎉 The job was automatically triggered by a ${{ gitea.event_name }} event."
          echo "🐧 This job is now running on a ${{ runner.os }} server hosted by Gitea!"
          echo "🔎 The name of your branch is ${{ gitea.ref }} and your repository is ${{ gitea.repository }}."
      - name: Check out repository code
        uses: actions/checkout@v4
      - name: Repo informations
        run: |
          echo "💡 The ${{ gitea.repository }} repository has been cloned to the runner."
          echo "🖥️ The workflow is now ready to test your code on the runner."
      - name: Install dependencies
        run: |
          apt update
          apt install tree zip wget jq -y
      - name: List files in the repository
        run: tree ${{ gitea.workspace }}
      - name: Build
        run : |
          echo "Compilation step in progress"
          zip -rv go2ticket-firefox.zip src/*
          cp go2ticket-firefox.zip go2ticket-firefox.xpi
          wget https://github.com/mcuadros/go-crxmake/releases/download/v0.2.0/crxmake_v0.2.0_linux_amd64.tar.gz
          tar -xvzf crxmake_v0.2.0_linux_amd64.tar.gz crxmake_v0.2.0_linux_amd64/crxmake
          ./crxmake_v0.2.0_linux_amd64/crxmake src/ go2ticket-chrome.crx
          ls -l go2ticket-*
      - name: Deploy release
        if: ${{ gitea.ref == 'refs/heads/master' }}
        id: create_release
        run: |
          echo "Deploy artifacts on Gitea server"
          curl -X POST -H "Authorization: token ${{ secrets.GIT_TOKEN }}" \
            -H "Content-Type: application/json" \
            -d '{
              "tag_name": "${{ gitea.ref }}",
              "target_commitish": "${{ gitea.sha }}",
              "name": "${{ gitea.ref }}",
              "body": "Release description",
              "draft": true,
              "prerelease": false
            }' \
            "${{ vars.GIT_URL }}/api/v1/repos/${{ gitea.repository }}/releases"

            RELEASE_ID=$(curl -H "Authorization: token ${{ secrets.GIT_TOKEN }}" \
            -H "Content-Type: application/json" \
            "${{ vars.GIT_URL }}/api/v1/repos/${{ gitea.repository }}/releases/tags/${{ gitea.ref }}" \
            | jq  -r'.id')

            curl -X POST -H "Authorization: token ${{ secrets.GIT_TOKEN }}" \
            -H "Content-Type: multipart/form-data" \
            -F "attachment=@go2ticket-firefox.xpi" \
            "${{ vars.GIT_URL }}/api/v1/repos/${{ gitea.repository }}/releases/${RELEASE_ID}/assets"

            curl -X POST -H "Authorization: token ${{ secrets.GIT_TOKEN }}" \
            -H "Content-Type: multipart/form-data" \
            -F "attachment=@go2ticket-chrome.crx" \
            "${{ vars.GIT_URL }}/api/v1/repos/${{ gitea.repository }}/releases/${RELEASE_ID}/assets"

      - name: Job's status
        run: echo "🍏 This job's status is ${{ job.status }}."