stable

Clone or download

Read-only

feat!: enforce MySQL version and sql_mode check

Existing check that was done in pre.php is now transfered in a dedicated sanity-check command with the more strict check of MySQL version and sql modes. The move to dedicated command allows to de-clutter pre.php and to be more strict on checks because it's easier not to run `sanity-check` command when we want to run tests with configuration not already supported in production. The tuleap.service unit is also modified to ensure all commands are run. Because --clear-caches and --restore-caches are not really options but commands namedβ€―"--something", it's not actually possible to run: tuleap --clear-caches --restore-caches Only the former command is actually ran. Finally, checks are aligned between Docker and RPM install. BREAKINGβ€―CHANGE: Tuleap running with improper SQL modes will refuse to start. Same for Tuleap running on unsupported databases (eg MariaDB). There are possibilies to workaround and let it start. It's mainly intended for test purposes (eg test future version of MySQL): * `setup:mysql-init` has `--skip-sanity-check` (for install) * `tuleap.service` can be overriden with `systemctl edit` and remove the sanity check * Docker installation can use `SKIP_SANITY_CHECK=1` Part of request #39367 Tuleap should have strict check of database Change-Id: I8b9c227bc97cdf85033772e19a6fdb39092ef5e0

Modified Files

Name
M plugins/tee_container/docker/compose.yaml +2 βˆ’0 Go to diff View file
A src/common/CLI/Command/SanityCheckCommand.php +67 βˆ’0 Go to diff View file
M src/tuleap-cfg/Command/Docker/Tuleap.php +56 βˆ’10 Go to diff View file
M src/tuleap-cfg/Command/Docker/VariableProviderFromEnvironment.php +11 βˆ’0 Go to diff View file
M src/tuleap-cfg/Command/Docker/VariableProviderInterface.php +7 βˆ’0 Go to diff View file
M src/tuleap-cfg/Command/SetupMysql/ConnectionManager.php +25 βˆ’2 Go to diff View file
M src/tuleap-cfg/Command/SetupMysql/ConnectionManagerInterface.php +7 βˆ’1 Go to diff View file
M src/tuleap-cfg/Command/SetupMysql/DatabaseConfigurator.php +35 βˆ’3 Go to diff View file
M src/tuleap-cfg/Command/SetupMysqlInitCommand.php +16 βˆ’17 Go to diff View file
M src/tuleap-cfg/tuleap-cfg.php +0 βˆ’1 Go to diff View file
M src/utils/systemd/tuleap-php-fpm.service +2 βˆ’0 Go to diff View file
M src/utils/systemd/tuleap-worker@.service +2 βˆ’0 Go to diff View file
M src/utils/systemd/tuleap.service +3 βˆ’1 Go to diff View file
M src/utils/tuleap.php +5 βˆ’0 Go to diff View file
M src/www/include/pre.php +0 βˆ’13 Go to diff View file
M tests/integration/bin/setup.sh +2 βˆ’1 Go to diff View file
M tests/unit/tuleap-cfg/Command/Docker/PluginsInstallClosureBuilderFromVariableTest.php +11 βˆ’0 Go to diff View file
M tests/unit/tuleap-cfg/Command/SetupMysqlInitCommandAzureTest.php +1 βˆ’3 Go to diff View file
M tests/unit/tuleap-cfg/Command/SetupMysqlInitCommandTest.php +1 βˆ’3 Go to diff View file
M tests/unit/tuleap-cfg/Command/TestConnectionManager.php +5 βˆ’1 Go to diff View file