* add fedora docker image to travis compilation fixes #1746 * add dockerfile * would you like to please install for me? [y/n] * remove bc dependency * save cache separately for different docker builds * add development packages to fedora dockerfile * add package names * use env values to make these all look the same * set docker image name correctly * add missing dependency * minor oversight, add %% to remove all braces in check schema
35 lines
1.2 KiB
Bash
Executable file
35 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%%)*}"
|
|
|
|
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
|