name: Go2ticket auto deployement run-name: ${{ gitea.actor }} is testing CI/CD Actions 🚀 on: push: branches: - 'master' - 'dev' tags: - 'v*.*.*' jobs: Go2ticket: 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: Generate release notes id: release_notes run: | NOTES=$(git log -1 --pretty=%B) echo "release_notes=${NOTES}" >> $GITEA_ENV echo ${NOTES} - name: Deploy release if: startsWith(gitea.ref, 'refs/tags/') run: | echo "Deploying artifacts on Gitea server" RESPONSE=$(curl -X POST -H "Authorization: token ${{ secrets.GIT_TOKEN }}" \ -H "Content-Type: application/json" \ -d '{ "tag_name": "${{ gitea.ref }}", "target_commitish": "${{ gitea.sha }}", "name": "$(git for-each-ref --format='%(contents)' refs/tags/v1.0.0 | grep .)", "body": "Release description :\n ${{ env.release_notes }}", "draft": true, "prerelease": false }' \ "${{ vars.GIT_URL }}/api/v1/repos/${{ gitea.repository }}/releases") echo "Response de ${{ vars.GIT_URL }}/api/v1/repos/${{ gitea.repository }}/releases : $RESPONSE" RELEASE_ID=$(echo $RESPONSE | jq -r '.id') echo "RELEASE_ID=${RELEASE_ID}" if [ -n "$RELEASE_ID" ]; then curl -X POST -H "Authorization: token ${{ secrets.GIT_TOKEN }}" \ -H "Content-Type: multipart/form-data" \ -F "att achment=@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" else echo "Failed to create release. Aborting deployment." exit 1 fi - name: Job's status run: echo "🍏 This job's status is ${{ job.status }}."