forked from Eauldane/SnowcloakClient
53 lines
1.7 KiB
YAML
53 lines
1.7 KiB
YAML
name: .NET Build and Publish to Gitea
|
|
|
|
on:
|
|
push:
|
|
branches: '*'
|
|
pull_request:
|
|
|
|
jobs:
|
|
build:
|
|
runs-on: self-hosted
|
|
steps:
|
|
- name: Checkout repository
|
|
uses: actions/checkout@v4
|
|
with:
|
|
submodules: true
|
|
- name: Restore dependencies
|
|
run: dotnet restore
|
|
|
|
- name: Download Dalamud
|
|
run: |
|
|
mkdir -p $HOME/.xlcore/dalamud/Hooks/dev/
|
|
curl -L https://goatcorp.github.io/dalamud-distrib/stg/latest.zip -o latest.zip
|
|
unzip -o latest.zip -d $HOME/.xlcore/dalamud/Hooks/dev/
|
|
|
|
- name: Build project
|
|
run: dotnet build --no-restore --configuration Release --nologo
|
|
|
|
- name: Publish Windows executable
|
|
run: dotnet publish -c Release -r win-x64 --self-contained true -o ./publish
|
|
|
|
- name: Archive published files
|
|
run: zip -r SnowcloakClient.zip ./publish/*
|
|
|
|
- name: Create Gitea release
|
|
env:
|
|
GITEA_TOKEN: ${{ secrets.BUILD_SNOWCLOAK_CLIENT }}
|
|
run: |
|
|
API_URL="https://imbuilding.anuke.org/api/v1/repos/ProfessorFartsalot/repo/releases"
|
|
TAG="v$(date +%Y%m%d%H%M)"
|
|
# Create release
|
|
RELEASE_ID=$(curl -s -X POST \
|
|
-H "Content-Type: application/json" \
|
|
-H "Authorization: token $GITEA_TOKEN" \
|
|
-d "{\"tag_name\":\"$TAG\",\"name\":\"Automated Build $TAG\",\"body\":\"Automated build artifact\"}" \
|
|
$API_URL | jq -r '.id')
|
|
echo "Release ID: $RELEASE_ID"
|
|
# Upload asset
|
|
curl -s -X POST \
|
|
-H "Authorization: token $GITEA_TOKEN" \
|
|
-F "name=SnowcloakClient.zip" \
|
|
-F "attachment=@SnowcloakClient.zip" \
|
|
"$API_URL/$RELEASE_ID/assets"
|