Skip to content

Remove line not used (#289) #2

Remove line not used (#289)

Remove line not used (#289) #2

Workflow file for this run

name: Publish Documentation
on:
push:
branches:
- main
- docs-update
tags:
- '**'
env:
COLUMNS: 150
PDM_DEPS: 'urllib3<2'
jobs:
lint:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
with:
python-version: '3.11'
- uses: actions/setup-node@v4
with:
node-version: 18
- run: pip install -r src/python-fastui/requirements/all.txt
- run: pip install src/python-fastui
- run: npm install
- uses: pre-commit/[email protected]
with:
extra_args: --all-files
env:
SKIP: no-commit-to-branch
test:
name: test ${{ matrix.python-version }} on ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os: [ubuntu-latest, macos-13, macos-latest]
python-version: ['3.8', '3.9', '3.10', '3.11', '3.12']
exclude:
# Python 3.8 and 3.9 are not available on macOS 14
- os: macos-13
python-version: '3.10'
- os: macos-13
python-version: '3.11'
- os: macos-13
python-version: '3.12'
- os: macos-latest
python-version: '3.8'
- os: macos-latest
python-version: '3.9'
runs-on: ${{ matrix.os }}
env:
PYTHON: ${{ matrix.python-version }}
OS: ${{ matrix.os }}
steps:
- uses: actions/checkout@v4
- name: set up python
uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python-version }}
- run: pip install -r src/python-fastui/requirements/test.txt
- run: pip install -r src/python-fastui/requirements/pyproject.txt
- run: pip install -e src/python-fastui
- run: coverage run -m pytest src
# display coverage and fail if it's below 80%, which shouldn't happen
- run: coverage report --fail-under=80
# test demo on 3.11 and 3.12, these tests are intentionally omitted from coverage
- if: matrix.python-version == '3.11' || matrix.python-version == '3.12'
run: pytest demo/tests.py
- run: coverage xml
- uses: codecov/codecov-action@v4
with:
file: ./coverage.xml
env_vars: PYTHON,OS
publish:
# Compare with the docs-build job in .github/workflows/ci.yml
needs: [lint, test]
runs-on: ubuntu-latest
timeout-minutes: 30
steps:
- name: checkout docs-site
uses: actions/checkout@v4
with:
ref: docs-site
- name: checkout current branch
uses: actions/checkout@v4
- uses: actions/setup-python@v4
with:
python-version: '3.11'
- name: install
run: |
pip install --upgrade pip
pip install -r requirements/docs.txt
pip install --extra-index-url https://pydantic:${PPPR_TOKEN}@pppr.pydantic.dev/simple/ mkdocs-material mkdocstrings-python griffe-typedoc mkdocstrings-typescript
npm install
npm install -g typedoc
env:
PPPR_TOKEN: ${{ secrets.PPPR_TOKEN }}
- name: Set git credentials
run: |
git config --global user.name "${{ github.actor }}"
git config --global user.email "${{ github.actor }}@users.noreply.github.com"
- run: mike deploy -b docs-site dev --push
if: "github.ref == 'refs/heads/main'"
- if: "github.ref == 'refs/heads/docs-update' || startsWith(github.ref, 'refs/tags/')"
id: check-version
uses: samuelcolvin/[email protected]
with:
version_file_path: 'src/python-fastui/fastui/__init__.py'
skip_env_check: true
- run: mike deploy -b docs-site ${{ steps.check-version.outputs.VERSION_MAJOR_MINOR }} latest --update-aliases --push
if: "(github.ref == 'refs/heads/docs-update' || startsWith(github.ref, 'refs/tags/')) && !fromJSON(steps.check-version.outputs.IS_PRERELEASE)"
env:
FASTUI_VERSION: v${{ steps.check-version.outputs.VERSION }}