mirror of
https://github.com/alibaba/higress.git
synced 2026-06-01 08:37:26 +08:00
Release note format (#2647)
Signed-off-by: guochenxu <guochenxu11@outlook.com>
This commit is contained in:
44
.github/workflows/generate-release-notes.yaml
vendored
44
.github/workflows/generate-release-notes.yaml
vendored
@@ -43,6 +43,17 @@ jobs:
|
|||||||
git clone https://github.com/higress-group/higress-report-agent.git
|
git clone https://github.com/higress-group/higress-report-agent.git
|
||||||
mv github-mcp-serve higress-report-agent/
|
mv github-mcp-serve higress-report-agent/
|
||||||
|
|
||||||
|
- name: Clean up old release notes
|
||||||
|
run: |
|
||||||
|
RELEASE_VERSION=$(cat ${GITHUB_WORKSPACE}/VERSION)
|
||||||
|
CLEAN_VERSION=${RELEASE_VERSION#v}
|
||||||
|
if [ -d "release-notes/${CLEAN_VERSION}" ]; then
|
||||||
|
echo "Removing old release notes directory: release-notes/${CLEAN_VERSION}"
|
||||||
|
rm -rf release-notes/${CLEAN_VERSION}
|
||||||
|
else
|
||||||
|
echo "No old release notes directory found for version ${CLEAN_VERSION}."
|
||||||
|
fi
|
||||||
|
|
||||||
- name: Create Release Report Script
|
- name: Create Release Report Script
|
||||||
run: |
|
run: |
|
||||||
cat > generate_release_report.sh << 'EOF'
|
cat > generate_release_report.sh << 'EOF'
|
||||||
@@ -59,6 +70,7 @@ jobs:
|
|||||||
PR_NUMS=${PR_NUMS%,}
|
PR_NUMS=${PR_NUMS%,}
|
||||||
if [ -z "${PR_NUMS}" ]; then
|
if [ -z "${PR_NUMS}" ]; then
|
||||||
echo "No PR numbers found in release notes for ${GITHUB_REPO_OWNER}/${GITHUB_REPO_NAME} tag=${RELEASE_VERSION}."
|
echo "No PR numbers found in release notes for ${GITHUB_REPO_OWNER}/${GITHUB_REPO_NAME} tag=${RELEASE_VERSION}."
|
||||||
|
rm release_page.html
|
||||||
exit 0
|
exit 0
|
||||||
fi
|
fi
|
||||||
|
|
||||||
@@ -84,10 +96,10 @@ jobs:
|
|||||||
cp report.EN.md ../
|
cp report.EN.md ../
|
||||||
cd ..
|
cd ..
|
||||||
|
|
||||||
# 去除版本号前缀v
|
# 去除主库版本号前缀v,以主库版本号为路径
|
||||||
CLEAN_VERSION=${RELEASE_VERSION#v}
|
CLEAN_VERSION=${MAIN_RELEASE_VERSION#v}
|
||||||
|
|
||||||
echo "Creating release notes directory for version ${RELEASE_VERSION}..."
|
echo "Creating release notes directory for main version ${MAIN_RELEASE_VERSION}..."
|
||||||
mkdir -p release-notes/${CLEAN_VERSION}
|
mkdir -p release-notes/${CLEAN_VERSION}
|
||||||
|
|
||||||
echo "# ${REPORT_TITLE}" >>release-notes/${CLEAN_VERSION}/README_ZH.md
|
echo "# ${REPORT_TITLE}" >>release-notes/${CLEAN_VERSION}/README_ZH.md
|
||||||
@@ -112,6 +124,7 @@ jobs:
|
|||||||
GITHUB_PERSONAL_ACCESS_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
GITHUB_PERSONAL_ACCESS_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||||
REPORT_TITLE: Higress
|
REPORT_TITLE: Higress
|
||||||
run: |
|
run: |
|
||||||
|
export MAIN_RELEASE_VERSION=$(cat ${GITHUB_WORKSPACE}/VERSION)
|
||||||
export RELEASE_VERSION=$(cat ${GITHUB_WORKSPACE}/VERSION)
|
export RELEASE_VERSION=$(cat ${GITHUB_WORKSPACE}/VERSION)
|
||||||
bash generate_release_report.sh
|
bash generate_release_report.sh
|
||||||
|
|
||||||
@@ -122,6 +135,7 @@ jobs:
|
|||||||
GITHUB_PERSONAL_ACCESS_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
GITHUB_PERSONAL_ACCESS_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||||
REPORT_TITLE: Higress Console
|
REPORT_TITLE: Higress Console
|
||||||
run: |
|
run: |
|
||||||
|
export MAIN_RELEASE_VERSION=$(cat ${GITHUB_WORKSPACE}/VERSION)
|
||||||
export RELEASE_VERSION=$(grep "^higress-console:" ${GITHUB_WORKSPACE}/DEP_VERSION | head -n1 | sed 's/higress-console: //')
|
export RELEASE_VERSION=$(grep "^higress-console:" ${GITHUB_WORKSPACE}/DEP_VERSION | head -n1 | sed 's/higress-console: //')
|
||||||
bash generate_release_report.sh
|
bash generate_release_report.sh
|
||||||
|
|
||||||
@@ -138,12 +152,28 @@ jobs:
|
|||||||
https://api.github.com/repos/${GITHUB_REPO_OWNER}/${GITHUB_REPO_NAME}/releases/tags/${RELEASE_VERSION})
|
https://api.github.com/repos/${GITHUB_REPO_OWNER}/${GITHUB_REPO_NAME}/releases/tags/${RELEASE_VERSION})
|
||||||
RELEASE_ID=$(echo $RELEASE_INFO | jq -r .id)
|
RELEASE_ID=$(echo $RELEASE_INFO | jq -r .id)
|
||||||
|
|
||||||
RELEASE_NOTES=$(cat release-notes/${CLEAN_VERSION}/README.md)
|
RELEASE_BODY=$(echo $RELEASE_INFO | jq -r .body)
|
||||||
|
NEW_CONTRIBUTORS=$(echo "$RELEASE_BODY" | awk '/## New Contributors/{flag=1; next} /\*\*Full Changelog\*\*/{flag=0} flag' | sed 's/\\n/\n/g')
|
||||||
|
FULL_CHANGELOG=$(echo "$RELEASE_BODY" | awk '/\*\*Full Changelog\*\*:/{print $0}' | sed 's/\*\*Full Changelog\*\*: //g' | sed 's/\\n/\n/g')
|
||||||
|
|
||||||
|
RELEASE_NOTES=$(cat release-notes/${CLEAN_VERSION}/README.md | sed 's/# /## /g')
|
||||||
|
|
||||||
|
if [[ -n "$NEW_CONTRIBUTORS" ]]; then
|
||||||
|
RELEASE_NOTES="${RELEASE_NOTES}
|
||||||
|
|
||||||
|
## New Contributors
|
||||||
|
|
||||||
|
${NEW_CONTRIBUTORS}"
|
||||||
|
fi
|
||||||
|
if [[ -n "$FULL_CHANGELOG" ]]; then
|
||||||
|
RELEASE_NOTES="${RELEASE_NOTES}
|
||||||
|
|
||||||
|
**Full Changelog**: ${FULL_CHANGELOG}"
|
||||||
|
fi
|
||||||
|
|
||||||
JSON_DATA=$(jq -n \
|
JSON_DATA=$(jq -n \
|
||||||
--arg tag "$RELEASE_VERSION" \
|
|
||||||
--arg name "$RELEASE_VERSION" \
|
|
||||||
--arg body "$RELEASE_NOTES" \
|
--arg body "$RELEASE_NOTES" \
|
||||||
'{tag_name: $tag, name: $name, body: $body, draft: false, prerelease: false}')
|
'{body: $body}')
|
||||||
|
|
||||||
curl -L \
|
curl -L \
|
||||||
-X PATCH \
|
-X PATCH \
|
||||||
|
|||||||
Reference in New Issue
Block a user