diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 3a55220..7f9d2b1 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -121,6 +121,8 @@ jobs: steps: - name: Checkout Source Code uses: actions/checkout@v5 + with: + fetch-depth: 0 - name: Get package version id: package-version @@ -128,6 +130,39 @@ jobs: version="$(python -c "import tomllib; print(tomllib.load(open('pyproject.toml', 'rb'))['project']['version'])")" echo "version=$version" >> "$GITHUB_OUTPUT" + - name: Build Release Notes + run: | + version="${{ steps.package-version.outputs.version }}" + tag="v${version}" + repo_url="${{ github.server_url }}/${{ github.repository }}" + previous_tag="$(git tag --merged HEAD --sort=-v:refname | grep -E '^v[0-9]+(\.[0-9]+)*' | grep -vx "$tag" | head -n 1 || true)" + + { + echo "Release ${tag}" + echo + echo "## Commits included in this release" + echo + if [ -n "$previous_tag" ]; then + echo "Changes since ${previous_tag}:" + commit_range="${previous_tag}..HEAD" + else + commit_range="HEAD" + fi + echo + + while IFS= read -r commit; do + short_hash="$(git show -s --format='%h' "$commit")" + title="$(git show -s --format='%s' "$commit")" + description="$(git show -s --format='%b' "$commit")" + + echo "- [\`${short_hash}\`](${repo_url}/commit/${commit}) ${title}" + if [ -n "$description" ]; then + echo "$description" | sed 's/^/ /' + fi + echo + done < <(git rev-list "$commit_range") + } > release-notes.md + - name: Download Artifacts uses: actions/download-artifact@v7 @@ -161,7 +196,8 @@ jobs: ) if gh release view "$tag" >/dev/null 2>&1; then + gh release edit "$tag" --notes-file release-notes.md gh release upload "$tag" "${files[@]}" --clobber else - gh release create "$tag" "${files[@]}" --title "${tag} Release" --notes "Release ${tag}" + gh release create "$tag" "${files[@]}" --title "${tag} Release" --notes-file release-notes.md fi diff --git a/mappings/arcs.json b/mappings/arcs.json index afaef58..a13efae 100644 --- a/mappings/arcs.json +++ b/mappings/arcs.json @@ -43,5 +43,6 @@ "fork_tuansanlang": {"name": "The Great Thief", "rank": "A"}, "fork_Whale": {"name": "Song of the Whale", "rank": "S"}, "fork_worldrain": {"name": "The Rain That Shook the World", "rank": "S"}, - "fork_Wushoutieyu": {"name": "Raging Flames", "rank": "S"} + "fork_Wushoutieyu": {"name": "Raging Flames", "rank": "S"}, + "fork_GoldWool": {"name": "What's Desired", "rank": "S"} } diff --git a/mappings/characters.json b/mappings/characters.json index 0a7e85a..ddf8f9a 100644 --- a/mappings/characters.json +++ b/mappings/characters.json @@ -17,5 +17,6 @@ "1055": {"name": "Jiuyuan", "rank": "S"}, "1056": {"name": "Lacrimosa", "rank": "S"}, "1070": {"name": "Aurelia", "rank": "A"}, + "1071": {"name": "Chaos", "rank": "S"}, "1073": {"name": "Chiz", "rank": "S"} } diff --git a/mappings/items.json b/mappings/items.json index 7b8325a..6109d84 100644 --- a/mappings/items.json +++ b/mappings/items.json @@ -11,5 +11,8 @@ "Fashion_1052_1": {"type": "cosmetic", "name": "Priceless Orchid", "rank": "S"}, "Fashion_Glide_1004": {"type": "cosmetic", "name": "Tomato Duo", "rank": "A"}, "Fashion_vehicle_1004_V021": {"type": "cosmetic", "name": "Tomato Cruise - Livery", "rank": "S"}, - "Fashion_1004_1": {"type": "cosmetic", "name": "Gilded Rhapsody", "rank": "S"} + "Fashion_1004_1": {"type": "cosmetic", "name": "Gilded Rhapsody", "rank": "S"}, + "Fashion_Glide_1071": {"type": "cosmetic", "name": "Skyrider", "rank": "A"}, + "Fashion_vehicle_1071_V010": {"type": "cosmetic", "name": "Novis ST-X 950 Livery", "rank": "S"}, + "Fashion_1071_1": {"type": "cosmetic", "name": "Clear Skies", "rank": "S"} }