diff --git a/.github/workflows/docs.yml b/.github/workflows/docs.yml new file mode 100644 index 0000000..b57d81a --- /dev/null +++ b/.github/workflows/docs.yml @@ -0,0 +1,51 @@ +name: Publish docs via GitHub Pages +on: + push: + branches: + - master + tags: + - v* + +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@v5 + with: + python-version: 3.14 + + - 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" +