diff options
| author | Ogulcan Celik <ogulcancelik@gmail.com> | 2026-07-22 14:58:26 +0300 |
|---|---|---|
| committer | Ogulcan Celik <ogulcancelik@gmail.com> | 2026-07-22 14:59:09 +0300 |
| commit | c234f221f9be698bc0501c60459e1ae8e67df6c3 (patch) | |
| tree | 944b4dec10fada8d93456dc5a85e6bfdb36a8b8b /.github/workflows | |
| parent | ef85fa0c7ebb48bb59fe7593af5a67f3e02ff3d4 (diff) | |
feat(docs): publish versioned release documentation
Diffstat (limited to '.github/workflows')
| -rw-r--r-- | .github/workflows/preview.yml | 14 | ||||
| -rw-r--r-- | .github/workflows/release.yml | 25 | ||||
| -rw-r--r-- | .github/workflows/website.yml | 47 |
3 files changed, 82 insertions, 4 deletions
diff --git a/.github/workflows/preview.yml b/.github/workflows/preview.yml index fabb2edc..370028fe 100644 --- a/.github/workflows/preview.yml +++ b/.github/workflows/preview.yml @@ -368,7 +368,19 @@ jobs: git config user.email "285672167+kangal-bot@users.noreply.github.com" git add website/preview.json git diff --cached --quiet || git commit -m "docs: update preview manifest" - git push "https://x-access-token:${KANGAL_GITHUB_TOKEN}@github.com/${GITHUB_REPOSITORY}.git" HEAD:master + remote="https://x-access-token:${KANGAL_GITHUB_TOKEN}@github.com/${GITHUB_REPOSITORY}.git" + for attempt in 1 2 3; do + git pull --rebase "$remote" master + if git push "$remote" HEAD:master; then + exit 0 + fi + if [ "$attempt" -lt 3 ]; then + echo "master changed during preview publishing; retrying ($attempt/3)" + sleep $((attempt * 2)) + fi + done + echo "failed to publish preview manifest after 3 attempts" >&2 + exit 1 - name: Mark preview-released issues continue-on-error: true 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: diff --git a/.github/workflows/website.yml b/.github/workflows/website.yml new file mode 100644 index 00000000..4cc922d8 --- /dev/null +++ b/.github/workflows/website.yml @@ -0,0 +1,47 @@ +name: Website + +on: + pull_request: + paths: + - ".github/workflows/website.yml" + - "website/**" + - "docs/next/website/**" + - "docs/versions/**" + - "scripts/test_preview.py" + push: + branches: [master] + paths: + - ".github/workflows/website.yml" + - "website/**" + - "docs/next/website/**" + - "docs/versions/**" + - "scripts/test_preview.py" + +permissions: + contents: read + +concurrency: + group: website-${{ github.event.pull_request.number || github.ref }} + cancel-in-progress: true + +jobs: + build: + runs-on: ubuntu-latest + timeout-minutes: 10 + steps: + - name: Checkout + uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6 + with: + fetch-depth: 0 + persist-credentials: false + + - name: Install Bun + uses: oven-sh/setup-bun@0c5077e51419868618aeaa5fe8019c62421857d6 # v2 + with: + bun-version: 1.3.14 + + - name: Validate version snapshots + run: node website/scripts/docs-versions.mjs check + + - name: Build website + run: cd website && bun install --frozen-lockfile && bun run build |
