This is an automated email from the ASF dual-hosted git repository.
dengliming pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/shenyu-dashboard.git
The following commit(s) were added to refs/heads/master by this push:
new 63528c79 chore: update dashboard (#673)
63528c79 is described below
commit 63528c79eb306a6188defc4e0b284a20a2d5d895
Author: shown <[email protected]>
AuthorDate: Sun Sep 27 12:11:51 2026 +0800
chore: update dashboard (#673)
Signed-off-by: yuluo-yx <[email protected]>
---
.github/workflows/sync-to-main.yml | 61 ++++++++++++++++++++++++++++----------
1 file changed, 46 insertions(+), 15 deletions(-)
diff --git a/.github/workflows/sync-to-main.yml
b/.github/workflows/sync-to-main.yml
index 3c2d74d4..5ee2598f 100644
--- a/.github/workflows/sync-to-main.yml
+++ b/.github/workflows/sync-to-main.yml
@@ -1,9 +1,9 @@
name: Sync Dashboard Build to Main Repository
on:
- push:
- branches:
- - master
+ schedule:
+ # Run once daily at 00:00 UTC (08:00 Asia/Shanghai)
+ - cron: '0 0 * * *'
workflow_dispatch:
jobs:
@@ -39,14 +39,15 @@ jobs:
fetch-depth: 0
- name: Check for changes and sync
+ id: sync_step
run: |
mkdir -p shenyu-main/shenyu-admin/src/main/resources/static
- # check different.
+ # check difference
if ! diff -r dist/
shenyu-main/shenyu-admin/src/main/resources/static/ > /dev/null 2>&1; then
echo "Changes detected, syncing files..."
- # check change,start sync code
+ # check change, start sync code
rm -rf shenyu-main/shenyu-admin/src/main/resources/static/*
cp -r dist/* shenyu-main/shenyu-admin/src/main/resources/static/
@@ -55,6 +56,21 @@ jobs:
git config --local user.email "[email protected]"
git config --local user.name "GitHub Action"
+ # check and close existing open sync PRs before creating a new one
+ EXISTING_PRS=$(gh pr list --repo apache/shenyu --state open
--search "chore: sync dashboard build artifacts in:title" --json number --jq
'.[].number')
+ CLOSED_PRS=""
+ if [ -n "$EXISTING_PRS" ]; then
+ echo "Found open sync PR(s) that have not been merged:
$EXISTING_PRS"
+ for pr_num in $EXISTING_PRS; do
+ echo "Closing outdated sync PR #$pr_num..."
+ if gh pr close "$pr_num" --repo apache/shenyu --comment
"Superseded by newer dashboard build artifacts sync." --delete-branch; then
+ CLOSED_PRS="${CLOSED_PRS}#${pr_num} "
+ else
+ CLOSED_PRS="${CLOSED_PRS}#${pr_num}(close-failed) "
+ fi
+ done
+ fi
+
# create new branch to sync code
BRANCH_NAME="sync-dashboard-$(date +%Y%m%d-%H%M%S)"
git checkout -b "$BRANCH_NAME"
@@ -72,31 +88,46 @@ jobs:
git push origin "$BRANCH_NAME"
# create pull request
- gh pr create \
+ PR_URL=$(gh pr create \
+ --repo apache/shenyu \
--title "chore: sync dashboard build artifacts" \
--body "Auto-sync dashboard build artifacts from
apache/shenyu-dashboard.
- **Source Details:**
- - Repository: apache/shenyu-dashboard
- - Commit: ${{ github.sha }}
- - Workflow: ${{ github.server_url }}/${{ github.repository
}}/actions/runs/${{ github.run_id }}
+**Source Details:**
+- Repository: apache/shenyu-dashboard
+- Commit: ${{ github.sha }}
+- Workflow: ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{
github.run_id }}
- This PR contains the latest build artifacts from the dashboard
repository." \
+This PR contains the latest build artifacts from the dashboard repository." \
--head "$BRANCH_NAME" \
- --base master
+ --base master)
- echo "✅ Pull request created successfully"
+ echo "✅ Pull request created successfully: $PR_URL"
+ echo "SYNC_STATUS=created" >> $GITHUB_ENV
+ echo "PR_URL=$PR_URL" >> $GITHUB_ENV
+ echo "CLOSED_PRS=${CLOSED_PRS:-None}" >> $GITHUB_ENV
else
- echo "No changes detected, skipping sync"
+ echo "No changes detected between dashboard build artifacts and
main repository, skipping sync."
+ echo "SYNC_STATUS=skipped" >> $GITHUB_ENV
fi
env:
GH_TOKEN: ${{ secrets.GH_PAT }}
- name: Result Output
+ if: always()
run: |
echo "## Sync Summary" >> $GITHUB_STEP_SUMMARY
+ echo "- **Trigger Event**: ${{ github.event_name }}" >>
$GITHUB_STEP_SUMMARY
echo "- **Source Repository**: apache/shenyu-dashboard" >>
$GITHUB_STEP_SUMMARY
echo "- **Source Commit**: ${{ github.sha }}" >> $GITHUB_STEP_SUMMARY
echo "- **Target Repository**: apache/shenyu" >> $GITHUB_STEP_SUMMARY
echo "- **Target Path**: shenyu-admin/src/main/resources/static" >>
$GITHUB_STEP_SUMMARY
- echo "- **Build Status**: ✅ Completed" >> $GITHUB_STEP_SUMMARY
+ if [ "$SYNC_STATUS" = "created" ]; then
+ echo "- **Status**: ✅ Changes detected. New pull request created."
>> $GITHUB_STEP_SUMMARY
+ echo "- **Pull Request**: $PR_URL" >> $GITHUB_STEP_SUMMARY
+ echo "- **Closed Outdated PRs**: $CLOSED_PRS" >>
$GITHUB_STEP_SUMMARY
+ elif [ "$SYNC_STATUS" = "skipped" ]; then
+ echo "- **Status**: ℹ️ No changes detected between dashboard build
artifacts and main repository. No pull request needed." >> $GITHUB_STEP_SUMMARY
+ else
+ echo "- **Status**: ⚠️ Workflow completed with status: ${{
job.status }}" >> $GITHUB_STEP_SUMMARY
+ fi