More CI optimization: run tests only once, run pylint/mypy/tests in parallel with make

This commit is contained in:
Ian McEwen
2026-07-22 12:14:24 -07:00
parent a509bca86d
commit 3f62c099ae
2 changed files with 16 additions and 9 deletions

View File

@@ -61,15 +61,8 @@ jobs:
run: |
poetry install --all-extras --with dev,powermon
poetry run meshtastic --version
- name: Run pylint
run: poetry run pylint meshtastic examples/ --ignore-patterns ".*_pb2.pyi?$"
- name: Check types with mypy
run: poetry run mypy meshtastic/
- name: Run tests with pytest
run: poetry run pytest --cov=meshtastic
- name: Generate coverage report
run: |
poetry run pytest --cov=meshtastic --cov-report=xml
- name: Run lint, type check, and tests in parallel
run: make -j3 --output-sync=target ci
- name: Upload coverage to Codecov
uses: codecov/codecov-action@v4
with:

View File

@@ -42,5 +42,19 @@ cov:
examples: FORCE
pytest -mexamples
# CI targets (run via poetry, executed in parallel by the CI workflow)
.PHONY: ci-pylint ci-mypy ci-test ci
ci-pylint:
poetry run pylint meshtastic examples/ --ignore-patterns ".*_pb2.pyi?$$"
ci-mypy:
poetry run mypy meshtastic/
ci-test:
poetry run pytest --cov=meshtastic --cov-report=xml
ci: ci-pylint ci-mypy ci-test
# Makefile hack to get the examples to always run
FORCE: ;