Get rid of dependency to SQLite
[?]
Apr 10, 2020, 4:13 PM
75BCCX2TABRXQFYV73D6QU3VCT7LZUZEOWUK4X5USPWWTBTVJTLQCDependencies
- [2]
3K3YNRYUDon't barf if the SQLite DB is missing - [3]
H4KMCXGUUse triggers for all notifications on Builds table changes - [4]
3HRBFWGKtests: change postgresql socket dir to /tmp - [5]
TOLUNFACCreate extension pg_trgm in the NixOS module - [6]
FZR7ET5DJobsets: add a SERIAL, unique, non-null id column - [7]
UCTIA3HCFix Mercurial tests - [8]
AJSFZ2YNFix Mercurial tests - [9]
RWNXH3H2lastModified -> lastModifiedDate - [10]
6ZHQKBZPFix indentation - [11]
N3KBVX6GSet $PERL5LIB properly in hydra-init in "make check" - [12]
BXHG3HYLWhen renaming a jobset, add a redirect from the old name - [13]
E7FID72SRemove the BuildMachines and BuildMachinesSystemTypes tables - [14]
A43SLRSHFix handling of IPC::Run::run exit status - [15]
2KLEQJTGsql: refactor some sql statements to lowercase - [16]
7RO7CINMsetup environment variables for tests - [17]
GAZHOBWEBetter fix - [18]
6COLDXKSCreate a pg_trgm index on builds.drvpath - [19]
L2E6EVE2* Merged the Build and Job tables. - [20]
RULEA52YFix SQL syntax for migration 50. It failed with PostgreSQL 9.4. (#416) - [21]
3VRZBVFXhydra-eval-jobs -> nix eval-hydra-jobs - [22]
ZWCTAZGLadded newsitems, added some admin options to clear various caches. - [23]
FANTYCR7Materialize the number of finished builds - [24]
CLJQCY2X* Store info about all the build actions and allow them to be - [25]
G2ZB6464first test, not yet in buildprocess - [26]
RYTQLATYKeep track of failed paths in the Hydra database - [27]
UUGBVEGY* Development notes. - [28]
I3TU2UJQ - [29]
4MBKR4XMGratuitous whitespace. - [30]
7VQ4ALFYUpdate "make check" for the new queue runner - [31]
KSBB33REAdd a dashboard - [32]
OB7GB5DLTest environment cleanups - [33]
J5UVLXOK* Start of a basic Catalyst web interface. - [34]
3PNG7NIBRemove trailing whitespace - [35]
4HPT4SDDRevert "Remove now-unused SystemTypes table" - [36]
TJK27WSBOpen the DB using Hydra::Model::DB->new - [37]
AMFMXR52Provide a command ‘hydra-init’ to initialise/upgrade the database - [38]
KN3VYE5P* Cleaned up the foreign key constraints. - [39]
PLOZBRTRAdd command ‘hydra-queue-runner --status’ to show current status - [40]
PHX2HIVG* Store info about the build inputs in the build record. - [41]
V2ALOFRRFix the test - [42]
WE5Q2NVIAllow build to be bumped to the front of the queue via the web interface - [43]
NQPGIRXXRevert "hydra-eval-jobs -> nix eval-hydra-jobs" - [44]
HX4QYOYAadd first evaluations tests - [45]
VOBFCHIXuse top_srcdir in stead of srcdir - [46]
RVHBV3B3Notify the queue runner when a build is deleted - [47]
5SHCWE7X* Prevent repeated evaluation of a jobset with the same inputs. This - [48]
ACBS7C6Qhydra-queue-runner: Detect changes to the scheduling shares - [49]
N22GPKYT* Put info about logs / build products in the DB. - [50]
RFE6T5LG* Store jobset evaluations in the database explicitly. This includes - [51]
EDDTVGB4set BZR_HOME env var so bzr won't fail - [52]
RBNQKATL* Adding persistant releases. A release is a named set of builds. - [53]
32MXC7NNhydra-init: show SQL commands being executed - [54]
LAJHRL6OFix tests - [55]
2M7J26V4inital version of links to diff in scm - [56]
BD3GRK4B* Get rid of "positive failures" and separate log phases. - [57]
4YCF3KBGConcurrent hydra-evaluator - [58]
B7ENVLRShydra-queue-runner: Make build notification more reliable - [59]
67P45PY4 - [60]
ZHBEOOUQshow evaluation errors in log of tests - [61]
SMCOU72Fhydra: add some admin for adding/enabling/etc build machines - [62]
PKE6I67Sdoc: Import the "Creating Projects" chapter by Visser & Dolstra. - [63]
S2NXJOJEFix a race that can cause hydra-queue-runner to ignore newly added builds - [64]
WHS5RMPO - [*]
GBCPEGYCAdd a .gitignore
Change contents
- edit in .gitignore at line 35[4.7]
tests/jobs/config.nix - replacement in doc/dev-notes.txt at line 11
$ sqlite3 hydra.sqlite "insert into SystemTypes(system, maxConcurrent) values('i686-linux', 3);"$ psql -d hydra <<< "insert into SystemTypes(system, maxConcurrent) values('i686-linux', 3);" - replacement in doc/dev-notes.txt at line 15
$ sqlite3 hydra.sqlite "insert into Users(userName, emailAddress, password) values('root', 'e.dolstra@tudelft.nl', '$(echo -n foobar | sha1sum | cut -c1-40)');"$ hydra-create-user root --email-address 'e.dolstra@tudelft.nl' \--password-hash "$(echo -n foobar | sha1sum | cut -c1-40)" - replacement in doc/dev-notes.txt at line 22
$ sqlite3 hydra.sqlite "insert into UserRoles(userName, role) values('root', 'admin');"$ hydra-create-user root --role admin - replacement in doc/dev-notes.txt at line 25
$ sqlite3 hydra.sqlite "insert into UserRoles(userName, role) values('alice', 'create-projects');"$ hydra-create-user root --role create-projects - replacement in doc/manual/projects.xml at line 46
get an error message such as:get an error message from the database. - replacement in doc/manual/projects.xml at line 48[10.1731]→[10.1731:1740](∅→∅),[10.1740]→[10.218:257](∅→∅),[10.257]→[10.1780:2122](∅→∅),[10.1780]→[10.1780:2122](∅→∅)
<screen>I'm very sorry, but an error occurred:DBIx::Class::ResultSet::create(): DBI Exception: DBD::SQLite::st execute failed: column name is not unique(19) at dbdimp.c line 402</screen>So try to create the project after entering just the generalinformation to figure out if you have chosen a unique name.Job sets can be added once the project has been created.So try to create the project after entering just the generalinformation to figure out if you have chosen a unique name.Job sets can be added once the project has been created. - edit in flake.nix at line 65
DBDSQLite - replacement in flake.nix at line 105
[ makeWrapper autoconf automake libtool unzip nukeReferences pkgconfig sqlite libpqxx[ makeWrapper autoconf automake libtool unzip nukeReferences pkgconfig libpqxx - replacement in flake.nix at line 116
[ sqlite subversion openssh final.nix coreutils findutils pixz[ subversion openssh final.nix coreutils findutils pixz - replacement in src/lib/Hydra/Model/DB.pm at line 13[10.419]→[10.419:529](∅→∅),[10.529]→[2.0:74](∅→∅),[2.74]→[10.596:627](∅→∅),[10.596]→[10.596:627](∅→∅)
my $db = $ENV{"HYDRA_DBI"};return $db if defined $db;my $path = getHydraPath . '/hydra.sqlite';#warn "The Hydra database ($path) does not exist!\n" unless -f $path;return "dbi:SQLite:$path";return $ENV{"HYDRA_DBI"} || "dbi:Pg:dbname=hydra;"; - edit in src/script/hydra-init at line 28
$dbh->{Driver}->{Name} eq 'SQLite' ? "$home/sql/hydra-sqlite.sql" : - replacement in src/script/hydra-init at line 29
die "unsupported database type\n");die "unsupported database type $dbh->{Driver}->{Name}\n"); - edit in src/sql/hydra.sql at line 82
#ifdef SQLITE,foreign key (project, name, nixExprInput) references JobsetInputs(project, jobset, name)#endif - edit in src/sql/hydra.sql at line 84
#ifdef POSTGRESQL - edit in src/sql/hydra.sql at line 100
#endif - edit in src/sql/hydra.sql at line 151
#ifdef POSTGRESQL - edit in src/sql/hydra.sql at line 152[10.7584]→[10.7584:7590](∅→∅),[10.7590]→[10.24:86](∅→∅),[10.8976]→[10.24:86](∅→∅),[10.24]→[10.24:86](∅→∅),[10.86]→[10.7591:7598](∅→∅)
#elseid integer primary key autoincrement not null,#endif - edit in src/sql/hydra.sql at line 234
#ifdef POSTGRESQL - edit in src/sql/hydra.sql at line 248
#endif - edit in src/sql/hydra.sql at line 318
#ifdef POSTGRESQL - edit in src/sql/hydra.sql at line 319[10.8147]→[10.8147:8153](∅→∅),[10.8153]→[10.4781:4843](∅→∅),[10.10125]→[10.4781:4843](∅→∅),[10.4781]→[10.4781:4843](∅→∅),[10.4843]→[10.8154:8161](∅→∅)
#elseid integer primary key autoincrement not null,#endif - edit in src/sql/hydra.sql at line 484
#ifdef POSTGRESQL - edit in src/sql/hydra.sql at line 485
#elseid integer primary key autoincrement not null,#endif - edit in src/sql/hydra.sql at line 555
#ifdef POSTGRESQL - edit in src/sql/hydra.sql at line 556
#elseid integer primary key autoincrement not null,#endif - edit in src/sql/hydra.sql at line 588
#ifdef POSTGRESQL - edit in src/sql/hydra.sql at line 595
#endif - edit in src/sql/hydra.sql at line 611
#ifdef POSTGRESQL - edit in src/sql/hydra.sql at line 629
#endif - edit in src/sql/hydra.sql at line 673
#ifdef POSTGRESQL - edit in src/sql/hydra.sql at line 689
#endif - resurrect zombie in tests/Makefile.am at line 17
PYTHONPATH= \ - edit in tests/Makefile.am at line 18
PYTHONPATH= \ - resolve order conflict in tests/Makefile.am at line 18
- edit in tests/Makefile.am at line 33[10.27]→[10.147:148](∅→∅),[10.27]→[10.147:148](∅→∅),[10.149]→[10.147:148](∅→∅),[10.250]→[10.147:148](∅→∅),[10.330]→[10.147:148](∅→∅),[10.516]→[10.147:148](∅→∅),[10.1695]→[10.147:148](∅→∅),[10.147]→[10.147:148](∅→∅),[10.148]→[10.3575:3625](∅→∅),[10.3625]→[10.59:117](∅→∅),[10.51]→[10.59:117](∅→∅)
db.sqlite: $(top_srcdir)/src/sql/hydra-sqlite.sql$(TESTS_ENVIRONMENT) $(top_srcdir)/src/script/hydra-init