diff --git a/.github/workflows/build-and-publish-docs.yml b/.github/workflows/build-and-publish-docs.yml new file mode 100644 index 0000000..decb148 --- /dev/null +++ b/.github/workflows/build-and-publish-docs.yml @@ -0,0 +1,57 @@ +name: Build and Deploy Documentation + +on: + push: + branches: + - main + - qy/create-docs + +permissions: + contents: write + +jobs: + build-and-deploy: + runs-on: ubuntu-latest + + steps: + # Checkout the repository + - name: Checkout Code + uses: actions/checkout@v4 + + # Configure Git credentials + - name: Configure Git Credentials + run: | + git config user.name "github-actions[bot]" + git config user.email "41898282+github-actions[bot]@users.noreply.github.com" + + # Set up Python + - name: Set up Python + uses: actions/setup-python@v5 + with: + python-version: "3.x" + + # Generate cache ID + - name: Set Cache ID + run: echo "cache_id=$(date --utc '+%V')" >> $GITHUB_ENV + + # Cache Python dependencies + - name: Cache Python Dependencies + uses: actions/cache@v4 + with: + key: mkdocs-material-${{ env.cache_id }} + path: .cache + restore-keys: | + mkdocs-material- + + # Install MkDocs and Plugins, Deploy Documentation + - name: Install Dependencies and Deploy Docs + run: | + pip install mkdocs-material \ + mkdocs-git-revision-date-localized-plugin \ + mkdocs-git-committers-plugin-2 \ + mkdocs-autorefs \ + mkdocstrings[python] \ + markdown-exec + mkdocs gh-deploy --force + env: + MKDOCS_GIT_COMMITTERS_APIKEY: ${{ secrets.MKDOCS_GIT_COMMITTERS_APIKEY }}