name: Render PEPs on: [push, pull_request, workflow_dispatch] jobs: render-peps: name: Render PEPs runs-on: ubuntu-latest strategy: fail-fast: false matrix: python-version: ["3.x", "3.12-dev"] steps: - name: 🛎️ Checkout uses: actions/checkout@v3 with: fetch-depth: 0 # fetch all history so that last modified date-times are accurate - name: 🐍 Set up Python ${{ matrix.python-version }} uses: actions/setup-python@v4 with: python-version: ${{ matrix.python-version }} cache: pip - name: 👷‍ Install dependencies run: | python -m pip install --upgrade pip - name: 🔧 Render PEPs run: make dirhtml JOBS=$(nproc) # remove the .doctrees folder when building for deployment as it takes two thirds of disk space - name: 🔥 Clean up files run: rm -r build/.doctrees/ - name: 🚀 Deploy to GitHub pages # This allows CI to build branches for testing if: (github.ref == 'refs/heads/main') && (matrix.python-version == '3.x') uses: JamesIves/github-pages-deploy-action@v4 with: folder: build # Synchronise with build.py -> build_directory single-commit: true # Delete existing files - name: ♻️ Purge CDN cache if: github.ref == 'refs/heads/main' run: | curl -H "Accept: application/json" -H "Fastly-Key: $FASTLY_TOKEN" -X POST "https://api.fastly.com/service/$FASTLY_SERVICE_ID/purge_all" env: FASTLY_TOKEN: ${{ secrets.FASTLY_TOKEN }} FASTLY_SERVICE_ID: ${{ secrets.FASTLY_SERVICE_ID }}