Skip to content

deploy docs to dj-stripe.github.io #184

deploy docs to dj-stripe.github.io

deploy docs to dj-stripe.github.io #184

Workflow file for this run

name: Build and deploy docs
on:
push:
branches:
- "master"
# Push events to branches matching "stable/*"
- "stable/*"
workflow_dispatch: # to trigger manually
env:
POETRY_VERSION: "1.2.2"
POETRY_VIRTUALENVS_IN_PROJECT: "1"
LATEST_STABLE_BRANCH: "stable/2.7"
DOCS_REPO: "dj-stripe.github.io"
OWNER: "dj-stripe" # if you forked the repo, change this to your gh username
SOURCE_REPO: "dj-stripe"
jobs:
deploy:
runs-on: ubuntu-latest
steps:
- name: Checkout source repo
uses: actions/checkout@v4
- name: Checkout documentation repo
uses: actions/checkout@v4
with:
repository: "${{ env.OWNER }}/${{ env.DOCS_REPO }}"
path: ./${{ env.DOCS_REPO }}
token: ${{ secrets.GH_PAT }} # Token needed to push site to gh-pages branch
- uses: ./.github/install_poetry_action
with:
POETRY_VERSION: ${{ env.POETRY_VERSION }}
python_version: "3.12"
- name: Copy docs and configuration from source to documentation repo
run: |
cp -r pyproject.toml mkdocs.yml docs tests ${{ env.DOCS_REPO }}/
cd ${{ env.DOCS_REPO }}
sed -i 's|name = "dj-stripe"|name = "dj-stripe-docs"|' pyproject.toml
sed -i 's|include = "djstripe"|include = "../djstripe"|' pyproject.toml
poetry add ../../dj-stripe
- name: Install dependencies
run: |
cd ${{ env.DOCS_REPO }}
poetry install --with docs
- name: Configure git user to make commit
run: |
git config --global user.name "dj-stripe commit bot"
git config --global user.email "admin@djstripe.dev"
- name: Fetch gh-pages remote changes (if any)
run: |
cd ${{ env.DOCS_REPO }}
git fetch origin gh-pages --depth=1
- name: Deploy (and Update) docs for the branch, ${GITHUB_REF##*/}
run: |
cd ${{ env.DOCS_REPO }}
poetry run mike deploy --push "${GITHUB_REF##*/}"
- name: Set default docs to ${LATEST_STABLE_BRANCH##*/}
run: |
cd ${{ env.DOCS_REPO }}
poetry run mike set-default --push "${LATEST_STABLE_BRANCH##*/}"