mirror of
https://github.com/spiral-project/ihatemoney.git
synced 2025-04-28 17:32:38 +02:00
CI: Move lint and docs to separate action for readability
Currently, linting is done in one specific job of the big test Matrix, and it's very easy to overlook. But we want linting to be the first thing to fix. Also reorganize and rename jobs for readability. Finally, use python 3.11 for lint/docs because python 3.12 seems to break dev install.
This commit is contained in:
parent
4af4c10b1f
commit
1c5c8a375d
4 changed files with 55 additions and 10 deletions
4
.github/workflows/dockerhub.yml
vendored
4
.github/workflows/dockerhub.yml
vendored
|
@ -1,4 +1,4 @@
|
||||||
name: CI to Docker Hub
|
name: Docker build
|
||||||
|
|
||||||
on:
|
on:
|
||||||
push:
|
push:
|
||||||
|
@ -18,7 +18,7 @@ jobs:
|
||||||
- name: Test image # Checks we are able to run the container.
|
- name: Test image # Checks we are able to run the container.
|
||||||
run: docker compose -f docker-compose.test.yml run sut
|
run: docker compose -f docker-compose.test.yml run sut
|
||||||
|
|
||||||
build:
|
build_upload:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
needs: test
|
needs: test
|
||||||
if: github.event_name != 'pull_request'
|
if: github.event_name != 'pull_request'
|
||||||
|
|
42
.github/workflows/lint-docs.yml
vendored
Normal file
42
.github/workflows/lint-docs.yml
vendored
Normal file
|
@ -0,0 +1,42 @@
|
||||||
|
name: Lint & Docs
|
||||||
|
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
branches: [ 'master', 'stable-*' ]
|
||||||
|
pull_request:
|
||||||
|
branches: [ 'master', 'stable-*' ]
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
lint:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v3
|
||||||
|
- name: Set up Python
|
||||||
|
uses: actions/setup-python@v4
|
||||||
|
with:
|
||||||
|
python-version: "3.11"
|
||||||
|
cache: 'pip'
|
||||||
|
cache-dependency-path: '**/pyproject.toml'
|
||||||
|
- name: Install dependencies
|
||||||
|
run: |
|
||||||
|
python -m pip install --upgrade pip
|
||||||
|
python -m pip install tox
|
||||||
|
- name: Run Lint
|
||||||
|
run: tox -e lint
|
||||||
|
|
||||||
|
test_doc:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v3
|
||||||
|
- name: Set up Python
|
||||||
|
uses: actions/setup-python@v4
|
||||||
|
with:
|
||||||
|
python-version: "3.11"
|
||||||
|
cache: 'pip'
|
||||||
|
cache-dependency-path: '**/pyproject.toml'
|
||||||
|
- name: Install dependencies
|
||||||
|
run: |
|
||||||
|
python -m pip install --upgrade pip
|
||||||
|
python -m pip install tox
|
||||||
|
- name: Check we can generate documentation
|
||||||
|
run: tox -e docs
|
|
@ -1,4 +1,4 @@
|
||||||
name: Test & Docs
|
name: Unit tests
|
||||||
|
|
||||||
on:
|
on:
|
||||||
push:
|
push:
|
||||||
|
@ -7,7 +7,7 @@ on:
|
||||||
branches: [ 'master', 'stable-*' ]
|
branches: [ 'master', 'stable-*' ]
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
build:
|
test:
|
||||||
|
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
|
|
||||||
|
@ -101,6 +101,3 @@ jobs:
|
||||||
if: matrix.database == 'mariadb'
|
if: matrix.database == 'mariadb'
|
||||||
env:
|
env:
|
||||||
TESTING_SQLALCHEMY_DATABASE_URI: 'mysql+pymysql://root:ihatemoney@localhost:3306/ihatemoney_ci'
|
TESTING_SQLALCHEMY_DATABASE_URI: 'mysql+pymysql://root:ihatemoney@localhost:3306/ihatemoney_ci'
|
||||||
- name: Run Lint & Docs
|
|
||||||
run: tox -e lint_docs
|
|
||||||
if: matrix.python-version == '3.12'
|
|
12
tox.ini
12
tox.ini
|
@ -1,6 +1,6 @@
|
||||||
[tox]
|
[tox]
|
||||||
isolated_build = true
|
isolated_build = true
|
||||||
envlist = py312,py311,py310,py39,py38,py37,lint_docs
|
envlist = py312,py311,py310,py39,py38,py37,lint,docs
|
||||||
skip_missing_interpreters = True
|
skip_missing_interpreters = True
|
||||||
|
|
||||||
[testenv]
|
[testenv]
|
||||||
|
@ -16,15 +16,21 @@ deps =
|
||||||
# To be sure we are importing ihatemoney pkg from pip-installed version
|
# To be sure we are importing ihatemoney pkg from pip-installed version
|
||||||
changedir = /tmp
|
changedir = /tmp
|
||||||
|
|
||||||
[testenv:lint_docs]
|
[testenv:lint]
|
||||||
commands =
|
commands =
|
||||||
black --check --target-version=py37 .
|
black --check --target-version=py37 .
|
||||||
isort --check --profile black .
|
isort --check --profile black .
|
||||||
flake8 ihatemoney
|
flake8 ihatemoney
|
||||||
vermin --no-tips --violations -t=3.7- .
|
vermin --no-tips --violations -t=3.7- .
|
||||||
|
deps =
|
||||||
|
-e.[dev]
|
||||||
|
changedir = {toxinidir}
|
||||||
|
|
||||||
|
[testenv:docs]
|
||||||
|
commands =
|
||||||
sphinx-build -a -n -b html -d docs/_build/doctrees docs docs/_build/html
|
sphinx-build -a -n -b html -d docs/_build/doctrees docs docs/_build/html
|
||||||
deps =
|
deps =
|
||||||
-e.[dev,doc]
|
-e.[doc]
|
||||||
changedir = {toxinidir}
|
changedir = {toxinidir}
|
||||||
|
|
||||||
[flake8]
|
[flake8]
|
||||||
|
|
Loading…
Reference in a new issue