name: Build Documentation on: push: branches: - main jobs: build: runs-on: ubuntu-latest container: catthehacker/ubuntu:act-latest steps: - name: Checkout repository uses: actions/checkout@v6 - name: Install Node.js uses: actions/setup-node@v4 with: node-version: "latest" - name: Install uv uses: https://github.com/astral-sh/setup-uv@v7 with: enable-cache: true - name: Build documentation run: uv run zensical build - name: Upload site artifact uses: forgejo/upload-artifact@v4 with: name: docs.zip path: site/ retention-days: 30 docker: runs-on: ubuntu-latest needs: build container: catthehacker/ubuntu:act-latest steps: - name: Checkout repository uses: actions/checkout@v6 - name: Download site artifact uses: forgejo/download-artifact@v4 with: name: docs.zip path: site/ - name: Log in to Container Registry uses: docker/login-action@v3 with: registry: ${{ vars.CONTAINER_REGISTRY }} username: ${{ secrets.CONTAINER_REGISTRY_USERNAME }} password: ${{ secrets.CONTAINER_REGISTRY_TOKEN }} - name: Build and push Docker image uses: docker/build-push-action@v6 with: context: . push: true tags: ${{ vars.CONTAINER_REGISTRY }}/servala/documentation:latest