47 lines
1.5 KiB
YAML
47 lines
1.5 KiB
YAML
name: Build Notes Site
|
|
|
|
on:
|
|
push:
|
|
branches: [ main ]
|
|
|
|
jobs:
|
|
build:
|
|
runs-on: ubuntu-latest
|
|
container:
|
|
image: node:20-bookworm
|
|
|
|
steps:
|
|
# 1️⃣ Checkout repository
|
|
- uses: actions/checkout@v4
|
|
|
|
# 2️⃣ Install Docker CLI in container
|
|
- name: Install Docker CLI
|
|
run: |
|
|
apt-get update
|
|
apt-get install -y ca-certificates curl gnupg lsb-release
|
|
install -m 0755 -d /etc/apt/keyrings
|
|
curl -fsSL https://download.docker.com/linux/debian/gpg | gpg --dearmor -o /etc/apt/keyrings/docker.gpg
|
|
chmod a+r /etc/apt/keyrings/docker.gpg
|
|
echo \
|
|
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] \
|
|
https://download.docker.com/linux/debian $(lsb_release -cs) stable" | \
|
|
tee /etc/apt/sources.list.d/docker.list > /dev/null
|
|
apt-get update
|
|
apt-get install -y docker-ce-cli
|
|
|
|
- name: List repo files
|
|
run: ls -R "${{ github.workspace }}"
|
|
|
|
# 3️⃣ Build MkDocs into Docker volume
|
|
- name: Build MkDocs into notes_public volume
|
|
run: |
|
|
docker run --rm \
|
|
-v notes_public:/public \
|
|
-v "${{ github.workspace }}:/work" \
|
|
-w /work \
|
|
python:3.13-slim \
|
|
sh -c "python3 -m venv .venv && \
|
|
.venv/bin/pip install --upgrade pip && \
|
|
.venv/bin/pip install -r ci/mkdocs/requirements.txt && \
|
|
.venv/bin/mkdocs build --clean --site-dir /public"
|