Run all toplevel makefile targets through Poetry

This commit is contained in:
Arjan Molenaar 2020-10-17 16:33:39 +02:00
parent 0772bbddb5
commit 076643c366
2 changed files with 22 additions and 21 deletions

View File

@ -42,17 +42,13 @@ jobs:
sudo apt-get update -q && sudo apt-get install
--no-install-recommends -y xvfb python3-dev python3-gi
python3-gi-cairo gir1.2-gtk-3.0 libgirepository1.0-dev libcairo2-dev
# - name: Install Poetry
# uses: dschep/install-poetry-action@v1.3
# with:
# version: 1.0.3
- name: Install Poetry
run: pip install poetry==1.1.3
- name: Collect Metadata
id: meta
run: .github/scripts/metadata.sh
- name: Install Python Dependencies
run: |
pip install poetry==1.0.10
poetry install
run: poetry install
- name: Test with Pytest
run: xvfb-run poetry run pytest --cov=gaphor/
- name: Code Climate Coverage Action
@ -62,8 +58,7 @@ jobs:
with:
coverageCommand: poetry run coverage xml
- name: Build
run: |
make dist
run: make dist
- name: Upload gaphor-${{ steps.meta.outputs.version }}.tar.gz
uses: actions/upload-artifact@v2
with:

View File

@ -3,33 +3,39 @@ help: ## Show this help
@echo "make <target>, where <target> is one of:"
@grep -hP "\t##" $(MAKEFILE_LIST) | sed -e 's/^\([a-z]*\):.*## / \1\t/' | expand -t14
dist: translations ## Build application distribution (requires Poetry)
install: ## Install Gaphor in a local virtual environment
poetry install
dist: translations ## Build application distribution package
poetry build
test: ## Run all but slow tests (requires PyTest)
pytest -m "not slow"
test: ## Run all but slow tests
poetry run pytest -m "not slow"
docs: ## Generate documentation (requirss Sphinx)
$(MAKE) -C docs html
test-all: ## Run all tests, including coverage
poetry run pytest --cov=gaphor/
docs: ## Generate documentation
poetry run $(MAKE) -C docs html
icons: ## Generate icons from stensil (requires Inkscape)
$(MAKE) -C gaphor/ui/icons
translations: ## Translate and update .po and .mo files (requires PyBabel)
$(MAKE) -C po
translations: ## Translate and update .po and .mo files
poetry run $(MAKE) -C po
models: gaphor/core/modeling/coremodel.py gaphor/UML/uml.py gaphor/SysML/sysml.py ## Generate Python model files from Gaphor models (requires Black, MyPy)
models: gaphor/core/modeling/coremodel.py gaphor/UML/uml.py gaphor/SysML/sysml.py ## Generate Python model files from Gaphor models
gaphor/core/modeling/coremodel.py: models/Core.gaphor models/Core.override gaphor/codegen/uml_coder.py gaphor/codegen/override.py gaphor/codegen/writer.py
gaphor/codegen/codegen.py models/Core.gaphor gaphor/core/modeling/coremodel.py models/Core.override && black $@ && mypy gaphor/core/modeling && isort gaphor/core/modeling/coremodel.py
poetry run gaphor/codegen/codegen.py models/Core.gaphor gaphor/core/modeling/coremodel.py models/Core.override && black $@ && mypy gaphor/core/modeling && isort gaphor/core/modeling/coremodel.py
gaphor/UML/uml.py: models/UML.gaphor models/UML.override gaphor/codegen/uml_coder.py gaphor/codegen/override.py gaphor/codegen/writer.py
gaphor/codegen/codegen.py models/UML.gaphor gaphor/UML/uml.py models/UML.override && mypy gaphor/UML && isort $@ && black $@
poetry run gaphor/codegen/codegen.py models/UML.gaphor gaphor/UML/uml.py models/UML.override && mypy gaphor/UML && isort $@ && black $@
gaphor/SysML/sysml.py: models/SysML.gaphor models/SysML.override gaphor/codegen/profile_coder.py gaphor/codegen/override.py gaphor/codegen/writer.py
gaphor/codegen/codegen.py --profile models/SysML.gaphor gaphor/SysML/sysml.py models/SysML.override && black $@ && isort $@ && mypy gaphor/SysML
poetry run gaphor/codegen/codegen.py --profile models/SysML.gaphor gaphor/SysML/sysml.py models/SysML.override && black $@ && isort $@ && mypy gaphor/SysML
gaphor/Safety/safety.py: models/Safety.gaphor models/Safety.override gaphor/codegen/profile_coder.py.py gaphor/codegen/override.py gaphor/codegen/writer.py
gaphor/codegen/codegen.py --profile models/Safety.gaphor gaphor/Safety/safety.py models/Safety.override && mypy gaphor/Safety && isort $@ && black $@
poetry run gaphor/codegen/codegen.py --profile models/Safety.gaphor gaphor/Safety/safety.py models/Safety.override && mypy gaphor/Safety && isort $@ && black $@
.PHONY: help dist test docs icons translations models