ci: preserve download assets on docs deploy
This commit is contained in:
36
.github/workflows/deploy-docs.yml
vendored
36
.github/workflows/deploy-docs.yml
vendored
@@ -43,14 +43,46 @@ jobs:
|
||||
node-version: "22"
|
||||
cache: pnpm
|
||||
|
||||
- name: Setup Bun
|
||||
uses: oven-sh/setup-bun@v2
|
||||
with:
|
||||
bun-version: latest
|
||||
|
||||
- name: Setup Pages
|
||||
uses: actions/configure-pages@v5
|
||||
|
||||
- name: Install dependencies
|
||||
run: pnpm install --frozen-lockfile
|
||||
|
||||
- name: Build docs
|
||||
run: pnpm docs:build
|
||||
- name: Build docs and download pages
|
||||
env:
|
||||
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
run: |
|
||||
pnpm docs:build
|
||||
|
||||
DIST="site/.vitepress/dist"
|
||||
mkdir -p "$DIST/alpha" "$DIST/stable" "$DIST/download" "$DIST/stable/download"
|
||||
|
||||
gh api -H "Accept: application/vnd.github+json" repos/${{ github.repository }}/releases --paginate > "$DIST/releases.json"
|
||||
|
||||
STABLE_TAG="$(gh release list --repo ${{ github.repository }} --limit 100 --json tagName,isDraft,isPrerelease --jq '[.[] | select(.isDraft == false and .isPrerelease == false)][0].tagName // ""')"
|
||||
if [ -n "$STABLE_TAG" ]; then
|
||||
gh release download --repo ${{ github.repository }} "$STABLE_TAG" --pattern "stable-latest.json" --output "$DIST/stable/latest.json" || echo '{}' > "$DIST/stable/latest.json"
|
||||
else
|
||||
echo '{}' > "$DIST/stable/latest.json"
|
||||
fi
|
||||
|
||||
ALPHA_TAG="$(gh release list --repo ${{ github.repository }} --limit 100 --json tagName,isDraft,isPrerelease --jq '[.[] | select(.isDraft == false and .isPrerelease == true)][0].tagName // ""')"
|
||||
if [ -n "$ALPHA_TAG" ]; then
|
||||
gh release download --repo ${{ github.repository }} "$ALPHA_TAG" --pattern "alpha-latest.json" --output "$DIST/alpha/latest.json" || echo '{}' > "$DIST/alpha/latest.json"
|
||||
else
|
||||
echo '{}' > "$DIST/alpha/latest.json"
|
||||
fi
|
||||
|
||||
bun scripts/build-release-download-page.ts --latest-json "$DIST/stable/latest.json" --releases-json "$DIST/releases.json" --output-file "$DIST/download/index.html"
|
||||
cp "$DIST/download/index.html" "$DIST/stable/download/index.html"
|
||||
cp "$DIST/alpha/latest.json" "$DIST/latest.json"
|
||||
cp "$DIST/alpha/latest.json" "$DIST/latest-canary.json"
|
||||
|
||||
- name: Upload Pages artifact
|
||||
uses: actions/upload-pages-artifact@v4
|
||||
|
||||
Reference in New Issue
Block a user