4c8b0da3da
actions/upload-artifact@v7 fails on Gitea Actions — the GitHub artifact API has compatibility gaps the Gitea runtime layer does not fully cover, and v7 specifically tripped exitcode 1 on the Strato runner. The build itself runs fine; the artefact was never consumed by anything (release.yml does its own latest.zip lookup), so the cleanest fix is to make build.yml a pure compile-health check without artefact upload.
54 lines
1.6 KiB
YAML
54 lines
1.6 KiB
YAML
name: Build
|
|
|
|
# Verifies that every push to main and every PR still builds against the
|
|
# current Dalamud staging branch. Does not produce release artefacts; the
|
|
# release workflow handles that on tag.
|
|
#
|
|
# Linux runner: gitea.com Cloud Actions provides ubuntu-latest. The plugin
|
|
# csproj targets net10.0-windows, but `dotnet build` cross-compiles on
|
|
# Linux as long as the Dalamud staging assemblies are present at the
|
|
# expected lookup path ($(HOME)/.xlcore/dalamud/Hooks/dev/, which the
|
|
# Dalamud SDK 15 uses on Linux).
|
|
|
|
on:
|
|
push:
|
|
branches: [main]
|
|
pull_request:
|
|
branches: [main]
|
|
workflow_dispatch:
|
|
|
|
# Minimum permissions for a build-only workflow: read the repo, nothing
|
|
# else. Closes the CodeQL "Workflow does not contain permissions" alert
|
|
# and matches the principle-of-least-privilege the security guide
|
|
# recommends for workflows that don't push or create releases.
|
|
permissions:
|
|
contents: read
|
|
|
|
jobs:
|
|
build:
|
|
name: Build (Release)
|
|
runs-on: ubuntu-latest
|
|
timeout-minutes: 15
|
|
|
|
steps:
|
|
- name: Checkout
|
|
uses: actions/checkout@v6
|
|
|
|
- name: Setup .NET 10
|
|
uses: actions/setup-dotnet@v5
|
|
with:
|
|
dotnet-version: 10.0.x
|
|
|
|
- name: Download Dalamud staging
|
|
run: |
|
|
hooks="$HOME/.xlcore/dalamud/Hooks/dev"
|
|
mkdir -p "$hooks"
|
|
curl -fsSL https://goatcorp.github.io/dalamud-distrib/stg/latest.zip -o dalamud.zip
|
|
unzip -oq dalamud.zip -d "$hooks"
|
|
|
|
- name: Restore
|
|
run: dotnet restore HellionChat/HellionChat.csproj
|
|
|
|
- name: Build (Release)
|
|
run: dotnet build HellionChat/HellionChat.csproj --configuration Release --no-restore
|