Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
86 changes: 34 additions & 52 deletions .github/workflows/docs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,15 @@ on:
pull_request:
paths:
- 'docs/**'
# A change to this workflow should be exercised by this workflow.
- '.github/workflows/docs.yml'

concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
# Only the newest push to a pull request is worth previewing. Pushes to main are never
# cancelled, so a publish cannot be interrupted by the next docs merge.
cancel-in-progress: ${{ github.event_name == 'pull_request' }}
Comment thread
ppawlowski marked this conversation as resolved.

jobs:
test:
runs-on: ubuntu-latest
Expand All @@ -22,62 +31,35 @@ jobs:
run: npm ci
- name: Test Documentation Links
run: npm run test:docs
test-with-website:
runs-on: ubuntu-latest
name: Test Documentation with website
steps:
- name: Checkout
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
with:
path: 'flowfuse'
- name: Check out website repository
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
with:
repository: 'FlowFuse/website'
path: 'website'
- name: Generate a token
id: generate_token
uses: actions/create-github-app-token@bcd2ba49218906704ab6c1aa796996da409d3eb1 # v3.2.0
with:
app-id: ${{ secrets.GH_BOT_APP_ID }}
private-key: ${{ secrets.GH_BOT_APP_KEY }}
owner: ${{ github.repository_owner }}
repositories: blueprint-library
- name: Check out FlowFuse/blueprint-library repository (to access the blueprints)
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
with:
repository: 'FlowFuse/blueprint-library'
ref: main
path: 'blueprint-library'
token: ${{ steps.generate_token.outputs.token }}
- name: Cache image pipeline output
uses: actions/cache@55cc8345863c7cc4c66a329aec7e433d2d1c52a9 # v6.1.0
with:
key: img-pipeline-cache
path: website/_site/img
- uses: actions/setup-node@820762786026740c76f36085b0efc47a31fe5020 # v7.0.0
with:
cache: 'npm'
cache-dependency-path: './website/package-lock.json'
- run: npm run docs
working-directory: 'website'
- run: npm run blueprints
working-directory: 'website'
- name: Install Dependencies
run: npm install
working-directory: 'website'
- name: Build the forge
run: npm run build:nuxt:skip-images
working-directory: 'website'
- uses: untitaker/hyperlink@9375bc4063712ad490d5eb3d54df0b6aade15e54 # 0.3.2
with:
args: website/nuxt/dist/ --check-anchors --sources website/src
# The build lives in FlowFuse/github-actions-workflows so this repository does not carry a
# second copy of it, and FlowFuse/website's own CI calls the same definition. The release
# job there moves build_website/v1 on each release, so build changes are picked up here.
website:
name: Build the website with these docs
permissions:
contents: read
deployments: write
pull-requests: write
uses: FlowFuse/github-actions-workflows/.github/workflows/build_website.yml@build_website/v1
with:
docs_repository: ${{ github.repository }}
docs_ref: ${{ github.sha }}
# Pull requests from forks receive no secrets, so they get the build and the link
# check without an upload.
deploy_preview: ${{ github.event_name == 'pull_request' && github.event.pull_request.head.repo.full_name == github.repository }}
preview_alias: docs-pr-${{ github.event.pull_request.number }}
pr_number: ${{ github.event.pull_request.number || 0 }}
secrets:
ci_app_id: ${{ secrets.GH_BOT_APP_ID }}
ci_app_key: ${{ secrets.GH_BOT_APP_KEY }}
netlify_auth_token: ${{ secrets.NETLIFY_AUTH_TOKEN }}
netlify_site_id: ${{ secrets.NETLIFY_SITE_ID }}
publish:
if: github.ref == 'refs/heads/main'
runs-on: ubuntu-latest
needs:
- test
- test-with-website
- website
name: Publish Documentation
steps:
- name: Generate token
Expand All @@ -88,7 +70,7 @@ jobs:
private-key: ${{ secrets.GH_BOT_APP_KEY }}
owner: ${{ github.repository_owner }}
repositories: website

- name: Trigger website rebuild
uses: benc-uk/workflow-dispatch@31e2b3319479a63f0ab15bf800eff9e913504e26 # v1.3.2
with:
Expand Down
Loading