diff --git a/.gitea/workflows/deploy.yaml b/.gitea/workflows/deploy.yaml index 2fbf21f..03a49d7 100644 --- a/.gitea/workflows/deploy.yaml +++ b/.gitea/workflows/deploy.yaml @@ -8,17 +8,36 @@ jobs: build: runs-on: ubuntu-latest container: - image: gitea/act_runner:latest + image: node:20-bookworm + steps: + # 1️⃣ Checkout repository - uses: actions/checkout@v4 - - name: Install Python + MkDocs + # 2️⃣ Install Docker CLI in container + - name: Install Docker CLI run: | apt-get update - apt-get install -y python3 python3-venv - python3 -m venv .venv - .venv/bin/pip install --upgrade pip - .venv/bin/pip install -r ci/mkdocs/requirements.txt + 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: Build site - run: .venv/bin/mkdocs build --clean --site-dir /public + # 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"