mirror of
https://github.com/HChaZZY/Stockfish.git
synced 2025-12-25 19:46:55 +08:00
Change versioning and save binaries as CI artifacts
For development versions of Stockfish, the version will now look like dev-20221107-dca9a0533 indicating a development version, the date of the last commit, and the git SHA of that commit. If git is not available, the fallback is the date of compilation. Releases will continue to be versioned as before. Additionally, this PR extends the CI to create binary artifacts, i.e. pushes to master will automatically build Stockfish and upload the binaries to github. closes https://github.com/official-stockfish/Stockfish/pull/4220 No functional change
This commit is contained in:
committed by
Joost VandeVondele
parent
ad2aa8c06f
commit
e048d11825
47
src/misc.cpp
47
src/misc.cpp
@@ -67,9 +67,8 @@ namespace Stockfish {
|
||||
|
||||
namespace {
|
||||
|
||||
/// Version number. If Version is left empty, then compile date in the format
|
||||
/// DD-MM-YY and show in engine_info.
|
||||
const string Version = "";
|
||||
/// Version number or dev.
|
||||
const string version = "dev";
|
||||
|
||||
/// Our fancy logging facility. The trick here is to replace cin.rdbuf() and
|
||||
/// cout.rdbuf() with two Tie objects that tie cin and cout to a file stream. We
|
||||
@@ -138,23 +137,41 @@ public:
|
||||
} // namespace
|
||||
|
||||
|
||||
/// engine_info() returns the full name of the current Stockfish version. This
|
||||
/// will be either "Stockfish <Tag> DD-MM-YY" (where DD-MM-YY is the date when
|
||||
/// the program was compiled) or "Stockfish <Version>", depending on whether
|
||||
/// Version is empty.
|
||||
/// engine_info() returns the full name of the current Stockfish version.
|
||||
/// For local dev compiles we try to append the commit sha and commit date
|
||||
/// from git if that fails only the local compilation date is set and "nogit" is specified:
|
||||
/// Stockfish dev-YYYYMMDD-SHA
|
||||
/// or
|
||||
/// Stockfish dev-YYYYMMDD-nogit
|
||||
///
|
||||
/// For releases (non dev builds) we only include the version number:
|
||||
/// Stockfish version
|
||||
|
||||
string engine_info(bool to_uci) {
|
||||
stringstream ss;
|
||||
ss << "Stockfish " << version << setfill('0');
|
||||
|
||||
const string months("Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec");
|
||||
string month, day, year;
|
||||
stringstream ss, date(__DATE__); // From compiler, format is "Sep 21 2008"
|
||||
|
||||
ss << "Stockfish " << Version << setfill('0');
|
||||
|
||||
if (Version.empty())
|
||||
if (version == "dev")
|
||||
{
|
||||
ss << "-";
|
||||
#ifdef GIT_DATE
|
||||
ss << GIT_DATE;
|
||||
#else
|
||||
const string months("Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec");
|
||||
string month, day, year;
|
||||
stringstream date(__DATE__); // From compiler, format is "Sep 21 2008"
|
||||
|
||||
date >> month >> day >> year;
|
||||
ss << setw(2) << day << setw(2) << (1 + months.find(month) / 4) << year.substr(2);
|
||||
ss << year << setw(2) << setfill('0') << (1 + months.find(month) / 4) << setw(2) << setfill('0') << day;
|
||||
#endif
|
||||
|
||||
ss << "-";
|
||||
|
||||
#ifdef GIT_SHA
|
||||
ss << GIT_SHA;
|
||||
#else
|
||||
ss << "nogit";
|
||||
#endif
|
||||
}
|
||||
|
||||
ss << (to_uci ? "\nid author ": " by ")
|
||||
|
||||
Reference in New Issue
Block a user