refactor: Mangage source in src directory #50
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: 'Run CI jobs' | |
on: | |
push: | |
branches: | |
- '**' | |
tags-ignore: | |
- '**' | |
pull_request: | |
workflow_dispatch: | |
jobs: | |
lint: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: actions/setup-python@v5 | |
with: | |
python-version-file: '.python-version' | |
- name: Lint by pre-commit | |
run: | | |
pip install pre-commit | |
pre-commit run --all-files | |
source-test: | |
runs-on: ubuntu-latest | |
strategy: | |
matrix: | |
python-version: ['3.8', '3.9', '3.10', '3.11', '3.12'] | |
sphinx-version: ['6.*', '7.*', '7.1.*', '7.2.*'] | |
exclude: | |
- python-version: '3.8' | |
sphinx-version: '7.2.*' | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: actions/setup-python@v5 | |
with: | |
python-version: ${{ matrix.python-version }} | |
- uses: volta-cli/action@v4 | |
- name: Build static files | |
run: | | |
npm i | |
npm run build | |
- name: Configure venv | |
run: | | |
pip install uv | |
uv venv | |
uv pip install -r requirements-dev.lock | |
uv pip install 'sphinx==${{ matrix.sphinx-version }}' | |
- name: Run tests | |
run: | | |
source .venv/bin/activate | |
playwright install firefox | |
pytest | |
doc-test: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: actions/setup-python@v5 | |
with: | |
python-version-file: '.python-version' | |
- name: Configure venv | |
run: | | |
pip install uv | |
uv venv | |
uv pip install -r requirements-dev.lock | |
- name: Run tests | |
run: | | |
source .venv/bin/activate | |
make -C doc linkcheck dirhtml | |
build-test: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: actions/setup-python@v5 | |
with: | |
python-version-file: '.python-version' | |
- uses: volta-cli/action@v4 | |
- name: Build package | |
run: | | |
npm i | |
npm run build | |
pip install hatch | |
hatch build | |
ls -l dist |