Files
spearhead/.gitea/workflows/release-beta.yml
T
dutchie031 c8329108dd
Publish Release / build (push) Successful in 14s
added link to the release
2026-08-17 12:31:25 +02:00

106 lines
3.3 KiB
YAML

name: Publish Release
on:
push:
branches:
- develop
paths:
- src/**
- .gitea/workflows/release-beta.yml
workflow_dispatch:
jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Read Version from version.txt
id: read_version
run: |
VERSION=beta
echo "version=$VERSION" >> "$GITHUB_OUTPUT"
echo "tag=v$VERSION" >> "$GITHUB_OUTPUT"
echo "Version: $VERSION"
- name: Extract Release Notes
id: release_notes
run: |
VERSION=beta
RELEASE_NOTES=$(awk -v ver="Unreleased" '
/^## \[/ {
if (found) exit
if (index($0, "[" ver "]") > 0) found = 1
next
}
found { print }
' RELEASENOTES.md)
# Write multi-line output properly
echo "body<<EOF" >> "$GITHUB_OUTPUT"
echo "$RELEASE_NOTES" >> "$GITHUB_OUTPUT"
echo "EOF" >> "$GITHUB_OUTPUT"
- name: Compile Spearhead
uses: https://git.dutchie031.com/dutchie031/DcsMissionScriptingTools/github-action@action/v0
with:
source-root: ./src
output-file: ./output/spearhead.lua
- name: Remove existing tag if it exists
id: check_tag
run: |
TAG="${{ steps.read_version.outputs.tag }}"
if git tag | grep -q "^$TAG$"; then
echo "Tag exists. Removing it..."
git push origin :refs/tags/"$TAG" || true
git tag -d "$TAG" || true
fi
echo "Ready to create fresh tag: $TAG"
- name: Apply Tag to Current Commit
run: |
git config user.name "github-actions"
git config user.email "github-actions@github.com"
git tag ${{ steps.read_version.outputs.tag }}
git push origin ${{ steps.read_version.outputs.tag }}
- name: Copy Release to Versioned File
run: |
cp ./output/spearhead.lua ./output/spearhead.${{ steps.read_version.outputs.tag }}.lua
echo "Versioned file created: spearhead.${{ steps.read_version.outputs.tag }}.lua"
- name: Create Release and Upload Assets
uses: akkuman/gitea-release-action@v1
with:
tag_name: ${{ steps.read_version.outputs.tag }}
name: Release ${{ steps.read_version.outputs.tag }}
body: ${{ steps.release_notes.outputs.body }}
prerelease: true
files: |-
./output/spearhead.lua
./output/spearhead.${{ steps.read_version.outputs.tag }}.lua
#token: ${{ secrets.GITHUB_TOKEN }}
env:
NODE_OPTIONS: '--experimental-fetch'
- name: Announce Release
uses: tsickert/discord-webhook@v7.0.0
with:
webhook-url: ${{ secrets.WEBHOOK_URL }}
content: "New Beta Release"
username: "Spearhead Release Bot"
#TODO: avatar-url spearhead avatar
thread-id: 1538520488442331227
embed-title: "Spearhead Release Beta"
embed-color: 3093247
embed-description:
${{ steps.release_notes.outputs.body }}
embed-url:
https://git.dutchie031.com/Spearhead/spearhead/releases/tag/${{ steps.read_version.outputs.tag }}