Skip to content

Commit cb1f2bd

Browse files
authored
fix(ci): trigger dashboard build on release publish (librefang#2043)
dashboard-dist.tar.gz was missing from releases because the workflow only triggered on dashboard source changes. Now also triggers on release:published to ensure every release has dashboard assets. Uses event tag directly when triggered by release to avoid race conditions.
1 parent 3d3ca1e commit cb1f2bd

File tree

1 file changed

+10
-4
lines changed

1 file changed

+10
-4
lines changed

.github/workflows/dashboard-build.yml

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,8 @@ on:
88
- 'crates/librefang-api/dashboard/package.json'
99
- 'crates/librefang-api/dashboard/vite.config.*'
1010
- 'crates/librefang-api/dashboard/tsconfig.*'
11+
release:
12+
types: [published]
1113

1214
jobs:
1315
build:
@@ -34,16 +36,20 @@ jobs:
3436
cd crates/librefang-api/static/react
3537
tar -czf /tmp/dashboard-dist.tar.gz .
3638
37-
- name: Upload to latest release
39+
- name: Upload to release
3840
env:
3941
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
4042
run: |
41-
# Find latest release tag
42-
TAG=$(gh release list --limit 1 --json tagName --jq '.[0].tagName')
43+
# Use release event tag if available, otherwise find latest
44+
if [ "${{ github.event_name }}" = "release" ]; then
45+
TAG="${{ github.event.release.tag_name }}"
46+
else
47+
TAG=$(gh release list --limit 1 --json tagName --jq '.[0].tagName')
48+
fi
4349
if [ -z "$TAG" ]; then
4450
echo "No release found, skipping upload"
4551
exit 0
4652
fi
47-
# Delete old asset if exists, then upload new one
53+
echo "Uploading dashboard-dist.tar.gz to $TAG"
4854
gh release delete-asset "$TAG" dashboard-dist.tar.gz --yes 2>/dev/null || true
4955
gh release upload "$TAG" /tmp/dashboard-dist.tar.gz --clobber

0 commit comments

Comments
 (0)