modular-avatar/.github/workflows/build-test-docs.yml

91 lines
2.5 KiB
YAML
Raw Normal View History

name: Build documentation
2022-09-09 11:52:06 +08:00
on:
push:
branches:
- refactor-structure
2022-09-10 08:18:35 +08:00
pull_request:
workflow_call:
2023-03-25 13:22:48 +08:00
inputs:
ref:
description: 'commit to build'
type: string
required: false
path:
description: 'path within the docs pages to build to'
type: string
required: false
artifact:
description: 'artifact name to write'
type: string
required: false
latest:
description: 'build the latest release'
type: boolean
required: false
2022-09-09 11:52:06 +08:00
jobs:
2022-09-10 08:18:35 +08:00
build-docs:
name: Build documentation
2022-09-09 11:52:06 +08:00
runs-on: ubuntu-latest
steps:
- uses: actions/setup-node@v4
2022-09-09 11:52:06 +08:00
with:
node-version: 18
- uses: actions/checkout@v4
2023-03-25 13:22:48 +08:00
with:
ref: ${{ inputs.ref || github.ref }}
- uses: actions/checkout@v4
2022-10-23 03:42:02 +08:00
with:
repository: bdunderscore/modular-avatar-images
path: modular-avatar-images
- name: Install logo assets
run: |
cp -Rv modular-avatar-images/img/* docs~/static/img
2023-02-17 20:03:57 +08:00
- name: Setup yarn 2.0
run: |
corepack enable
corepack prepare yarn@stable --activate
- name: Get yarn cache directory path
id: yarn-cache-dir-path
run: echo "dir=$(cd docs~; yarn config get cacheFolder)" >> $GITHUB_OUTPUT
2023-02-17 20:03:57 +08:00
- uses: actions/cache@v4
2023-02-17 20:03:57 +08:00
id: yarn-cache # use this to check for `cache-hit` (`steps.yarn-cache.outputs.cache-hit != 'true'`)
with:
path: ${{ steps.yarn-cache-dir-path.outputs.dir }}
key: ${{ runner.os }}-yarn-docs-${{ hashFiles('**/yarn.lock') }}
2023-02-17 20:03:57 +08:00
restore-keys: |
${{ runner.os }}-yarn-docs-
2023-02-17 20:03:57 +08:00
2023-03-25 13:22:48 +08:00
- name: Set baseUri
if: ${{ inputs.path }}
2023-03-25 13:22:48 +08:00
run: |
BASEURL="/${{ inputs.path }}/" perl -i -p -e "s{baseUrl: '/'}{baseUrl: '\$ENV{BASEURL}'}" docs~/docusaurus.config.js
cat docs~/docusaurus.config.js
2022-09-09 11:52:06 +08:00
- name: Build docs
run: |
cd docs~
2023-02-17 20:03:57 +08:00
yarn install --immutable
2022-09-10 08:24:37 +08:00
yarn build
2023-03-25 13:22:48 +08:00
ls -lR build
2022-09-10 08:18:35 +08:00
2023-03-25 14:12:20 +08:00
- name: Set robots.txt
run: |
if [ -e docs~/robots.txt ]; then
cp docs~/robots.txt docs~/build/robots.txt
2023-03-25 14:12:20 +08:00
fi
- name: Package documentation
run: |
tar -cf docs.tar -C docs~/build .
2023-03-25 14:12:20 +08:00
2022-09-10 08:18:35 +08:00
- name: Upload artifact
uses: actions/upload-artifact@v4
2022-09-10 08:18:35 +08:00
with:
2023-03-25 13:22:48 +08:00
name: ${{ inputs.artifact || 'docs' }}
path: docs.tar