diff --git a/.github/workflows/publish-docs.yml b/.github/workflows/publish-docs-main.yml similarity index 89% rename from .github/workflows/publish-docs.yml rename to .github/workflows/publish-docs-main.yml index 1380fa3..3fd9cb8 100644 --- a/.github/workflows/publish-docs.yml +++ b/.github/workflows/publish-docs-main.yml @@ -31,4 +31,4 @@ jobs: run: | git config --global user.name "GitHub Actions Bot" git config --global user.email "github-actions[bot]@users.noreply.github.com" - poetry run mike deploy --push --force --message "Deployed by GitHub Actions" main + poetry run mike deploy --push --message "Deployed by GitHub Actions" main diff --git a/.github/workflows/publish-docs-release.yml b/.github/workflows/publish-docs-release.yml new file mode 100644 index 0000000..cb8cf9a --- /dev/null +++ b/.github/workflows/publish-docs-release.yml @@ -0,0 +1,45 @@ +name: Publish MkDocs on Release + +on: + release: + types: + - published + +jobs: + deploy: + runs-on: ubuntu-latest + steps: + - name: Checkout repository + uses: actions/checkout@v3 + with: + fetch-depth: 0 + + - name: Set up Python + uses: actions/setup-python@v4 + with: + python-version: 3.9 + + - name: Install dependencies + run: | + python3 -m pip install --upgrade pip + pip install poetry + poetry install --with=docs + + - name: Extract Major and Minor Version + run: | + VERSION_TAG=${{ github.event.release.tag_name }} + VERSION_TAG="${VERSION_TAG#v}" # Remove 'v' prefix if present + MAJOR="${VERSION_TAG%%.*}" + MINOR="${VERSION_TAG#*.}" + MINOR="${MINOR%%.*}" + MAJOR_MINOR_VERSION="${MAJOR}.${MINOR}" + echo "MAJOR_MINOR_VERSION=${MAJOR_MINOR_VERSION}" >> $GITHUB_ENV + + - name: Deploy Updated Docs + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + run: | + git config user.name "GitHub Actions" + git config user.email "actions@github.com" + poetry run mike deploy --push --message "Deploy docs for release ${{ github.event.release.tag_name }}" --update-alias $MAJOR_MINOR_VERSION latest + poetry run mike set-default --push latest