diff --git a/.github/workflows/gh-pages.yml b/.github/workflows/gh-pages.yml index c1bf4b24..05a443c9 100644 --- a/.github/workflows/gh-pages.yml +++ b/.github/workflows/gh-pages.yml @@ -2,34 +2,60 @@ name: Update GitHub Pages on: push: - tags: - - '**' + branches: ["master"] + +# Sets permissions of the GITHUB_TOKEN to allow deployment to GitHub Pages +permissions: + contents: read + pages: write + id-token: write + +# Allow only one concurrent deployment, skipping runs queued between the run in-progress and latest queued. +# However, do NOT cancel in-progress runs as we want to allow these production deployments to complete. +concurrency: + group: "pages" + cancel-in-progress: false jobs: - pages: - name: Update GitHub Pages + build: runs-on: ubuntu-latest - permissions: - contents: write steps: - - name: Checkout code from release - uses: actions/checkout@v4 - with: - fetch-depth: 0 - persist-credentials: false - path: release - - name: Checkout gh-pages branch + - name: Checkout uses: actions/checkout@v4 + - name: Setup Pages + uses: actions/configure-pages@v5 + - name: Prep docs + run: | + mkdir ./docs + cp ./README.md ./docs/index.md + echo 'title: node-mssql' > docs/_config.yml + echo 'description: Microsoft SQL Server client for Node.js' >> docs/_config.yml + echo 'google_analytics: UA-42442367-2' >> docs/_config.yml + echo 'show_downloads: true' >> docs/_config.yml + echo 'remote_theme: pages-themes/cayman@v0.2.0' >> docs/_config.yml + echo '' >> docs/_config.yml + echo 'plugins:' >> docs/_config.yml + echo ' - jekyll-remote-theme' >> docs/_config.yml + echo ' - jekyll-mentions' >> docs/_config.yml + - name: Build with Jekyll + uses: actions/jekyll-build-pages@v1 with: - fetch-depth: 0 - path: pages - ref: gh-pages - - name: Update gh-pages branch with latest docs + source: ./docs + destination: ./_site + - name: Cleanup docs run: | - cd "$GITHUB_WORKSPACE/pages" - cp "$GITHUB_WORKSPACE/release/README.md" ./index.md - git config user.name github-actions - git config user.email github-actions@github.com - git add . - git commit -m "docs: update docs for ${{ github.ref_name }}" - git push + rm ./_site/index.md + - name: Upload artifact + uses: actions/upload-pages-artifact@v3 + + # Deployment job + deploy: + environment: + name: github-pages + url: ${{ steps.deployment.outputs.page_url }} + runs-on: ubuntu-latest + needs: build + steps: + - name: Deploy to GitHub Pages + id: deployment + uses: actions/deploy-pages@v4