This commit is contained in:
@@ -11,71 +11,30 @@ permissions:
|
||||
contents: write
|
||||
|
||||
jobs:
|
||||
# ---- Build each platform in parallel, upload outputs as artifacts ----
|
||||
build-nightly:
|
||||
name: Build Nightly (${{ matrix.platform }})
|
||||
runs-on: Debian-x86
|
||||
strategy:
|
||||
matrix:
|
||||
platform: [linux, windows, mac]
|
||||
export_game:
|
||||
runs_on: Debian-x86
|
||||
permissions:
|
||||
contents: write
|
||||
name: Export Game
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
- name: Build
|
||||
id: build
|
||||
uses: felix-schindler/build-godot-action@v2.0.0
|
||||
with:
|
||||
name: wrplat
|
||||
preset: ${{ matrix.platform }}
|
||||
debugMode: "true"
|
||||
|
||||
- name: Upload build artifact
|
||||
uses: actions/upload-artifact@v4
|
||||
with:
|
||||
# Unique name per platform so the matrix jobs don't collide
|
||||
name: build-${{ matrix.platform }}
|
||||
path: ${{ github.workspace }}/${{ steps.build.outputs.build }}
|
||||
if-no-files-found: error
|
||||
|
||||
# ---- Runs once, only after all three builds succeed ----
|
||||
release-nightly:
|
||||
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
|
||||
files: dist/**/*
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
- name: checkout
|
||||
uses: actions/checkout@v5
|
||||
- name: export game
|
||||
id: export
|
||||
uses: firebelly/godot-export@v8.0.0
|
||||
with:
|
||||
godot_executable_download_url: https://godot-releases.nbg1.your-objectstorage.com/4.6.3-stable/Godot_v4.6.3-stable_mono_win64.zip
|
||||
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
|
||||
relative_project_path: ./
|
||||
archive_output: true
|
||||
- name: create release
|
||||
uses: ncipollo/release-action@1.21.0
|
||||
with:
|
||||
token: ${{ secrets.GITHUB_TOKEN }}
|
||||
generateReleaseNotes: true
|
||||
tag: ${{ github.ref_name }}
|
||||
artifacts: ${{ steps.export.outputs.archive_directory }}/*
|
||||
# commit: ${{ gitea.sha }}
|
||||
allowUpdates: true
|
||||
name: Latest Nightly Build
|
||||
prerelease: true
|
||||
|
||||
Reference in New Issue
Block a user