diff --git a/.gitea/workflows/latex.yaml b/.gitea/workflows/latex.yaml new file mode 100644 index 0000000..6bb7cbd --- /dev/null +++ b/.gitea/workflows/latex.yaml @@ -0,0 +1,62 @@ +name: Build LaTeX Document and Publish Release + +on: + push: + branches: + - main + workflow_dispatch: # Allows manual trigger + +jobs: + build-and-release: + runs-on: ubuntu-latest + + steps: + # Check out the repository code + - name: Checkout code + uses: actions/checkout@v4 + + # Set up LaTeX environment + - name: Set up LaTeX environment + run: sudo apt-get update && sudo apt-get install -y texlive-full + + # Compile the LaTeX document + - name: Compile LaTeX + run: | + mkdir -p output + pdflatex -output-directory=output latex/dokumentation.tex + # Replace `main.tex` with the name of your main LaTeX file + + # Upload the PDF as an artifact (optional, for debugging) + - name: Upload PDF Artifact + uses: actions/upload-artifact@v3 + with: + name: built-pdf + path: output/dokumentation.pdf + + # Create a release in Gitea + - name: Create Gitea Release + id: create_release + env: + GITEA_TOKEN: ${{ secrets.TOKEN }} + run: | + curl -X POST \ + -H "Authorization: token $GITEA_TOKEN" \ + -H "Content-Type: application/json" \ + -d '{"tag_name": "v1.0.0", "target_commitish": "main", "name": "LaTeX Build - v1.0.0", "body": "This release contains the compiled LaTeX document.", "draft": false, "prerelease": false}' \ + https:///api/v1/repos///releases + + # Upload the compiled PDF to the Gitea release + - name: Upload Release Asset + env: + GITEA_TOKEN: ${{ secrets.TOKEN }} + run: | + release_id=$(curl -s \ + -H "Authorization: token $GITEA_TOKEN" \ + https:///api/v1/repos///releases \ + | jq -r '.[0].id') + + curl -X POST \ + -H "Authorization: token $GITEA_TOKEN" \ + -F "name=dokumentation.pdf" \ + -F "attachment=@output/dokumentation.pdf" \ + https:///api/v1/repos///releases/$release_id/assets