Files
aeqw89.tools.Publish/.gitea/workflows/build_releases.yaml
T
qwsdcvghyu89 66ea0f90b6
Nightly Build and Release / Build and Release Nightly (push) Failing after 27s
Added nightly clean up routine
2026-06-05 03:43:34 +10:00

64 lines
2.4 KiB
YAML

name: Nightly Build and Release
on:
push:
branches:
- master
workflow_dispatch:
jobs:
build-releases:
name: 'Build and Release Nightly'
runs-on: Debian-x86
permissions:
contents: write
steps:
- name: Checkout Code
uses: actions/checkout@v4
- name: Setup .NET 11.0
uses: actions/setup-dotnet@v4
with:
dotnet-version: '11.0.100-preview.4.26230.115'
# Authenticate with your private Gitea NuGet registry
- name: Add Gitea NuGet Source
run: |
dotnet nuget remove source "GiteaRegistry" || true
dotnet nuget add source "https://git.main.qwsdcvghyu.com/api/packages/riley/nuget/index.json" --name "GiteaRegistry" --username "riley" --password "${{ secrets.PACKAGES_KEY }}" --store-password-in-clear-text
- name: 'Execute .NET Publish Target'
run: dotnet build aeqw89.tools.Publish/aeqw89.tools.Publish.csproj -p:ArchiveVersion=nightly -t:Archive
# NEW STEP: Nuke the old release so the next step always runs on a clean slate
- name: Clean up previous Nightly Release
run: |
# 1. Ask the Gitea API for the internal ID of the 'nightly' release
RELEASE_JSON=$(curl -s -H "Authorization: token ${{ secrets.GITHUB_TOKEN }}" ${{ github.api_url }}/repos/${{ github.repository }}/releases/tags/nightly)
RELEASE_ID=$(echo "$RELEASE_JSON" | grep -o '"id": *[0-9]*' | head -n 1 | awk '{print $2}')
# 2. If it found one, tell Gitea to delete the release and all its assets
if [ -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
# 3. Delete the tag from the repository itself
git push --delete origin nightly || true
- name: Update Nightly Release
uses: softprops/action-gh-release@v2
with:
tag_name: nightly
name: "Nightly Development Build"
body: |
Automated rolling nightly build from the latest commit on `main`.
**Commit:** ${{ github.sha }}
prerelease: true
files: |
aeqw89.tools.Publish/dist/*.zip
aeqw89.tools.Publish/dist/*.tar.gz
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}