update doc requirements #patch #4
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: CI/CD | |
on: | |
push: | |
branches: | |
- main | |
pull_request: | |
branches: | |
- main | |
workflow_dispatch: | |
jobs: | |
build: | |
runs-on: shenron | |
steps: | |
- name: Check out code | |
uses: actions/checkout@v4 | |
- name: Set up Python | |
uses: actions/setup-python@v5 | |
with: | |
python-version: "3.12" | |
- name: Install dependencies | |
run: | | |
python -m pip install --upgrade pip | |
pip install pyscaffold | |
pip install tox | |
- name: Run tests and build docs | |
run: | | |
tox | |
tox -e docs | |
- name: Upload docs artifact | |
uses: actions/upload-artifact@v4 | |
with: | |
name: docs | |
path: ./docs/_build/html | |
deploy_docs: | |
runs-on: shenron | |
needs: build | |
if: github.ref == 'refs/heads/main' | |
env: | |
HOME: "${{ github.workspace }}/../" # Because self-hosted runner is root | |
steps: | |
- name: Check out code | |
uses: actions/checkout@v4 | |
- name: Download docs artifact | |
uses: actions/download-artifact@v4 | |
with: | |
name: docs | |
path: artifacts | |
- name: Deploy to GitHub Pages | |
uses: peaceiris/actions-gh-pages@v4 | |
with: | |
github_token: ${{ secrets.GH_TOKEN }} | |
publish_dir: ./artifacts | |
version_bump: | |
runs-on: shenron | |
needs: build | |
if: | | |
contains(github.event.head_commit.message, '#patch') || | |
contains(github.event.head_commit.message, '#minor') || | |
contains(github.event.head_commit.message, '#major') | |
steps: | |
- name: Check out code | |
uses: actions/checkout@v4 | |
- name: Bump version and push tag | |
uses: anothrNick/github-tag-action@v1 | |
env: | |
DEFAULT_BUMP: patch | |
GITHUB_TOKEN: ${{ secrets.GH_TOKEN }} | |
RELEASE_BRANCHES: main | |
publish: | |
runs-on: shenron | |
needs: [build, version_bump] | |
if: | | |
contains(github.event.head_commit.message, '#patch') || | |
contains(github.event.head_commit.message, '#minor') || | |
contains(github.event.head_commit.message, '#major') | |
steps: | |
- name: Check out code | |
uses: actions/checkout@v4 | |
- name: Publish to PyPI | |
env: | |
TWINE_USERNAME: __token__ | |
TWINE_PASSWORD: ${{ secrets.PYPI_TOKEN }} | |
run: | | |
python -m pip install --upgrade twine | |
twine upload dist/* |