1- .PHONY : check test demo demo-seed demo-clean demo-verify demo-all
1+ .PHONY : check test demo demo-seed demo-clean demo-verify demo-all clean-install-validate benchmark leaderboard migration-matrix-sqlite migration-matrix-mysql migration-matrix-pgsql
22
33check :
44 composer run check
@@ -21,39 +21,59 @@ EVO_BIN ?= evo
2121EVO_BRANCH ?= 3.5.x
2222EVO_DB_TYPE ?= sqlite
2323EVO_DB_NAME ?= database.sqlite
24+ EVO_DB_HOST ?=
25+ EVO_DB_PORT ?=
26+ EVO_DB_USER ?=
27+ EVO_DB_PASSWORD ?=
2428EVO_ADMIN_USERNAME ?= admin
2529EVO_ADMIN_EMAIL ?= dmi3yy@evo.im
2630EVO_ADMIN_PASSWORD ?= 123456
2731EVO_ADMIN_DIRECTORY ?= manager
2832EVO_LANGUAGE ?= uk
2933EMCP_CONSTRAINT ?= *@dev
3034EMCP_PATH_REPO ?= $(CURDIR )
35+ CLEAN_INSTALL_LOG_PATH ?= $(DEMO_DIR ) /clean-install.log
3136
3237demo :
3338 @set -eu; \
34- GH_TOKEN_VALUE=" $$ {GITHUB_PAT:-$$ {GITHUB_TOKEN:-$$ {GH_TOKEN:-}}}" ; \
35- if [ -n " $$ {GH_TOKEN_VALUE}" ]; then \
36- export COMPOSER_AUTH=" $$ (printf '{" github-oauth" :{" github.com" :" %s" }}' " $$ {GH_TOKEN_VALUE}" )" ; \
37- echo " Using GitHub token from ENV (GITHUB_PAT/GITHUB_TOKEN/GH_TOKEN)." ; \
38- fi ; \
39- command -v " $( EVO_BIN) " > /dev/null 2>&1 || { \
40- echo " Error: command '$( EVO_BIN) ' not found. Install installer first: composer global require evolution-cms/installer" ; \
41- exit 1; \
42- }; \
43- if [ -d " $( DEMO_DIR) " ]; then \
39+ GH_TOKEN_VALUE=" $$ {GITHUB_PAT:-$$ {GITHUB_TOKEN:-$$ {GH_TOKEN:-}}}" ; \
40+ COMPOSER_CACHE_DIR_VALUE=" $$ {COMPOSER_CACHE_DIR:-/tmp/emcp-composer-cache}" ; \
41+ mkdir -p " $$ {COMPOSER_CACHE_DIR_VALUE}" ; \
42+ export COMPOSER_CACHE_DIR=" $$ {COMPOSER_CACHE_DIR_VALUE}" ; \
43+ if [ -n " $$ {GH_TOKEN_VALUE}" ]; then \
44+ export COMPOSER_AUTH=" $$ (printf '{" github-oauth" :{" github.com" :" %s" }}' " $$ {GH_TOKEN_VALUE}" )" ; \
45+ echo " Using GitHub token from ENV (GITHUB_PAT/GITHUB_TOKEN/GH_TOKEN)." ; \
46+ fi ; \
47+ DB_HOST_FLAG=" " ; \
48+ DB_PORT_FLAG=" " ; \
49+ DB_USER_FLAG=" " ; \
50+ DB_PASSWORD_FLAG=" " ; \
51+ if [ -n " $( EVO_DB_HOST) " ]; then DB_HOST_FLAG=" --db-host=$( EVO_DB_HOST) " ; fi ; \
52+ if [ -n " $( EVO_DB_PORT) " ]; then DB_PORT_FLAG=" --db-port=$( EVO_DB_PORT) " ; fi ; \
53+ if [ -n " $( EVO_DB_USER) " ]; then DB_USER_FLAG=" --db-user=$( EVO_DB_USER) " ; fi ; \
54+ if [ -n " $( EVO_DB_PASSWORD) " ]; then DB_PASSWORD_FLAG=" --db-password=$( EVO_DB_PASSWORD) " ; fi ; \
55+ command -v " $( EVO_BIN) " > /dev/null 2>&1 || { \
56+ echo " Error: command '$( EVO_BIN) ' not found. Install installer first: composer global require evolution-cms/installer" ; \
57+ exit 1; \
58+ }; \
59+ if [ -d " $( DEMO_DIR) " ]; then \
4460 echo " Error: '$( DEMO_DIR) ' already exists. Run 'make demo-clean' first." ; \
4561 exit 1; \
4662 fi ; \
47- " $( EVO_BIN) " install " $( DEMO_DIR) " \
48- --cli \
49- --branch=" $( EVO_BRANCH) " \
50- --db-type=" $( EVO_DB_TYPE) " \
51- --db-name=" $( EVO_DB_NAME) " \
52- --admin-username=" $( EVO_ADMIN_USERNAME) " \
53- --admin-email=" $( EVO_ADMIN_EMAIL) " \
54- --admin-password=" $( EVO_ADMIN_PASSWORD) " \
55- --admin-directory=" $( EVO_ADMIN_DIRECTORY) " \
56- --language=" $( EVO_LANGUAGE) " \
63+ " $( EVO_BIN) " install " $( DEMO_DIR) " \
64+ --cli \
65+ --branch=" $( EVO_BRANCH) " \
66+ --db-type=" $( EVO_DB_TYPE) " \
67+ --db-name=" $( EVO_DB_NAME) " \
68+ $$ {DB_HOST_FLAG} \
69+ $$ {DB_PORT_FLAG} \
70+ $$ {DB_USER_FLAG} \
71+ $$ {DB_PASSWORD_FLAG} \
72+ --admin-username=" $( EVO_ADMIN_USERNAME) " \
73+ --admin-email=" $( EVO_ADMIN_EMAIL) " \
74+ --admin-password=" $( EVO_ADMIN_PASSWORD) " \
75+ --admin-directory=" $( EVO_ADMIN_DIRECTORY) " \
76+ --language=" $( EVO_LANGUAGE) " \
5777 --composer-clear-cache; \
5878 cd " $( DEMO_CORE_DIR) " ; \
5979 composer config repositories.stask ' {"type":"vcs","url":"https://github.com/Seiger/sTask"}' ; \
@@ -112,3 +132,27 @@ demo-verify:
112132 sh scripts/demo_verify.sh
113133
114134demo-all : demo demo-verify
135+
136+ clean-install-validate :
137+ @set -eu; \
138+ CLEAN_INSTALL_LOG_PATH=" $( CLEAN_INSTALL_LOG_PATH) " sh scripts/clean_install_validation.sh
139+
140+ benchmark :
141+ @set -eu; \
142+ php scripts/benchmark/run.php --output=build/benchmarks/simulation-report.json
143+
144+ leaderboard : benchmark
145+ @set -eu; \
146+ php scripts/benchmark/leaderboard.php --input=build/benchmarks/simulation-report.json --output=build/benchmarks/leaderboard.md
147+
148+ migration-matrix-sqlite :
149+ @set -eu; \
150+ sh scripts/migration_matrix_check.sh sqlite
151+
152+ migration-matrix-mysql :
153+ @set -eu; \
154+ sh scripts/migration_matrix_check.sh mysql
155+
156+ migration-matrix-pgsql :
157+ @set -eu; \
158+ sh scripts/migration_matrix_check.sh pgsql
0 commit comments