@@ -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. -->
|
||||
@@ -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. -->
|
||||
@@ -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
|
||||
@@ -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.
|
||||
@@ -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
|
||||
@@ -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"
|
||||
Reference in New Issue
Block a user