name: docs on: push: branches: [main] paths: - 'docs/**' - 'mkdocs.yaml' - '.github/workflows/docs.yml' pull_request: paths: - 'docs/**' - 'mkdocs.yaml' - '.github/workflows/docs.yml' workflow_dispatch: concurrency: group: github-pages cancel-in-progress: false jobs: build: runs-on: ubuntu-latest steps: - uses: actions/checkout@v6 - uses: actions/setup-python@v6 with: python-version: "3.x" - name: Install docs dependencies run: | python -m pip install --upgrade pip python -m pip install -r docs/requirements.txt - name: Build documentation run: python -m mkdocs build --strict --config-file mkdocs.yaml - name: Upload Pages artifact uses: actions/upload-pages-artifact@v3 with: path: site deploy: if: github.event_name == 'push' && github.repository == 'verified-software-lab/civl' needs: build runs-on: ubuntu-latest permissions: pages: write id-token: write environment: name: github-pages url: ${{ steps.deployment.outputs.page_url }} steps: - name: Deploy to GitHub Pages id: deployment uses: actions/deploy-pages@v5