mirror of https://github.com/grafana/grafana.git
71 lines
2.1 KiB
YAML
71 lines
2.1 KiB
YAML
name: Documentation
|
|
|
|
on:
|
|
pull_request:
|
|
paths:
|
|
- '*.md'
|
|
- 'docs/**'
|
|
- 'packages/**/*.md'
|
|
- 'latest.json'
|
|
push:
|
|
branches:
|
|
- main
|
|
paths:
|
|
- '*.md'
|
|
- 'docs/**'
|
|
- 'packages/**/*.md'
|
|
- 'latest.json'
|
|
|
|
permissions: {}
|
|
|
|
jobs:
|
|
docs:
|
|
# Run on `grafana/grafana` main branch, or on pull requests to prevent double-running on mirrors
|
|
if: (github.event_name == 'pull_request' || (github.event_name == 'push' && github.repository == 'grafana/grafana'))
|
|
name: Build & Verify Docs
|
|
runs-on: ubuntu-latest
|
|
|
|
permissions:
|
|
contents: read
|
|
|
|
steps:
|
|
- name: Checkout code
|
|
uses: actions/checkout@v4
|
|
with:
|
|
persist-credentials: false
|
|
|
|
- name: Setup Node.js
|
|
uses: actions/setup-node@v4
|
|
with:
|
|
node-version-file: '.nvmrc'
|
|
cache: 'yarn'
|
|
|
|
- name: Install dependencies
|
|
run: yarn install --immutable
|
|
|
|
- name: Lint docs
|
|
run: yarn run prettier:checkDocs
|
|
env:
|
|
# Increase memory for prettier due to large number of files
|
|
NODE_OPTIONS: --max_old_space_size=8192
|
|
|
|
- name: Build docs website
|
|
run: |
|
|
# Create and start a container from the docs-base image in detached mode
|
|
docker run -d --name docs-builder grafana/docs-base:latest tail -f /dev/null
|
|
|
|
# Create the directory structure inside the container
|
|
docker exec docs-builder mkdir -p /hugo/content/docs/grafana/latest
|
|
|
|
# Create the _index.md file
|
|
docker exec docs-builder /bin/sh -c "echo -e '---\nredirectURL: /docs/grafana/latest/\ntype: redirect\nversioned: true\n---\n' > /hugo/content/docs/grafana/_index.md"
|
|
|
|
# Copy the docs sources from the host to the container
|
|
docker cp docs/sources/. docs-builder:/hugo/content/docs/grafana/latest/
|
|
|
|
# Run the make prod command inside the container
|
|
docker exec -w /hugo docs-builder make prod || echo "Build completed with warnings"
|
|
|
|
# Clean up the container
|
|
docker rm -f docs-builder
|