diff --git a/Makefile.local b/Makefile.local index 076c40b2..dfe7d439 100644 --- a/Makefile.local +++ b/Makefile.local @@ -1,125 +1,125 @@ TEST_DIRS := ./swh/web/tests TESTFLAGS = --hypothesis-profile=swh-web-fast TESTFULL_FLAGS = --hypothesis-profile=swh-web YARN ?= yarn SETTINGS_TEST ?= swh.web.settings.tests SETTINGS_DEV ?= swh.web.settings.development SETTINGS_PROD = swh.web.settings.production yarn-install: package.json $(YARN) install .PHONY: build-webpack-dev build-webpack-dev: yarn-install $(YARN) build-dev .PHONY: build-webpack-test build-webpack-test: yarn-install $(YARN) build-test .PHONY: build-webpack-dev-no-verbose build-webpack-dev-no-verbose: yarn-install $(YARN) build-dev >/dev/null .PHONY: build-webpack-prod build-webpack-prod: yarn-install $(YARN) build .PHONY: run-migrations-dev run-migrations-dev: python3 swh/web/manage.py migrate --settings=$(SETTINGS_DEV) -v0 2>/dev/null .PHONY: run-migrations-prod run-migrations-prod: django-admin migrate --settings=$(SETTINGS_PROD) -v0 2>/dev/null .PHONY: run-migrations-test run-migrations-test: - rm -f swh/web/settings/testdb.sqlite3 + rm -f swh-web-test.sqlite3 django-admin migrate --settings=$(SETTINGS_TEST) -v0 2>/dev/null add-users-test: run-migrations-test cat swh/web/tests/create_test_admin.py | django-admin shell --settings=$(SETTINGS_TEST) cat swh/web/tests/create_test_users.py | django-admin shell --settings=$(SETTINGS_TEST) add-users-dev: run-migrations-dev cat swh/web/tests/create_test_admin.py | django-admin shell --settings=$(SETTINGS_DEV) cat swh/web/tests/create_test_users.py | django-admin shell --settings=$(SETTINGS_DEV) add-users-prod: run-migrations-prod cat swh/web/tests/create_test_admin.py | django-admin shell --settings=$(SETTINGS_PROD) cat swh/web/tests/create_test_users.py | django-admin shell --settings=$(SETTINGS_PROD) .PHONY: clear-memcached clear-memcached: echo "flush_all" | nc -q 2 localhost 11211 2>/dev/null run-django-webpack-devserver: add-users-dev yarn-install bash -c "trap 'trap - SIGINT SIGTERM ERR EXIT && \ # ensure all child processes will be killed by PGID when exiting \ ps -o pgid= $$$$ | grep -o [0-9]* | xargs pkill -g' SIGINT SIGTERM ERR EXIT; \ $(YARN) start-dev & sleep 10 && cd swh/web && \ python3 manage.py runserver --nostatic --settings=$(SETTINGS_DEV) || exit 1" run-django-webpack-dev: build-webpack-dev add-users-dev python3 swh/web/manage.py runserver --nostatic --settings=$(SETTINGS_DEV) run-django-webpack-prod: build-webpack-prod add-users-prod clear-memcached python3 swh/web/manage.py runserver --nostatic --settings=$(SETTINGS_PROD) run-django-server-dev: add-users-dev python3 swh/web/manage.py runserver --nostatic --settings=$(SETTINGS_DEV) run-django-server-prod: add-users-prod clear-memcached python3 swh/web/manage.py runserver --nostatic --settings=$(SETTINGS_PROD) run-gunicorn-server: add-users-prod clear-memcached DJANGO_SETTINGS_MODULE=$(SETTINGS_PROD) \ gunicorn --bind 127.0.0.1:5004 \ --threads 2 \ --workers 2 'django.core.wsgi:get_wsgi_application()' run-django-webpack-memory-storages: build-webpack-dev add-users-test python3 swh/web/manage.py runserver --nostatic --settings=$(SETTINGS_TEST) test-full: $(TEST) $(TESTFULL_FLAGS) $(TEST_DIRS) .PHONY: test-frontend-cmd test-frontend-cmd: build-webpack-test add-users-test bash -c "trap 'trap - SIGINT SIGTERM ERR EXIT && \ jobs -p | xargs -r kill' SIGINT SIGTERM ERR EXIT; \ python3 swh/web/manage.py runserver --nostatic --settings=$(SETTINGS_TEST) & \ sleep 10 && $(YARN) run cypress run --config numTestsKeptInMemory=0 && \ $(YARN) mochawesome && $(YARN) nyc-report" test-frontend: export CYPRESS_SKIP_SLOW_TESTS=1 test-frontend: test-frontend-cmd test-frontend-full: export CYPRESS_SKIP_SLOW_TESTS=0 test-frontend-full: test-frontend-cmd .PHONY: test-frontend-ui-cmd test-frontend-ui-cmd: add-users-test yarn-install # ensure all child processes will be killed when hitting Ctrl-C in terminal # or manually closing the Cypress UI window, killing by PGID seems the only # reliable way to do it in that case bash -c "trap 'trap - SIGINT SIGTERM ERR EXIT && \ ps -o pgid= $$$$ | grep -o [0-9]* | xargs pkill -g' SIGINT SIGTERM ERR EXIT; \ $(YARN) start-dev & \ python3 swh/web/manage.py runserver --nostatic --settings=$(SETTINGS_TEST) & \ sleep 10 && $(YARN) run cypress open" test-frontend-ui: export CYPRESS_SKIP_SLOW_TESTS=1 test-frontend-ui: test-frontend-ui-cmd test-frontend-full-ui: export CYPRESS_SKIP_SLOW_TESTS=0 test-frontend-full-ui: test-frontend-ui-cmd # Override default rule to make sure DJANGO env var is properly set. It # *should* work without any override thanks to the mypy django-stubs plugin, # but it currently doesn't; see # https://github.com/typeddjango/django-stubs/issues/166 check-mypy: DJANGO_SETTINGS_MODULE=$(SETTINGS_DEV) $(MYPY) $(MYPYFLAGS) swh