This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [https://github.com/actions/upload-artifact](https://github.com/actions/upload-artifact) | action | major | `v6` → `v7` | --- ### Release Notes <details> <summary>actions/upload-artifact (https://github.com/actions/upload-artifact)</summary> ### [`v7`](https://github.com/actions/upload-artifact/compare/v6...v7) [Compare Source](https://github.com/actions/upload-artifact/compare/v6...v7) </details> --- ### Configuration 📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My41My4wIiwidXBkYXRlZEluVmVyIjoiNDMuNTMuMCIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==--> Reviewed-on: #7 Co-authored-by: Renovate Bot <renovate@keligrubb.com> Co-committed-by: Renovate Bot <renovate@keligrubb.com>
86 lines
2.8 KiB
YAML
86 lines
2.8 KiB
YAML
name: Release
|
|
|
|
on:
|
|
push:
|
|
branches: [main]
|
|
schedule:
|
|
- cron: "0 0 * * *"
|
|
|
|
jobs:
|
|
generate-dungeon:
|
|
name: generate-dungeon
|
|
runs-on: ubuntu-latest
|
|
container:
|
|
image: ghcr.io/puppeteer/puppeteer:latest
|
|
env:
|
|
OLLAMA_API_URL: https://ai.keligrubb.com/api/chat/completions
|
|
OLLAMA_API_KEY: ${{ secrets.OLLAMA_API_KEY }}
|
|
COMFYUI_URL: http://192.168.1.124:8188
|
|
steps:
|
|
- name: Checkout
|
|
uses: https://github.com/actions/checkout@v6
|
|
|
|
- name: Setup Node
|
|
uses: https://github.com/actions/setup-node@v6
|
|
with:
|
|
node-version: "24"
|
|
cache: "npm"
|
|
|
|
- name: Install dependencies
|
|
run: npm ci
|
|
|
|
- name: Generate dungeon PDF
|
|
run: npm start
|
|
|
|
- name: Upload PDF artifact
|
|
uses: https://github.com/actions/upload-artifact@v7
|
|
with:
|
|
name: release-pdf
|
|
path: "*.pdf"
|
|
|
|
upload-to-gitea-release:
|
|
name: upload-to-gitea-release
|
|
runs-on: ubuntu-latest
|
|
needs: generate-dungeon
|
|
env:
|
|
GITEA_TOKEN: ${{ secrets.SCROLLSMITH_GITEA_TOKEN }}
|
|
steps:
|
|
- name: Download PDF artifact
|
|
uses: https://github.com/actions/download-artifact@v8
|
|
with:
|
|
name: release-pdf
|
|
|
|
- name: Create release and upload PDF
|
|
run: |
|
|
api_base="https://git.keligrubb.com/api/v1/repos/${{ gitea.repository }}"
|
|
pdf=$(ls *.pdf | head -n1)
|
|
tag=$(date +%F)
|
|
echo "Creating release for tag $tag..."
|
|
create_resp=$(curl -s -w "%{http_code}" -o /tmp/create.json -X POST \
|
|
-H "Authorization: token $GITEA_TOKEN" \
|
|
-H "Content-Type: application/json" \
|
|
-d "{\"tag_name\":\"$tag\",\"name\":\"$tag\"}" \
|
|
"$api_base/releases")
|
|
echo "Create release HTTP status: $create_resp"
|
|
echo "Fetching release ID..."
|
|
release_id=$(curl -s \
|
|
-H "Authorization: token $GITEA_TOKEN" \
|
|
"$api_base/releases/tags/$tag" |
|
|
awk -F: '/"id"[ ]*:/ {gsub(/[^0-9]/,"",$2); print $2; exit}')
|
|
echo "Release ID = $release_id"
|
|
echo "Checking if asset $pdf already exists..."
|
|
assets=$(curl -s -H "Authorization: token $GITEA_TOKEN" \
|
|
"$api_base/releases/$release_id/assets")
|
|
echo "Assets response: $assets"
|
|
if echo "$assets" | grep -q "\"name\":\"$pdf\""; then
|
|
echo "Asset $pdf already uploaded, skipping."
|
|
exit 0
|
|
fi
|
|
echo "Uploading $pdf to release $release_id..."
|
|
upload_resp=$(curl -s -w "%{http_code}" -o /tmp/upload.json -X POST \
|
|
-H "Authorization: token $GITEA_TOKEN" \
|
|
-F "attachment=@$pdf" \
|
|
"$api_base/releases/$release_id/assets")
|
|
echo "Upload HTTP status: $upload_resp"
|
|
echo "Upload response: $(cat /tmp/upload.json)"
|