Go2ticket/.gitea/workflows/actions.yaml
Clément CHABANNE bd6d471bba
Some checks failed
Go2ticket auto deployement / Go2ticket (push) Failing after 16s
test
2024-06-09 21:59:22 +02:00

84 lines
3.5 KiB
YAML

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 }}."