diff options
Diffstat (limited to '.github/workflows/release.yml')
| -rw-r--r-- | .github/workflows/release.yml | 25 |
1 files changed, 22 insertions, 3 deletions
diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 2d07a8f8..024998d2 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -342,11 +342,17 @@ jobs: fetch-depth: 0 ssh-key: ${{ secrets.RELEASE_DEPLOY_KEY }} - - name: Update website latest manifest + - name: Install Bun + uses: oven-sh/setup-bun@0c5077e51419868618aeaa5fe8019c62421857d6 # v2 + with: + bun-version: 1.3.14 + + - name: Publish tagged documentation and update website manifest env: GH_TOKEN: ${{ github.token }} run: | VERSION="${GITHUB_REF_NAME#v}" + node website/scripts/docs-versions.mjs publish "$GITHUB_REF_NAME" ANNOUNCEMENT_PATH="$RUNNER_TEMP/product-announcement.json" ANNOUNCEMENT_ORIGINAL_PATH="$RUNNER_TEMP/product-announcement-original.json" git show "${GITHUB_REF_NAME}:docs/next/product-announcement.json" > "$ANNOUNCEMENT_PATH" @@ -371,9 +377,22 @@ jobs: VERSION="${GITHUB_REF_NAME#v}" git config user.name "github-actions[bot]" git config user.email "41898282+github-actions[bot]@users.noreply.github.com" - git add website/latest.json docs/next/product-announcement.json + git add README.md docs/versions website/latest.json website/src/content/docs website/src/data/config-reference.json docs/next/product-announcement.json git diff --cached --quiet || git commit -m "docs: update website manifest for v$VERSION" - git push origin master + for attempt in 1 2 3; do + git pull --rebase origin master + node website/scripts/docs-versions.mjs check + (cd website && bun install --frozen-lockfile && bun run build) + if git push origin master; then + exit 0 + fi + if [ "$attempt" -lt 3 ]; then + echo "master changed during release publishing; retrying ($attempt/3)" + sleep $((attempt * 2)) + fi + done + echo "failed to publish release documentation after 3 attempts" >&2 + exit 1 - name: Trigger website deploy env: |
