Initial template setup
CI / build (push) Failing after 34s

This commit is contained in:
2026-05-09 16:41:15 +02:00
commit 4a2e840888
20 changed files with 561 additions and 0 deletions
+26
View File
@@ -0,0 +1,26 @@
---
name: Bug Report
about: Something is broken or behaves unexpectedly
title: "[Bug] "
labels: ["bug"]
---
## What happened
<!-- Describe the bug. What did you do, what did you expect, what happened instead? -->
## Steps to reproduce
1.
2.
3.
## Environment
- Version:
- OS:
- Anything else relevant:
## Logs / Screenshots
<!-- Paste relevant log output or attach screenshots. Use ```code blocks``` for logs. -->
+22
View File
@@ -0,0 +1,22 @@
---
name: Feature Request
about: Suggest an idea or improvement
title: "[Feature] "
labels: ["enhancement"]
---
## The problem
<!-- What are you trying to do? What's missing or annoying? -->
## Proposed solution
<!-- How would you solve it? Concrete behavior, not implementation details. -->
## Alternatives considered
<!-- What else did you think about? Why didn't that work? -->
## Additional context
<!-- Screenshots, examples from other tools, related issues. -->
+22
View File
@@ -0,0 +1,22 @@
## Summary
<!-- What does this PR do? 1-3 bullet points. -->
-
## Why
<!-- Linked issue, motivation, or context. "Fixes #N" if applicable. -->
## Testing
<!-- How did you verify this works? -->
- [ ]
## Checklist
- [ ] Code builds without warnings
- [ ] Tests pass (or N/A)
- [ ] Documentation updated (or N/A)
- [ ] No secrets or credentials committed
+16
View File
@@ -0,0 +1,16 @@
---
title: "PluginNameTemplate v0.1.0"
subtitle: "Initial release — short one-liner about what this version brings"
versionsnatur: "Initial release"
---
First public release on the Hellion Forge.
**Highlights**
- Bullet 1
- Bullet 2
**Notes**
Anything testers should know — known issues, breaking changes from the previous version, etc. Keep it tight; the embed has a ~5500 char total cap.
+27
View File
@@ -0,0 +1,27 @@
name: CI
on:
push:
branches: [main]
pull_request:
branches: [main]
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Setup .NET
uses: actions/setup-dotnet@v4
with:
dotnet-version: '9.0.x'
- name: Restore
run: dotnet restore
- name: Build (Release)
run: dotnet build -c Release --no-restore
- name: Verify Dalamud manifest exists
run: test -f bin/Release/PluginNameTemplate/PluginNameTemplate.json
+75
View File
@@ -0,0 +1,75 @@
# Forge-Auto-Announce
# Triggers on tag push (v*). Reads .gitea/forge-posts/v<X.Y.Z>.md from the
# *tagged tree* (not main), assembles a Discord embed, posts via webhook.
#
# Required repo secret: FORGE_DISCORD_WEBHOOK_URL
# Optional repo secret: FORGE_DISCORD_THREAD_ID (post into a forum thread)
#
# Char-cap reminder: Discord embed total (title + description + footer +
# field values combined) ~5500. Keep .gitea/forge-posts/v*.md trim.
name: Forge Auto-Announce
on:
push:
tags:
- 'v*'
jobs:
announce:
runs-on: ubuntu-latest
steps:
- name: Checkout tagged tree
uses: actions/checkout@v4
with:
ref: ${{ github.ref }}
- name: Compose embed
id: embed
env:
TAG: ${{ github.ref_name }}
run: |
POST_FILE=".gitea/forge-posts/${TAG}.md"
if [ ! -f "$POST_FILE" ]; then
echo "No forge-post file for ${TAG} (looked at ${POST_FILE}). Skipping."
echo "skip=true" >> "$GITHUB_OUTPUT"
exit 0
fi
TITLE=$(awk -F': ' '/^title:/ {print $2; exit}' "$POST_FILE" | sed 's/^"//;s/"$//')
SUBTITLE=$(awk -F': ' '/^subtitle:/ {print $2; exit}' "$POST_FILE" | sed 's/^"//;s/"$//')
BODY=$(awk '/^---$/{c++;next} c==2' "$POST_FILE")
jq -n \
--arg title "${TITLE:-Release ${TAG}}" \
--arg subtitle "${SUBTITLE}" \
--arg body "$BODY" \
--arg tag "$TAG" \
--arg repo "${{ github.repository }}" \
'{
embeds: [{
title: $title,
description: ($subtitle + "\n\n" + $body),
color: 12731404,
url: ("https://gitea.hellion-forge.cloud/" + $repo + "/releases/tag/" + $tag),
footer: { text: ($repo + " — " + $tag) }
}]
}' > payload.json
echo "skip=false" >> "$GITHUB_OUTPUT"
- name: Post to Discord
if: steps.embed.outputs.skip != 'true'
env:
WEBHOOK: ${{ secrets.FORGE_DISCORD_WEBHOOK_URL }}
THREAD_ID: ${{ secrets.FORGE_DISCORD_THREAD_ID }}
run: |
if [ -z "$WEBHOOK" ]; then
echo "::error::FORGE_DISCORD_WEBHOOK_URL secret missing"
exit 1
fi
URL="$WEBHOOK"
if [ -n "$THREAD_ID" ]; then
URL="${URL}?thread_id=${THREAD_ID}"
fi
curl -fsS -X POST -H 'Content-Type: application/json' --data @payload.json "$URL"