Files
notes/.gitea/workflows/deploy.yaml
Jay 4ba1f4be21
Some checks failed
Build Notes Site / build (push) Failing after 21s
rename
2026-03-03 11:19:06 +00:00

62 lines
2.0 KiB
YAML
Raw Blame History

This file contains invisible Unicode characters
This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
name: Build Notes Site
on:
push:
branches: [ main ]
jobs:
build:
runs-on: ubuntu-latest
container:
image: node:20-bookworm # Node for checkout
steps:
# 1⃣ Checkout repository
- uses: actions/checkout@v4
# 2⃣ Install Python for MkDocs build
- name: Install Python
run: |
apt-get update
apt-get install -y python3 python3-venv python3-pip
# 3⃣ List repo files (debug)
- name: List repo files
run: ls -R "${{ github.workspace }}"
# 4⃣ Build MkDocs site locally
- name: Build MkDocs site
run: |
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 site_output
# 5⃣ Install Docker CLI so we can copy to volume
- 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
# 6⃣ Copy the site output into notes_public Docker volume
- name: Copy site to notes_public volume
run: |
docker run --rm \
-v notes_public:/public \
-v "${{ github.workspace }}/site_output:/tmp/site" \
alpine sh -c "cp -r /tmp/site/* /public/"
# 7⃣ Optional: Verify files in volume
- name: List notes_public volume
run: |
docker run --rm -v notes_public:/data alpine ls -la /data