mirror of
https://github.com/Cockatrice/Cockatrice.git
synced 2026-11-07 10:33:24 -08:00
Some checks are pending
CodeQL / Analyze (cpp) (push) Waiting to run
CodeQL / Analyze (actions) (push) Waiting to run
Build Desktop / Configure (push) Waiting to run
Build Desktop / vcpkg baseline (push) Waiting to run
Build Desktop / Debian 13 (push) Blocked by required conditions
Build Desktop / Fedora 45 release (push) Blocked by required conditions
Build Desktop / Fedora 45 debug (push) Blocked by required conditions
Build Desktop / Servatrice_Debian 12 (push) Blocked by required conditions
Build Desktop / Ubuntu 26.04 (push) Blocked by required conditions
Build Desktop / Arch (push) Blocked by required conditions
Build Desktop / Debian 12 (push) Blocked by required conditions
Build Desktop / Fedora 44 (push) Blocked by required conditions
Build Desktop / Ubuntu 24.04 (push) Blocked by required conditions
Build Desktop / Ubuntu 26.04 sanitize (push) Blocked by required conditions
Build Desktop / Ubuntu 26.04 cover (push) Blocked by required conditions
Build Desktop / Windows 10 (push) Blocked by required conditions
Build Desktop / macOS 14 (push) Blocked by required conditions
Build Desktop / macOS 15 (push) Blocked by required conditions
Build Desktop / macOS 27 Debug (push) Blocked by required conditions
Build Desktop / macOS 13 Intel (push) Blocked by required conditions
Build Desktop / Prune caches (push) Waiting to run
Build Docker / Servatrice (arm) (push) Waiting to run
Build Docker / Servatrice (x86) (push) Waiting to run
Build Docker / Publish multi-platform Servatrice image (push) Blocked by required conditions
Compiler flags are applied once and for the right compiler: - Detect the toolchain by CMAKE_CXX_COMPILER_ID (MSVC / GNU / Clang, warn on an unknown one). - MSVC: drop /std:c++20 (CMAKE_CXX_STANDARD already adds it) and the outdated C4251 suppression, add /utf-8, and use /O2 instead of /Ox. - GCC: drop the no-op -Wno-long-long and the macOS-only -std=gnu++20 override; CMAKE_CXX_EXTENSIONS=OFF now owns the dialect. - Use add_compile_definitions for SFMT_MEXP instead of add_definitions. CI build script: - Only run the schema version check for server builds. - Accept boolean env flags as 1 and say so in the header. - Print ccache, ctest and cpack versions next to their log groups. - Only build the macOS vcpkg triplet when vcpkg is actually used. - Drop the extra cmake --build verbosity. - Install NSIS without chocolatey progress noise. Co-authored-by: toomm <toomm@users.noreply.github.com>
36 lines
1.2 KiB
Bash
Executable file
36 lines
1.2 KiB
Bash
Executable file
#!/bin/bash
|
|
|
|
set -e
|
|
|
|
version_line="$(grep 'INSERT INTO cockatrice_schema_version' servatrice/servatrice.sql)"
|
|
version_line="${version_line#*VALUES(}"
|
|
declare -i schema_ver="${version_line%%)*}"
|
|
|
|
# shellcheck disable=2012
|
|
latest_migration="$(ls -1 servatrice/migrations/ | tail -n1)"
|
|
xtoysql="${latest_migration#servatrice_}"
|
|
xtoy="${xtoysql%.sql}"
|
|
declare -i old_ver="10#${xtoy%_to_*}" # declare as integer with base 10, numbers with a leading 0 are normally interpreted as base 16
|
|
declare -i new_ver="10#${xtoy#*_to_}"
|
|
|
|
if ((old_ver >= new_ver)); then
|
|
echo "New version $new_ver is not newer than $old_ver"
|
|
exit 1
|
|
fi
|
|
|
|
if ((schema_ver != new_ver)); then
|
|
echo "Schema version $schema_ver does not equal new version $new_ver"
|
|
exit 1
|
|
fi
|
|
|
|
expected_sql="^UPDATE cockatrice_schema_version SET version=${new_ver} WHERE version=${old_ver};$"
|
|
if ! grep -q "$expected_sql" "servatrice/migrations/$latest_migration"; then
|
|
echo "$latest_migration does not contain expected sql: $expected_sql"
|
|
exit 1
|
|
fi
|
|
|
|
expected_define="^#define DATABASE_SCHEMA_VERSION $new_ver$"
|
|
if ! grep -q "$expected_define" servatrice/src/servatrice_database_interface.h; then
|
|
echo "servatrice_database_interface.h does not contain expected #define: $expected_define"
|
|
exit 1
|
|
fi
|