From 8f003cd7b6fe962abe3f758e72b441c5c7d33153 Mon Sep 17 00:00:00 2001 From: Xunzhuo Date: Thu, 7 Dec 2023 11:34:51 +0800 Subject: [PATCH] feat: support docs preview (#2278) Signed-off-by: bitliu --- .github/workflows/docs.yaml | 49 ++++++++++++++++++++++++++++++++----- 1 file changed, 43 insertions(+), 6 deletions(-) diff --git a/.github/workflows/docs.yaml b/.github/workflows/docs.yaml index 7bda29e66a0..78757414ab9 100644 --- a/.github/workflows/docs.yaml +++ b/.github/workflows/docs.yaml @@ -6,12 +6,8 @@ on: - "release/v*" paths-ignore: - "**/*.png" - pull_request: - branches: - - "main" - - "release/v*" - paths-ignore: - - "**/*.png" + pull_request_target: + types: [opened, synchronize, reopened] jobs: docs-lint: @@ -19,6 +15,8 @@ jobs: steps: - name: Check out code uses: actions/checkout@v4 + with: + ref: ${{ github.event.pull_request.head.sha }} - name: Run markdown linter uses: nosborn/github-action-markdown-cli@v3.3.0 @@ -36,6 +34,7 @@ jobs: uses: actions/checkout@v4 with: submodules: true + ref: ${{ github.event.pull_request.head.sha }} - name: Setup Hugo uses: peaceiris/actions-hugo@v2 @@ -60,6 +59,44 @@ jobs: # Duration after which artifact will expire in days. # retention-days: # optional, default is 1 + docs-preview: + if: "github.event_name == 'pull_request_target'" + needs: docs-build + runs-on: ubuntu-22.04 + steps: + - name: Git checkout + uses: actions/checkout@v4 + with: + ref: ${{ github.event.pull_request.head.sha }} + - name: Setup Hugo + uses: peaceiris/actions-hugo@v2 + with: + hugo-version: 'latest' + extended: true + - name: Setup Node + uses: actions/setup-node@v4 + with: + node-version: '18' + - name: Install Site Dependencies and Build Site + run: make docs + - name: Deploy to Netlify + uses: nwtgck/actions-netlify@v2.0 + with: + publish-dir: 'site/public' + production-deploy: false + github-token: ${{ secrets.GITHUB_TOKEN }} + deploy-message: "Deploy from GitHub Actions" + alias: "${{ github.event.repository.name }}-pr-${{ github.event.pull_request.number }}-preview" + # these all default to 'true' + enable-pull-request-comment: true + enable-commit-comment: false + enable-commit-status: true + overwrites-pull-request-comment: true + env: + NETLIFY_AUTH_TOKEN: ${{ secrets.NETLIFY_AUTH_TOKEN }} + NETLIFY_SITE_ID: ${{ secrets.NETLIFY_SITE_ID }} + timeout-minutes: 1 + # This workflow contains a single job called "build" docs-publish: if: github.event_name == 'push'