|
| 1 | +SCRIPTS_DIR := scripts |
| 2 | +CONTAINER_RT_BIN := docker |
| 3 | +CONTAINER_RT_OPTS := --rm -v $(PWD):/code -v platformio-cache:/root/.platformio |
| 4 | +CONTAINER_IMAGE := marlin-dev |
| 5 | + |
1 | 6 | help:
|
2 | 7 | @echo "Tasks for local development:"
|
3 | 8 | @echo "* tests-single-ci: Run a single test from inside the CI"
|
4 | 9 | @echo "* tests-single-local: Run a single test locally"
|
5 |
| - @echo "* tests-single-local-docker: Run a single test locally, using docker-compose" |
| 10 | + @echo "* tests-single-local-docker: Run a single test locally, using docker" |
6 | 11 | @echo "* tests-all-local: Run all tests locally"
|
7 |
| - @echo "* tests-all-local-docker: Run all tests locally, using docker-compose" |
8 |
| - @echo "* setup-local-docker: Setup local docker-compose" |
| 12 | + @echo "* tests-all-local-docker: Run all tests locally, using docker" |
| 13 | + @echo "* setup-local-docker: Build the local docker image" |
9 | 14 | @echo ""
|
10 | 15 | @echo "Options for testing:"
|
11 | 16 | @echo " TEST_TARGET Set when running tests-single-*, to select the"
|
@@ -34,19 +39,21 @@ tests-single-local:
|
34 | 39 |
|
35 | 40 | tests-single-local-docker:
|
36 | 41 | @if ! test -n "$(TEST_TARGET)" ; then echo "***ERROR*** Set TEST_TARGET=<your-module> or use make tests-all-local-docker" ; return 1; fi
|
37 |
| - docker-compose run --rm marlin $(MAKE) tests-single-local TEST_TARGET=$(TEST_TARGET) VERBOSE_PLATFORMIO=$(VERBOSE_PLATFORMIO) GIT_RESET_HARD=$(GIT_RESET_HARD) ONLY_TEST="$(ONLY_TEST)" |
| 42 | + @if ! $(CONTAINER_RT_BIN) images -q $(CONTAINER_IMAGE) > /dev/null ; then $(MAKE) setup-local-docker ; fi |
| 43 | + $(CONTAINER_RT_BIN) run $(CONTAINER_RT_OPTS) $(CONTAINER_IMAGE) $(MAKE) tests-single-local TEST_TARGET=$(TEST_TARGET) VERBOSE_PLATFORMIO=$(VERBOSE_PLATFORMIO) GIT_RESET_HARD=$(GIT_RESET_HARD) ONLY_TEST="$(ONLY_TEST)" |
38 | 44 | .PHONY: tests-single-local-docker
|
39 | 45 |
|
40 | 46 | tests-all-local:
|
41 | 47 | export PATH="./buildroot/bin/:./buildroot/tests/:${PATH}" \
|
42 | 48 | && export VERBOSE_PLATFORMIO=$(VERBOSE_PLATFORMIO) \
|
43 |
| - && for TEST_TARGET in $$(./get_test_targets.py) ; do echo "Running tests for $$TEST_TARGET" ; run_tests . $$TEST_TARGET ; done |
| 49 | + && for TEST_TARGET in $$($(SCRIPTS_DIR)/get_test_targets.py) ; do echo "Running tests for $$TEST_TARGET" ; run_tests . $$TEST_TARGET ; done |
44 | 50 | .PHONY: tests-all-local
|
45 | 51 |
|
46 | 52 | tests-all-local-docker:
|
47 |
| - docker-compose run --rm marlin $(MAKE) tests-all-local VERBOSE_PLATFORMIO=$(VERBOSE_PLATFORMIO) GIT_RESET_HARD=$(GIT_RESET_HARD) |
| 53 | + @if ! $(CONTAINER_RT_BIN) images -q $(CONTAINER_IMAGE) > /dev/null ; then $(MAKE) setup-local-docker ; fi |
| 54 | + $(CONTAINER_RT_BIN) run $(CONTAINER_RT_OPTS) $(CONTAINER_IMAGE) $(MAKE) tests-all-local VERBOSE_PLATFORMIO=$(VERBOSE_PLATFORMIO) GIT_RESET_HARD=$(GIT_RESET_HARD) |
48 | 55 | .PHONY: tests-all-local-docker
|
49 | 56 |
|
50 | 57 | setup-local-docker:
|
51 |
| - docker-compose build |
| 58 | + $(CONTAINER_RT_BIN) build -t $(CONTAINER_IMAGE) -f docker/Dockerfile . |
52 | 59 | .PHONY: setup-local-docker
|
0 commit comments