Some checks failed
Go2ticket auto deployement / Go2ticket (push) Failing after 16s
84 lines
3.5 KiB
YAML
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 }}."
|