mirror of
https://github.com/mod-playerbots/azerothcore-wotlk.git
synced 2026-01-26 23:26:23 +00:00
feat(CI): prevent PRs that cause DB errors to get on master (#1407)
This commit is contained in:
@@ -44,3 +44,7 @@ install:
|
||||
script:
|
||||
# compile
|
||||
- bash ./acore.sh "compiler" "all"
|
||||
- git clone --depth=1 --branch=master --single-branch https://github.com/ac-data/ac-data.git /home/travis/build/azerothcore/azerothcore-wotlk/env/dist/data
|
||||
- cp ./data/travis/worldserver.conf ./env/dist/etc/worldserver.conf
|
||||
- ./env/dist/bin/worldserver --dry-run
|
||||
- ./apps/ci-error-check.sh
|
||||
|
||||
18
apps/ci-error-check.sh
Executable file
18
apps/ci-error-check.sh
Executable file
@@ -0,0 +1,18 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
DB_ERRORS_FILE="/home/travis/build/azerothcore/azerothcore-wotlk/env/dist/bin/DBErrors.log";
|
||||
#DB_ERRORS_FILE="./env/dist/bin/DBErrors.log";
|
||||
|
||||
if [[ ! -f ${DB_ERRORS_FILE} ]]; then
|
||||
echo "File ${DB_ERRORS_FILE} not found!";
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if [[ -s ${DB_ERRORS_FILE} ]]; then
|
||||
printf "The DBErrors.log file contains startup errors:\n\n";
|
||||
cat ${DB_ERRORS_FILE};
|
||||
printf "\nPlease solve the startup errors listed above!\n";
|
||||
exit 1;
|
||||
else
|
||||
echo "No startup errors found in DBErrors.log, good job!";
|
||||
fi
|
||||
12
data/travis/worldserver.conf
Normal file
12
data/travis/worldserver.conf
Normal file
@@ -0,0 +1,12 @@
|
||||
################################################
|
||||
# AzerothCore World Server configuration file #
|
||||
################################################
|
||||
[worldserver]
|
||||
|
||||
LoginDatabaseInfo = "127.0.0.1;3306;root;;acore_auth"
|
||||
WorldDatabaseInfo = "127.0.0.1;3306;root;;acore_world"
|
||||
CharacterDatabaseInfo = "127.0.0.1;3306;root;;acore_characters"
|
||||
|
||||
EnableLogDB = 1
|
||||
DataDir = "/home/travis/build/azerothcore/azerothcore-wotlk/env/dist/data"
|
||||
LogsDir = "/home/travis/build/azerothcore/azerothcore-wotlk/env/dist/bin"
|
||||
@@ -46,7 +46,12 @@ public:
|
||||
|
||||
std::list<std::string> GetKeysByString(std::string const& name);
|
||||
|
||||
bool isDryRun() { return this->dryRun; }
|
||||
void setDryRun(bool mode) { this->dryRun = mode; }
|
||||
|
||||
private:
|
||||
bool dryRun = false;
|
||||
|
||||
bool GetValueHelper(const char* name, ACE_TString &result);
|
||||
bool LoadData(char const* file);
|
||||
|
||||
|
||||
@@ -1350,18 +1350,21 @@ void World::SetInitialWorldSettings()
|
||||
///- Init highest guids before any table loading to prevent using not initialized guids in some code.
|
||||
sObjectMgr->SetHighestGuids();
|
||||
|
||||
///- Check the existence of the map files for all races' startup areas.
|
||||
if (!MapManager::ExistMapAndVMap(0, -6240.32f, 331.033f)
|
||||
|| !MapManager::ExistMapAndVMap(0, -8949.95f, -132.493f)
|
||||
|| !MapManager::ExistMapAndVMap(1, -618.518f, -4251.67f)
|
||||
|| !MapManager::ExistMapAndVMap(0, 1676.35f, 1677.45f)
|
||||
|| !MapManager::ExistMapAndVMap(1, 10311.3f, 832.463f)
|
||||
|| !MapManager::ExistMapAndVMap(1, -2917.58f, -257.98f)
|
||||
|| (m_int_configs[CONFIG_EXPANSION] && (
|
||||
!MapManager::ExistMapAndVMap(530, 10349.6f, -6357.29f) ||
|
||||
!MapManager::ExistMapAndVMap(530, -3961.64f, -13931.2f))))
|
||||
if (!sConfigMgr->isDryRun())
|
||||
{
|
||||
exit(1);
|
||||
///- Check the existence of the map files for all starting areas.
|
||||
if (!MapManager::ExistMapAndVMap(0, -6240.32f, 331.033f)
|
||||
|| !MapManager::ExistMapAndVMap(0, -8949.95f, -132.493f)
|
||||
|| !MapManager::ExistMapAndVMap(1, -618.518f, -4251.67f)
|
||||
|| !MapManager::ExistMapAndVMap(0, 1676.35f, 1677.45f)
|
||||
|| !MapManager::ExistMapAndVMap(1, 10311.3f, 832.463f)
|
||||
|| !MapManager::ExistMapAndVMap(1, -2917.58f, -257.98f)
|
||||
|| (m_int_configs[CONFIG_EXPANSION] && (
|
||||
!MapManager::ExistMapAndVMap(530, 10349.6f, -6357.29f) ||
|
||||
!MapManager::ExistMapAndVMap(530, -3961.64f, -13931.2f))))
|
||||
{
|
||||
exit(1);
|
||||
}
|
||||
}
|
||||
|
||||
///- Initialize pool manager
|
||||
@@ -1952,6 +1955,11 @@ void World::SetInitialWorldSettings()
|
||||
sLog->outString("Enabling database logging...");
|
||||
sLog->SetLogDB(true);
|
||||
}
|
||||
|
||||
if (sConfigMgr->isDryRun()) {
|
||||
sLog->outString("AzerothCore dry run completed, terminating.");
|
||||
exit(0);
|
||||
}
|
||||
}
|
||||
|
||||
void World::DetectDBCLang()
|
||||
|
||||
@@ -65,6 +65,11 @@ extern int main(int argc, char** argv)
|
||||
int c = 1;
|
||||
while (c < argc)
|
||||
{
|
||||
if (strcmp(argv[c], "--dry-run") == 0)
|
||||
{
|
||||
sConfigMgr->setDryRun(true);
|
||||
}
|
||||
|
||||
if (!strcmp(argv[c], "-c"))
|
||||
{
|
||||
if (++c >= argc)
|
||||
|
||||
Reference in New Issue
Block a user