From 0a54653ac41854a1f4c0c3a8ef601d8293ff4d18 Mon Sep 17 00:00:00 2001 From: harryob <55142896+harryob@users.noreply.github.com> Date: Mon, 29 Apr 2024 12:01:47 +0100 Subject: [PATCH 01/11] validates sql in unit testing --- .github/workflows/run_unit_tests.yml | 11 +++++++++++ tools/ci/ci_config.txt | 26 +++++++++++++++++--------- tools/ci/run_server.sh | 4 ++++ 3 files changed, 32 insertions(+), 9 deletions(-) diff --git a/.github/workflows/run_unit_tests.yml b/.github/workflows/run_unit_tests.yml index 539b0fa01082..c2116dba10e7 100644 --- a/.github/workflows/run_unit_tests.yml +++ b/.github/workflows/run_unit_tests.yml @@ -16,6 +16,13 @@ on: jobs: run_unit_tests: runs-on: ubuntu-latest + services: + mysql: + image: mysql:latest + env: + MYSQL_ROOT_PASSWORD: root + ports: + - 3306 steps: - uses: actions/checkout@v3 - name: Restore BYOND cache @@ -23,6 +30,10 @@ jobs: with: path: ~/BYOND key: ${{ runner.os }}-byond-${{ secrets.CACHE_PURGE_KEY }} + - name: Setup database + run: | + sudo systemctl start mysql + mysql -u root -proot -e 'CREATE DATABASE cmdb;' - name: Install rust-g run: | sudo dpkg --add-architecture i386 diff --git a/tools/ci/ci_config.txt b/tools/ci/ci_config.txt index 4925d781bbbe..2dc09472b980 100644 --- a/tools/ci/ci_config.txt +++ b/tools/ci/ci_config.txt @@ -1,9 +1,17 @@ -SQL_ENABLED -ADDRESS 127.0.0.1 -PORT 3306 -FEEDBACK_DATABASE tg_ci -FEEDBACK_TABLEPREFIX -FEEDBACK_LOGIN root -FEEDBACK_PASSWORD -LAVALAND_BUDGET 0 -SPACE_BUDGET 0 +# server adapter +DB_PROVIDER brsql + +# server address +DB_ADDRESS localhost + +# server port +DB_PORT 3306 + +# server db +DB_DATABASE cmdb + +# server login +DB_USERNAME root + +# server password +DB_PASSWORD password diff --git a/tools/ci/run_server.sh b/tools/ci/run_server.sh index 93f58be5f7c5..d9abc8dd497d 100644 --- a/tools/ci/run_server.sh +++ b/tools/ci/run_server.sh @@ -6,8 +6,12 @@ MAP=$1 echo Testing $MAP tools/deploy.sh ci_test +mkdir ci_test/config mkdir ci_test/data +#test config +cp tools/ci/ci_config.txt ci_test/config/config.txt + #set the map cp maps/$MAP.json ci_test/data/next_map.json cp maps/templates/space.json ci_test/data/next_ship.json From d3cd1a0c67329467b9d29f5ee69617bf3c72bbc5 Mon Sep 17 00:00:00 2001 From: harryob <55142896+harryob@users.noreply.github.com> Date: Mon, 29 Apr 2024 12:04:32 +0100 Subject: [PATCH 02/11] already exists --- tools/ci/run_server.sh | 1 - 1 file changed, 1 deletion(-) diff --git a/tools/ci/run_server.sh b/tools/ci/run_server.sh index d9abc8dd497d..9cb6bf371942 100644 --- a/tools/ci/run_server.sh +++ b/tools/ci/run_server.sh @@ -6,7 +6,6 @@ MAP=$1 echo Testing $MAP tools/deploy.sh ci_test -mkdir ci_test/config mkdir ci_test/data #test config From b20c26f4e99194fc2df71155379ee5c651a6124b Mon Sep 17 00:00:00 2001 From: harryob <55142896+harryob@users.noreply.github.com> Date: Mon, 29 Apr 2024 14:41:10 +0100 Subject: [PATCH 03/11] mhmm --- .github/workflows/run_unit_tests.yml | 4 ++-- tools/ci/ci_config.txt | 2 +- tools/ci/run_server.sh | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/run_unit_tests.yml b/.github/workflows/run_unit_tests.yml index c2116dba10e7..9977ba693963 100644 --- a/.github/workflows/run_unit_tests.yml +++ b/.github/workflows/run_unit_tests.yml @@ -32,8 +32,8 @@ jobs: key: ${{ runner.os }}-byond-${{ secrets.CACHE_PURGE_KEY }} - name: Setup database run: | - sudo systemctl start mysql - mysql -u root -proot -e 'CREATE DATABASE cmdb;' + mysql -h 127.0.0.1 -u root -proot -e 'CREATE DATABASE cmdb;' + mysql -h 127.0.0.1 -u root -proot -e 'ALTER USER \'root\' IDENTIFIED WITH mysql_native_password BY \'password\''; - name: Install rust-g run: | sudo dpkg --add-architecture i386 diff --git a/tools/ci/ci_config.txt b/tools/ci/ci_config.txt index 2dc09472b980..a830dbbeb9df 100644 --- a/tools/ci/ci_config.txt +++ b/tools/ci/ci_config.txt @@ -2,7 +2,7 @@ DB_PROVIDER brsql # server address -DB_ADDRESS localhost +DB_ADDRESS mysql # server port DB_PORT 3306 diff --git a/tools/ci/run_server.sh b/tools/ci/run_server.sh index 9cb6bf371942..33955b319c30 100644 --- a/tools/ci/run_server.sh +++ b/tools/ci/run_server.sh @@ -16,6 +16,6 @@ cp maps/$MAP.json ci_test/data/next_map.json cp maps/templates/space.json ci_test/data/next_ship.json cd ci_test -DreamDaemon colonialmarines.dmb -close -trusted -verbose -params "log-directory=ci" +RUST_BACKTRACE=1 DreamDaemon colonialmarines.dmb -close -trusted -verbose -params "log-directory=ci" cd .. cat ci_test/data/logs/ci/clean_run.lk From aa53bfd5867a026c4780bd3ed1c91b236dc001c1 Mon Sep 17 00:00:00 2001 From: harryob <55142896+harryob@users.noreply.github.com> Date: Mon, 29 Apr 2024 14:43:31 +0100 Subject: [PATCH 04/11] oookay --- .github/workflows/run_unit_tests.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/run_unit_tests.yml b/.github/workflows/run_unit_tests.yml index 9977ba693963..5cc752406253 100644 --- a/.github/workflows/run_unit_tests.yml +++ b/.github/workflows/run_unit_tests.yml @@ -32,8 +32,8 @@ jobs: key: ${{ runner.os }}-byond-${{ secrets.CACHE_PURGE_KEY }} - name: Setup database run: | - mysql -h 127.0.0.1 -u root -proot -e 'CREATE DATABASE cmdb;' - mysql -h 127.0.0.1 -u root -proot -e 'ALTER USER \'root\' IDENTIFIED WITH mysql_native_password BY \'password\''; + mysql -h mysql -u root -proot -e 'CREATE DATABASE cmdb;' + mysql -h mysql -u root -proot -e 'ALTER USER \'root\' IDENTIFIED WITH mysql_native_password BY \'password\''; - name: Install rust-g run: | sudo dpkg --add-architecture i386 From cabc33243da0c066cf6156283229834ce8fd9620 Mon Sep 17 00:00:00 2001 From: harryob <55142896+harryob@users.noreply.github.com> Date: Mon, 29 Apr 2024 14:47:11 +0100 Subject: [PATCH 05/11] u --- .github/workflows/run_unit_tests.yml | 12 +++--------- 1 file changed, 3 insertions(+), 9 deletions(-) diff --git a/.github/workflows/run_unit_tests.yml b/.github/workflows/run_unit_tests.yml index 5cc752406253..c60fa2aa16fd 100644 --- a/.github/workflows/run_unit_tests.yml +++ b/.github/workflows/run_unit_tests.yml @@ -16,13 +16,6 @@ on: jobs: run_unit_tests: runs-on: ubuntu-latest - services: - mysql: - image: mysql:latest - env: - MYSQL_ROOT_PASSWORD: root - ports: - - 3306 steps: - uses: actions/checkout@v3 - name: Restore BYOND cache @@ -32,8 +25,9 @@ jobs: key: ${{ runner.os }}-byond-${{ secrets.CACHE_PURGE_KEY }} - name: Setup database run: | - mysql -h mysql -u root -proot -e 'CREATE DATABASE cmdb;' - mysql -h mysql -u root -proot -e 'ALTER USER \'root\' IDENTIFIED WITH mysql_native_password BY \'password\''; + sudo systemctl start mysql + mysql -u root -proot -e 'CREATE DATABASE cmdb;' + mysql -u root -proot -e 'ALTER USER \'root\' IDENTIFIED WITH mysql_native_password BY \'password\''; - name: Install rust-g run: | sudo dpkg --add-architecture i386 From 3c70af39fc9dccffdd89483479afdf26aa573f0a Mon Sep 17 00:00:00 2001 From: harryob <55142896+harryob@users.noreply.github.com> Date: Mon, 29 Apr 2024 14:48:36 +0100 Subject: [PATCH 06/11] jingle jangle --- .github/workflows/run_unit_tests.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/run_unit_tests.yml b/.github/workflows/run_unit_tests.yml index c60fa2aa16fd..965e24b437ea 100644 --- a/.github/workflows/run_unit_tests.yml +++ b/.github/workflows/run_unit_tests.yml @@ -26,8 +26,8 @@ jobs: - name: Setup database run: | sudo systemctl start mysql - mysql -u root -proot -e 'CREATE DATABASE cmdb;' - mysql -u root -proot -e 'ALTER USER \'root\' IDENTIFIED WITH mysql_native_password BY \'password\''; + mysql -u root -proot -e "CREATE DATABASE cmdb;" + mysql -u root -proot -e "ALTER USER 'root' IDENTIFIED WITH mysql_native_password BY 'password';"; - name: Install rust-g run: | sudo dpkg --add-architecture i386 From 8cc076e6778040901c770a1f4682a0aac68ee566 Mon Sep 17 00:00:00 2001 From: harryob <55142896+harryob@users.noreply.github.com> Date: Mon, 29 Apr 2024 14:51:06 +0100 Subject: [PATCH 07/11] p --- .github/workflows/run_unit_tests.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/run_unit_tests.yml b/.github/workflows/run_unit_tests.yml index 965e24b437ea..9259f225f7f2 100644 --- a/.github/workflows/run_unit_tests.yml +++ b/.github/workflows/run_unit_tests.yml @@ -27,7 +27,7 @@ jobs: run: | sudo systemctl start mysql mysql -u root -proot -e "CREATE DATABASE cmdb;" - mysql -u root -proot -e "ALTER USER 'root' IDENTIFIED WITH mysql_native_password BY 'password';"; + mysql -u root -proot -e "ALTER USER 'root'@'127.0.0.1' IDENTIFIED WITH mysql_native_password BY 'password';"; - name: Install rust-g run: | sudo dpkg --add-architecture i386 From 470e664534b97590cbabb17ec6e53b278b13b039 Mon Sep 17 00:00:00 2001 From: harryob <55142896+harryob@users.noreply.github.com> Date: Mon, 29 Apr 2024 14:53:12 +0100 Subject: [PATCH 08/11] proot --- .github/workflows/run_unit_tests.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/run_unit_tests.yml b/.github/workflows/run_unit_tests.yml index 9259f225f7f2..fd050c49220e 100644 --- a/.github/workflows/run_unit_tests.yml +++ b/.github/workflows/run_unit_tests.yml @@ -27,7 +27,7 @@ jobs: run: | sudo systemctl start mysql mysql -u root -proot -e "CREATE DATABASE cmdb;" - mysql -u root -proot -e "ALTER USER 'root'@'127.0.0.1' IDENTIFIED WITH mysql_native_password BY 'password';"; + mysql -u root -proot -e "ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';"; - name: Install rust-g run: | sudo dpkg --add-architecture i386 From 5fecd0bd487137af2bd3c9c20542b998c0793335 Mon Sep 17 00:00:00 2001 From: harryob <55142896+harryob@users.noreply.github.com> Date: Mon, 29 Apr 2024 14:58:37 +0100 Subject: [PATCH 09/11] this now blocks --- code/datums/_ndatabase/subsystems/entity_manager.dm | 1 - 1 file changed, 1 deletion(-) diff --git a/code/datums/_ndatabase/subsystems/entity_manager.dm b/code/datums/_ndatabase/subsystems/entity_manager.dm index 833bc6926e09..8df89408d499 100644 --- a/code/datums/_ndatabase/subsystems/entity_manager.dm +++ b/code/datums/_ndatabase/subsystems/entity_manager.dm @@ -69,7 +69,6 @@ GLOBAL_REAL(SSentity_manager, /datum/controller/subsystem/entity_manager) NEW_SS_GLOBAL(SSentity_manager) /datum/controller/subsystem/entity_manager/proc/start_up() - set waitfor=0 UNTIL(SSdatabase.connection.connection_ready()) adapter = SSdatabase.connection.get_adapter() prepare_tables() From d1fd12b98dbf1a7f84252dc687310d8c0ba99506 Mon Sep 17 00:00:00 2001 From: harryob <55142896+harryob@users.noreply.github.com> Date: Mon, 29 Apr 2024 15:02:13 +0100 Subject: [PATCH 10/11] stop it. --- code/datums/_ndatabase/subsystems/database_query_manager.dm | 2 -- 1 file changed, 2 deletions(-) diff --git a/code/datums/_ndatabase/subsystems/database_query_manager.dm b/code/datums/_ndatabase/subsystems/database_query_manager.dm index 596d55121920..82407210c8d4 100644 --- a/code/datums/_ndatabase/subsystems/database_query_manager.dm +++ b/code/datums/_ndatabase/subsystems/database_query_manager.dm @@ -54,8 +54,6 @@ GLOBAL_REAL(SSdatabase, /datum/controller/subsystem/database_query_manager) NEW_SS_GLOBAL(SSdatabase) /datum/controller/subsystem/database_query_manager/proc/start_up() - set waitfor = FALSE - settings = connection_settings_from_config(CONFIG_GET(string/db_provider)) connection = settings.create_connection() connection.keep() From b1441d6a2e59af2a8e587f12123360a4d62a9635 Mon Sep 17 00:00:00 2001 From: harryob <55142896+harryob@users.noreply.github.com> Date: Mon, 29 Apr 2024 15:06:35 +0100 Subject: [PATCH 11/11] it's here --- tools/ci/ci_config.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/ci/ci_config.txt b/tools/ci/ci_config.txt index a830dbbeb9df..2dc09472b980 100644 --- a/tools/ci/ci_config.txt +++ b/tools/ci/ci_config.txt @@ -2,7 +2,7 @@ DB_PROVIDER brsql # server address -DB_ADDRESS mysql +DB_ADDRESS localhost # server port DB_PORT 3306