name: Publish docs via GitHub Pages on: push: branches: - master tags: - v* workflow_dispatch: inputs: set_default_alias: description: 'Alias to set as default (e.g. latest, master)' required: false default: 'latest' permissions: contents: write jobs: deploy: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 with: fetch-depth: 0 - 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@v6 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- - name: Install dependencies run: pip install mkdocs-material mike - name: Deploy (master) if: github.ref == 'refs/heads/master' run: | mike deploy --push --update-aliases master - name: Deploy (tag) if: startsWith(github.ref, 'refs/tags/v') run: | version=${GITHUB_REF#refs/tags/} mike deploy --push --update-aliases $version latest --title "$version" mike set-default --push latest - name: Set Default (Manual) if: github.event_name == 'workflow_dispatch' && github.event.inputs.set_default_alias != '' run: | mike set-default --push ${{ github.event.inputs.set_default_alias }}