name: Build and Deploy Docs on: push: branches: - master jobs: build: name: Deploy docs runs-on: ubuntu-latest concurrency: group: ${{ github.workflow }}-${{ github.ref }} cancel-in-progress: true steps: - name: Checkout repository uses: actions/checkout@v4.1.6 with: fetch-depth: 0 sparse-checkout: | docs images includes overrides - name: Setup python uses: actions/setup-python@v5.4.0 with: python-version: 3.x - name: Get pip cache directory id: pip-cache run: | echo "dir=$(pip cache dir)" >> $GITHUB_OUTPUT - name: Cache dependencies uses: actions/cache@v4.2.0 with: path: ${{ steps.pip-cache.outputs.dir }} key: ${{ runner.os }}-pip-${{ hashFiles('**/requirements.txt') }} restore-keys: | ${{ runner.os }}-pip- - name: Install dependencies run: pip install -r docs/requirements.txt - name: Build mkdocs run: | mkdocs build --clean mkdocs --version - name: Publish to Cloudflare Pages if: github.event_name == 'push' && contains(fromJson('["refs/heads/master", "refs/heads/main"]'), github.ref) id: cloudflare uses: cloudflare/wrangler-action@v3 with: apiToken: ${{ secrets.CF_API_TOKEN }} accountId: ${{ secrets.CF_ACCOUNT_ID }} command: > pages deploy site --project-name=trash-guides --branch=master --commit-hash=${{ github.sha }}