commit
bd55602a0e
4 changed files with 44 additions and 3 deletions
38
.github/workflows/release.yml
vendored
38
.github/workflows/release.yml
vendored
|
|
@ -121,6 +121,8 @@ jobs:
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout Source Code
|
- name: Checkout Source Code
|
||||||
uses: actions/checkout@v5
|
uses: actions/checkout@v5
|
||||||
|
with:
|
||||||
|
fetch-depth: 0
|
||||||
|
|
||||||
- name: Get package version
|
- name: Get package version
|
||||||
id: package-version
|
id: package-version
|
||||||
|
|
@ -128,6 +130,39 @@ jobs:
|
||||||
version="$(python -c "import tomllib; print(tomllib.load(open('pyproject.toml', 'rb'))['project']['version'])")"
|
version="$(python -c "import tomllib; print(tomllib.load(open('pyproject.toml', 'rb'))['project']['version'])")"
|
||||||
echo "version=$version" >> "$GITHUB_OUTPUT"
|
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
|
- name: Download Artifacts
|
||||||
uses: actions/download-artifact@v7
|
uses: actions/download-artifact@v7
|
||||||
|
|
||||||
|
|
@ -161,7 +196,8 @@ jobs:
|
||||||
)
|
)
|
||||||
|
|
||||||
if gh release view "$tag" >/dev/null 2>&1; then
|
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
|
gh release upload "$tag" "${files[@]}" --clobber
|
||||||
else
|
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
|
fi
|
||||||
|
|
|
||||||
|
|
@ -43,5 +43,6 @@
|
||||||
"fork_tuansanlang": {"name": "The Great Thief", "rank": "A"},
|
"fork_tuansanlang": {"name": "The Great Thief", "rank": "A"},
|
||||||
"fork_Whale": {"name": "Song of the Whale", "rank": "S"},
|
"fork_Whale": {"name": "Song of the Whale", "rank": "S"},
|
||||||
"fork_worldrain": {"name": "The Rain That Shook the World", "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"}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -17,5 +17,6 @@
|
||||||
"1055": {"name": "Jiuyuan", "rank": "S"},
|
"1055": {"name": "Jiuyuan", "rank": "S"},
|
||||||
"1056": {"name": "Lacrimosa", "rank": "S"},
|
"1056": {"name": "Lacrimosa", "rank": "S"},
|
||||||
"1070": {"name": "Aurelia", "rank": "A"},
|
"1070": {"name": "Aurelia", "rank": "A"},
|
||||||
|
"1071": {"name": "Chaos", "rank": "S"},
|
||||||
"1073": {"name": "Chiz", "rank": "S"}
|
"1073": {"name": "Chiz", "rank": "S"}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -11,5 +11,8 @@
|
||||||
"Fashion_1052_1": {"type": "cosmetic", "name": "Priceless Orchid", "rank": "S"},
|
"Fashion_1052_1": {"type": "cosmetic", "name": "Priceless Orchid", "rank": "S"},
|
||||||
"Fashion_Glide_1004": {"type": "cosmetic", "name": "Tomato Duo", "rank": "A"},
|
"Fashion_Glide_1004": {"type": "cosmetic", "name": "Tomato Duo", "rank": "A"},
|
||||||
"Fashion_vehicle_1004_V021": {"type": "cosmetic", "name": "Tomato Cruise - Livery", "rank": "S"},
|
"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"}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue