This commit is contained in:
@@ -11,71 +11,30 @@ permissions:
|
|||||||
contents: write
|
contents: write
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
# ---- Build each platform in parallel, upload outputs as artifacts ----
|
export_game:
|
||||||
build-nightly:
|
runs_on: Debian-x86
|
||||||
name: Build Nightly (${{ matrix.platform }})
|
permissions:
|
||||||
runs-on: Debian-x86
|
contents: write
|
||||||
strategy:
|
name: Export Game
|
||||||
matrix:
|
|
||||||
platform: [linux, windows, mac]
|
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v4
|
- name: checkout
|
||||||
- name: Build
|
uses: actions/checkout@v5
|
||||||
id: build
|
- name: export game
|
||||||
uses: felix-schindler/build-godot-action@v2.0.0
|
id: export
|
||||||
|
uses: firebelly/godot-export@v8.0.0
|
||||||
with:
|
with:
|
||||||
name: wrplat
|
godot_executable_download_url: https://godot-releases.nbg1.your-objectstorage.com/4.6.3-stable/Godot_v4.6.3-stable_mono_win64.zip
|
||||||
preset: ${{ matrix.platform }}
|
godot_export_templates_download_url: https://godot-releases.nbg1.your-objectstorage.com/4.6.3-stable/Godot_v4.6.3-stable_mono_export_templates.tpz
|
||||||
debugMode: "true"
|
relative_project_path: ./
|
||||||
|
archive_output: true
|
||||||
- name: Upload build artifact
|
- name: create release
|
||||||
uses: actions/upload-artifact@v4
|
uses: ncipollo/release-action@1.21.0
|
||||||
with:
|
with:
|
||||||
# Unique name per platform so the matrix jobs don't collide
|
token: ${{ secrets.GITHUB_TOKEN }}
|
||||||
name: build-${{ matrix.platform }}
|
generateReleaseNotes: true
|
||||||
path: ${{ github.workspace }}/${{ steps.build.outputs.build }}
|
tag: ${{ github.ref_name }}
|
||||||
if-no-files-found: error
|
artifacts: ${{ steps.export.outputs.archive_directory }}/*
|
||||||
|
# commit: ${{ gitea.sha }}
|
||||||
# ---- Runs once, only after all three builds succeed ----
|
allowUpdates: true
|
||||||
release-nightly:
|
name: Latest Nightly Build
|
||||||
name: Publish Nightly Release
|
|
||||||
needs: build-nightly
|
|
||||||
runs-on: Debian-x86
|
|
||||||
steps:
|
|
||||||
- uses: actions/checkout@v4
|
|
||||||
|
|
||||||
- name: Download all build artifacts
|
|
||||||
uses: actions/download-artifact@v4
|
|
||||||
with:
|
|
||||||
# No 'name' → grabs every artifact, each into dist/<artifact-name>/
|
|
||||||
path: dist
|
|
||||||
|
|
||||||
- name: Clean up old release & move tag
|
|
||||||
run: |
|
|
||||||
# Find and delete the old Gitea release payload via API
|
|
||||||
RELEASE_ID=$(curl -s -H "Authorization: token ${{ secrets.GITHUB_TOKEN }}" \
|
|
||||||
"${{ github.api_url }}/repos/${{ github.repository }}/releases/tags/nightly" | jq -r '.id')
|
|
||||||
if [ "$RELEASE_ID" != "null" ] && [ -n "$RELEASE_ID" ]; then
|
|
||||||
echo "Deleting old release ID: $RELEASE_ID"
|
|
||||||
curl -s -X DELETE -H "Authorization: token ${{ secrets.GITHUB_TOKEN }}" \
|
|
||||||
"${{ github.api_url }}/repos/${{ github.repository }}/releases/$RELEASE_ID"
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Force the 'nightly' tag onto this commit and push it
|
|
||||||
git tag -f nightly ${{ github.sha }}
|
|
||||||
git push -f origin nightly
|
|
||||||
|
|
||||||
- name: Publish release
|
|
||||||
uses: softprops/action-gh-release@v2
|
|
||||||
with:
|
|
||||||
tag_name: nightly
|
|
||||||
target_commitish: ${{ github.sha }}
|
|
||||||
name: "Nightly Development Build"
|
|
||||||
body: |
|
|
||||||
Automated rolling nightly build from the latest commit on `main`.
|
|
||||||
|
|
||||||
**Commit:** ${{ github.sha }}
|
|
||||||
prerelease: true
|
prerelease: true
|
||||||
files: dist/**/*
|
|
||||||
env:
|
|
||||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
||||||
Reference in New Issue
Block a user