Skip to content

ci: publish review docs #24

ci: publish review docs

ci: publish review docs #24

Workflow file for this run

name: Publish docs
on:
push:
permissions:
contents: read
pages: write
id-token: write
concurrency:
group: "pages"
cancel-in-progress: false
jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Checkout ⬇️
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Setup Node 🎛️
uses: actions/setup-node@v4
with:
node-version: 20
cache: "yarn"
registry-url: "https://registry.npmjs.org"
- name: Yarn Install 📦️
run: yarn install --immutable
- name: Setup NX 1/2 🎛️
uses: nrwl/nx-set-shas@v4
- name: Setup NX 2/2 🎛
if: github.ref != 'refs/heads/main'
run: git branch --track main origin/main
- name: Build 🔨
run: yarn build
- name: Configure GitHub pages ⚙️
uses: actions/configure-pages@v4
with:
static_site_generator: next
- name: Upload artifact ⬆️
uses: actions/upload-pages-artifact@v3
with:
path: packages/docs/out
deploy:
if: github.ref == 'refs/heads/main'
environment:
name: github-pages
url: ${{ steps.deployment.outputs.page_url }}
runs-on: ubuntu-latest
needs: build
steps:
- name: Publish to GitHub Pages 🚀
id: deployment
uses: actions/deploy-pages@v4
deploy-preview:
if: github.ref != 'refs/heads/main'
environment:
name: github-pages-preview
url: https://mittwald.github.io/flow-previews/${{ github.ref_name }}
runs-on: ubuntu-latest
needs: build
steps:
- name: Download the artifact ⬇️
uses: actions/download-artifact@v3
with:
name: github-pages
path: docs
- name: Upload files to GitHub Pages 🚀
uses: cpina/github-action-push-to-another-repository@v1
env:
API_TOKEN_GITHUB: ${{ secrets.PUBLISH_PAT }}
with:
source-directory: "docs"
destination-github-username: "mittwald-machine"
destination-repository-name: "flow-previews"
target-branch: master
target-directory: "docs/${{ github.ref_name }}"
- name: Output the URL
run: echo "${{ job.environment.url }}"
comment-on-pull-request:
runs-on: ubuntu-latest
permissions:
pull-requests: write
# Only run if a comment was not already made
if:
${{ github.event_name == 'pull_request' && github.event.action == 'opened'
&& !contains(github.event.pull_request.body, 'A [live preview]') }}
steps:
- uses: actions/github-script@v5
with:
script: |
github.rest.issues.createComment({
issue_number: context.issue.number,
owner: context.repo.owner,
repo: context.repo.repo,
body: 'A [live preview](${{ job.environment.url }}) is being deployed!<br><br>Please note that it may take a few seconds for GitHub Pages to build and deploy.'
})