diff --git a/.gitea/workflows/build.yaml b/.gitea/workflows/build.yaml new file mode 100644 index 0000000..1ad08eb --- /dev/null +++ b/.gitea/workflows/build.yaml @@ -0,0 +1,61 @@ +name: Docker Build and Release Upload + +on: + push: + branches: + - main + +jobs: + build: + runs-on: ubuntu-latest + steps: + - name: checkout + uses: actions/checkout@v4 + + - name: build database + run: | + docker build -t mistox-sql ./database + + - name: build server + run: | + docker build --build-arg BASE_URL=https://mistox.com -t mistox-website . + + - name: create release folder + run: | + mkdir release + + - name: export database + run: docker save mistox-sql -o /mistox-sql.tar + + - name: export server + run: docker save mistox-website -o /mistox-website.tar + + - name: create release + run: | + RESPONSE=$(curl -X POST -H "Authorization: token ${{ secrets.PUBLISH_TOKEN }}" \ + -H "Content-Type: application/json" \ + -d '{ + "tag_name": "build", + "name": "Release build", + "body": "This is an automated release", + "draft": false, + "prerelease": false + }' \ + https://git.mistox.net/api/v1/repos/derek/MistoxCom-Angular/releases) && \ + echo "$RESPONSE" | grep -o '"id":[ ]*[0-9]*' | head -n 1 | grep -o '[0-9]*' > /release_id.txt + + - name: publish database + run: | + RELEASE_ID=$(cat /release_id.txt) + curl -X POST -H "Authorization: token ${{ secrets.PUBLISH_TOKEN }}" \ + -F name="mistox-sql.tar" \ + -F attachment=@/mistox-sql.tar \ + https://git.mistox.net/api/v1/repos/derek/MistoxCom-Angular/releases/$RELEASE_ID/assets + + - name: publish server + run: | + RELEASE_ID=$(cat /release_id.txt) + curl -X POST -H "Authorization: token ${{ secrets.PUBLISH_TOKEN }}" \ + -F name="mistox-website.tar" \ + -F attachment=@/mistox-website.tar \ + https://git.mistox.net/api/v1/repos/derek/MistoxCom-Angular/releases/$RELEASE_ID/assets \ No newline at end of file