name: Docs on: push: tags: ["v*.*.*"] branches: ["main"] paths: - "docs/**" - "mkdocs.yml" pull_request: paths: - "docs/**" - "mkdocs.yml" merge_group: workflow_dispatch: permissions: contents: write jobs: pre-commit: name: Linting Checks runs-on: ubuntu-22.04 steps: - name: Checkout repository uses: actions/checkout@v4 - name: Install python uses: actions/setup-python@v5 with: python-version: 3.x - name: Check files uses: pre-commit/action@v3.0.1 test: name: Test Build if: github.repository == 'gethomepage/homepage' && github.event_name == 'pull_request' runs-on: ubuntu-latest needs: - pre-commit steps: - uses: actions/checkout@v4 - uses: actions/setup-python@v5 with: python-version: 3.x - run: echo "cache_id=$(date --utc '+%V')" >> $GITHUB_ENV - uses: actions/cache@v4 with: key: mkdocs-material-${{ env.cache_id }} path: .cache restore-keys: | mkdocs-material- - run: sudo apt-get install pngquant - run: pip install mkdocs-material mkdocs-redirects "mkdocs-material[imaging]" - name: Test Docs Build run: MKINSIDERS=false mkdocs build deploy: name: Build & Deploy if: github.repository == 'gethomepage/homepage' && github.event_name != 'pull_request' runs-on: ubuntu-latest needs: - pre-commit steps: - uses: actions/checkout@v4 - name: Configure Git Credentials run: | git config user.name github-actions[bot] git config user.email 41898282+github-actions[bot]@users.noreply.github.com - uses: actions/setup-python@v5 with: python-version: 3.x - run: echo "cache_id=${{github.sha}}" >> $GITHUB_ENV - uses: actions/cache@v4 with: key: mkdocs-material-${{ env.cache_id }} path: .cache restore-keys: | mkdocs-material- - run: sudo apt-get install pngquant - run: pip install git+https://${GH_TOKEN}@github.com/benphelps/mkdocs-material-insiders.git - run: pip install mkdocs-redirects "mkdocs-material[imaging]" - name: Docs Deploy run: MKINSIDERS=true mkdocs gh-deploy --force env: GH_TOKEN: ${{ secrets.GH_TOKEN }}