Open the DB using Hydra::Model::DB->new
[?]
Mar 13, 2012, 11:10 AM
TJK27WSBFOM6LKVCSA7LTTCWUGB4O2AL22PNIDQXS4BFOFCISH2QCDependencies
- [2]
VPEQI5QS* Don't disable fsync in production. - [3]
JH4RYUNGcheck if HYDRA_DBI is defined in stead of empty string comparison - [4]
AMFMXR52Provide a command ‘hydra-init’ to initialise/upgrade the database - [5]
HPEG2RHVMerge the BuildResultInfo table into the Builds table - [6]
6KCP6ODP* Get the URI for use in notification mails from the Hydra config - [7]
PHX2HIVG* Store info about the build inputs in the build record. - [8]
3E6IP3R3* Add the name of the jobset to ReleaseSetJobs, otherwise we can't - [9]
BMSQD2ZHIndentation - [10]
ZI535LI6* hydra: 'new' UI for project/jobset/job/build - [11]
TLZ2SPBR - [12]
GWCV3TQV* BuildInputs table: link to dependencies, include store paths. - [13]
5SHCWE7X* Prevent repeated evaluation of a jobset with the same inputs. This - [14]
EYNG4EL4* Regenerate the bindings from a clean sqlite database. - [15]
B72GLND4 - [16]
S5PV6IIM* Represent jobs explicitly in the DB. - [17]
YFPZ46YK* hydra: added variant of build input type, 'build output (same system)' to allow better continous integration in one jobset for multiple system. it makes sure that the system of the build that is passed as input for a job has the same system as the job. - [18]
YJKSGJPCSet a default value for `getHydraPath'. - [19]
6KJXJB7Nqualify ordery_by clauses when necessary, remove unnecessary order_by's, reported by Ludo, resulted in errors in sqlite - [20]
ZVTSOVHN* Support Subversion checkouts. - [21]
MOX7XJ2EMerge the BuildSchedulingInfo table into the Builds table - [22]
RAKTHYAI* In the job status and error pages, show when the status of a job - [23]
N22GPKYT* Put info about logs / build products in the DB. - [24]
OV7F5M3EMerge branch 'queue-17' - [25]
IK53RV4V - [26]
VVOAXWH4fix wrong dbix:class:loader generation - [27]
3BKF6P72* Use Nix's negative caching. - [28]
C7CXMZ66hydra: do not perform git clone every time. in stead work on local clone and pull - [29]
UMBR3VG3 - [30]
RU7AQO7U* Role-based access control. Only admins can create projects. Only - [31]
TULPZ62Y* Perform builds in parallel. - [32]
JM3DPYOMgenerated schema with new dbix class schema loader, grrrrrr - [33]
7DWCXNC7Use the new Nix Perl bindings - [34]
ZEHSSVFG - [35]
K4C6DNSMchanged queries for compatibility with postgresql - [36]
SJLEZFC4check getHydraPath in stead of Envvar HYDRA_DBI directly - [37]
IDFJXJHWrevert commit 26130, use hardcoded default value for HYDRA_DATA (/var/lib/hydra) - [38]
ZTQEU5QSHydra: Add support for maxSilent meta attribute (also already added timeout, but not implemented the actual timeout for the build yet) - [39]
ONAQU4BRhydra: handle case where build to keep set to 0 - [40]
4X6NS66Q* Keep the most recent builds for each job. - [41]
M552HLIA* Support variant builds. - [42]
BVOPAMLS - [43]
A63IHCMX* Register GC roots properly. - [44]
RBGYFVWXuse HYDRA_DATA/hydra.conf as default location for hydra.conf - [45]
3ZCEPLNO - [46]
4D4U5IPY* Allow jobsets to be disabled. - [47]
BDSD2JLV* Speed up manifest generation. - [48]
SHBLLAVH* More global substitution. - [49]
KPZNJ33U* In views, support selecting a job that doesn't depend on the - [50]
V4RNHJNR* Add a link to each project's homepage. Suggested by karltk. - [51]
BD3GRK4B* Get rid of "positive failures" and separate log phases. - [52]
SB2V735VKeep track of the database schema version - [53]
KOTB7BKV - [54]
S6OISBQ3* Mark the "current" builds in a jobset, i.e. those corresponding to - [55]
QBQSQOSYhydra: moved getbuildlog - [56]
ZWCTAZGLadded newsitems, added some admin options to clear various caches. - [57]
ZDENAYQI* email notification of evaluation errors to project owner (if desired) - [58]
2T42QGZD* Register builds as GC roots so they don't get deleted. - [59]
JTRG7RDQadd support for git as jobinput - [60]
QNDXPVCI* Store the jobset's nixExprPath and nixExprInput fields in a build to - [61]
CLJQCY2X* Store info about all the build actions and allow them to be - [62]
TWVSALRL* Allow the maximum number of concurrent builds per platform to be - [63]
EJFVQ33S* In the job status page and the channels, pick the build with the - [64]
6US6LEC7* Add a NarSize field to Hydra manifests. This allows nix-env - [65]
RFE6T5LG* Store jobset evaluations in the database explicitly. This includes - [66]
L2E6EVE2* Merged the Build and Job tables. - [67]
GZAXDYBQ* Script for initialising the database. - [68]
GNIEG2GC* Disambiguate jobs by jobset name. I.e. jobs with the same name in - [69]
RBNQKATL* Adding persistant releases. A release is a named set of builds. - [70]
RWIBJ5L4* Autoflush stdout. - [71]
VKOHKP4MHydra now uses an optional HYDRA_DBI environment variable which holds the DBI url. If this variable is not set, sqlite is used like before. - [72]
YAPITGB3* Boolean inputs. - [73]
CMU3YKOU* Store the release name. - [74]
AHTEIK7G* Added a maintainers field to the Builds table. - [75]
D3DIBMOK* For products that are directories (like manuals), allow a default - [76]
JK2QWPH6 - [77]
J5UVLXOK* Start of a basic Catalyst web interface. - [78]
FHF6IZJQ* Basic release management: releases are now dynamically computed as - [79]
S66BOMVU* Added authentication. - [80]
VJHIHMEH* Store the meta.longDescription and meta.license attributes in the - [81]
SZYY2EQQ* Make the queries more readable. - [82]
ECBA3GQO* Make the schema class names match the case of the SQL table names. - [83]
LCKWLQW3* In Sqlite "release" is now a keyword, so use "release_" instead. - [84]
LZO3C2KI* Hack around those SQLite timeouts: just retry the transaction. - [85]
H7CNGK4O* Log evaluation errors etc. in the DB. - [86]
R5D7DZPE - [87]
X5UVREJY* PostgreSQL compatibility. - [88]
IJPTEKRF - [89]
SJN2QPWH* Big speed-up of the job status page and the channel generation (such - [90]
67P45PY4 - [91]
6BLUKEQ2* Caching of "path" inputs, and fake a revision number for those. - [92]
2QA4Y4G3* hydra: added index, actual build time (buildstep with same outpath, so without deps) of the build - [93]
YTZOC7C5* Editing of jobset inputs. - [94]
IN272KZW* Automatically keep all builds in the latest successful release in - [95]
X27GNHDV* Basic job info in the database. - [96]
DVNWJXWW* Generic declaration of build products. - [97]
P5X4P6VK* Renaming "release sets" to "views" (not finished yet). Having - [98]
7ZSVXUGFsequence fix for postgresql - [99]
KN3VYE5P* Cleaned up the foreign key constraints. - [100]
2GK5DOU7* Downloading closures. - [101]
AFTXA575* $HYDRA_DATA environment variable. - [102]
37R34XJO* Negative caching: don't perform a build if a dependency already - [103]
7PYQLDQLAdded sequences for auto increment primary key columns (for PostgreSQL) - [104]
7YBYT2LQ - [105]
ZDF42B24revert change to dbix::class generated code - [106]
WZ3AEJ67* hydra_update_gc_roots.pl registers build outputs that should be kept - [107]
W3HI52QVuse NIX_*_DIR env vars when defined - [108]
3HCBU2FA - [109]
OOQ2D3KC* Refactoring: move fetchInput out of hydra_scheduler into a separate - [110]
TQKGQ5R3 - [111]
BHZXGT2H* Channels: provide an index page that lists all the packages in the - [*]
T7Z63K6Thydra: moves jobsetOverview sub - [*]
IW2LHCLLfixed email bug
Change contents
- edit in src/lib/Hydra/Helper/AddBuilds.pm at line 9
use Hydra::Model::DB; - replacement in src/lib/Hydra/Helper/AddBuilds.pm at line 26
return getHydraPath . "/scm" ;return Hydra::Model::DB::getHydraPath . "/scm" ; - edit in src/lib/Hydra/Helper/Nix.pm at line 8
use Hydra::Model::DB; - replacement in src/lib/Hydra/Helper/Nix.pm at line 12
getHydraPath getHydraHome getHydraDBPath openHydraDB getHydraConf txn_dogetHydraHome getHydraConf txn_do - edit in src/lib/Hydra/Helper/Nix.pm at line 19[6.302]→[6.302:321](∅→∅),[6.321]→[6.30:84](∅→∅),[6.84]→[6.65:141](∅→∅),[6.129]→[6.503:520](∅→∅),[6.141]→[6.503:520](∅→∅),[6.153]→[6.503:520](∅→∅),[6.503]→[6.503:520](∅→∅),[6.520]→[6.142:145](∅→∅),[6.145]→[4.2509:2510](∅→∅)
sub getHydraPath {my $dir = $ENV{"HYDRA_DATA"} || "/var/lib/hydra";die "The HYDRA_DATA directory ($dir) does not exist!\n" unless -d $dir;return $dir;} - replacement in src/lib/Hydra/Helper/Nix.pm at line 26
my $conf = $ENV{"HYDRA_CONFIG"} || (getHydraPath . "/hydra.conf");my $conf = $ENV{"HYDRA_CONFIG"} || (Hydra::Model::DB::getHydraPath . "/hydra.conf"); - edit in src/lib/Hydra/Helper/Nix.pm at line 32[6.524]→[6.524:545](∅→∅),[6.545]→[6.0:32](∅→∅),[6.32]→[3.0:25](∅→∅),[3.25]→[6.53:252](∅→∅),[6.53]→[6.53:252](∅→∅),[6.252]→[6.673:677](∅→∅),[6.690]→[6.673:677](∅→∅),[6.673]→[6.673:677](∅→∅),[6.677]→[6.691:774](∅→∅),[6.774]→[2.0:98](∅→∅),[2.98]→[6.830:846](∅→∅),[6.830]→[6.830:846](∅→∅),[6.846]→[6.49:53](∅→∅)
sub getHydraDBPath {my $db = $ENV{"HYDRA_DBI"};if ( defined $db ) {return $db ;}else {my $path = getHydraPath . '/hydra.sqlite';die "The Hydra database ($path) not exist!\n" unless -f $path;return "dbi:SQLite:$path";}}sub openHydraDB {my $db = Hydra::Schema->connect(getHydraDBPath, "", "", {});$db->storage->dbh->do("PRAGMA synchronous = OFF;")if defined $ENV{'HYDRA_NO_FSYNC'};return $db;} - replacement in src/lib/Hydra/Model/DB.pm at line 5
use Hydra::Helper::Nix;sub getHydraPath {my $dir = $ENV{"HYDRA_DATA"} || "/var/lib/hydra";die "The HYDRA_DATA directory ($dir) does not exist!\n" unless -d $dir;return $dir;}sub getHydraDBPath {my $db = $ENV{"HYDRA_DBI"};return $db if defined $db;my $path = getHydraPath . '/hydra.sqlite';die "The Hydra database ($path) not exist!\n" unless -f $path;return "dbi:SQLite:$path";} - edit in src/lib/Hydra/Schema/BuildInputs.pm at line 158[6.83]→[6.781:782](∅→∅),[6.206]→[6.781:782](∅→∅),[6.266]→[6.781:782](∅→∅),[6.291]→[6.781:782](∅→∅),[6.317]→[6.781:782](∅→∅),[6.498]→[6.781:782](∅→∅),[6.1112]→[6.781:782](∅→∅),[6.1467]→[6.781:782](∅→∅),[6.2318]→[6.781:782](∅→∅),[6.2938]→[6.781:782](∅→∅),[6.6488]→[6.781:782](∅→∅),[6.781]→[6.781:782](∅→∅),[6.782]→[6.2319:2343](∅→∅),[6.142]→[6.924:925](∅→∅),[6.142]→[6.924:925](∅→∅),[6.142]→[6.924:925](∅→∅),[6.142]→[6.924:925](∅→∅),[6.142]→[6.924:925](∅→∅),[6.142]→[6.924:925](∅→∅),[6.142]→[6.924:925](∅→∅),[6.142]→[6.924:925](∅→∅),[6.142]→[6.924:925](∅→∅),[6.142]→[6.924:925](∅→∅),[6.142]→[6.924:925](∅→∅),[6.203]→[6.924:925](∅→∅),[6.205]→[6.924:925](∅→∅),[6.222]→[6.924:925](∅→∅),[6.231]→[6.924:925](∅→∅),[6.241]→[6.924:925](∅→∅),[6.289]→[6.924:925](∅→∅),[6.308]→[6.924:925](∅→∅),[6.321]→[6.924:925](∅→∅),[6.325]→[6.924:925](∅→∅),[6.395]→[6.924:925](∅→∅),[6.437]→[6.924:925](∅→∅),[6.507]→[6.924:925](∅→∅),[6.537]→[6.924:925](∅→∅),[6.555]→[6.924:925](∅→∅),[6.571]→[6.924:925](∅→∅),[6.629]→[6.924:925](∅→∅),[6.729]→[6.924:925](∅→∅),[6.825]→[6.924:925](∅→∅),[6.843]→[6.924:925](∅→∅),[6.852]→[6.924:925](∅→∅),[6.867]→[6.924:925](∅→∅),[6.875]→[6.924:925](∅→∅),[6.1143]→[6.924:925](∅→∅),[6.1473]→[6.924:925](∅→∅),[6.1540]→[6.924:925](∅→∅),[6.1643]→[6.924:925](∅→∅),[6.2117]→[6.924:925](∅→∅),[6.2343]→[6.924:925](∅→∅),[6.3193]→[6.924:925](∅→∅),[6.924]→[6.924:925](∅→∅),[6.925]→[6.0:136](∅→∅),[6.97]→[6.925:926](∅→∅),[6.136]→[6.925:926](∅→∅),[6.1740]→[6.925:926](∅→∅),[6.925]→[6.925:926](∅→∅),[6.926]→[6.137:151](∅→∅)
use Hydra::Helper::Nix;sub addSequence {my $hydradbi = getHydraDBPath ;if ($hydradbi =~ m/^dbi:Pg/) {__PACKAGE__->sequence('builds_id_seq');}}addSequence ; - edit in src/lib/Hydra/Schema/BuildInputs.pm at line 159
# You can replace this text with custom content, and it will be preserved on regeneration - edit in src/lib/Hydra/Schema/Builds.pm at line 434[6.928]→[6.1324:1325](∅→∅),[6.5178]→[6.1324:1325](∅→∅),[5.6862]→[6.1324:1325](∅→∅),[6.11112]→[6.1324:1325](∅→∅),[6.1324]→[6.1324:1325](∅→∅),[6.1325]→[6.63:87](∅→∅),[6.63]→[6.63:87](∅→∅)
use Hydra::Helper::Nix; - edit in src/lib/Hydra/Schema/Builds.pm at line 457[6.2196]→[6.153:171](∅→∅),[6.171]→[6.880:1004](∅→∅),[6.290]→[6.165:167](∅→∅),[6.1004]→[6.165:167](∅→∅),[6.165]→[6.165:167](∅→∅),[6.167]→[6.2196:2197](∅→∅),[6.2196]→[6.2196:2197](∅→∅)
sub addSequence {my $hydradbi = getHydraDBPath;if ($hydradbi =~ m/^dbi:Pg/) {__PACKAGE__->sequence('builds_id_seq');}} - edit in src/lib/Hydra/Schema/Builds.pm at line 520[6.292]→[6.292:305](∅→∅),[6.305]→[6.3770:3771](∅→∅),[6.3031]→[6.3770:3771](∅→∅),[6.3770]→[6.3770:3771](∅→∅)
addSequence; - edit in src/lib/Hydra/Schema/JobsetEvals.pm at line 147[6.4616]→[6.1130:1131](∅→∅),[6.18496]→[6.1130:1131](∅→∅),[6.1130]→[6.1130:1131](∅→∅),[6.1131]→[6.4617:4788](∅→∅)
use Hydra::Helper::Nix;# !!! Ugly, should be generated.my $hydradbi = getHydraDBPath;if ($hydradbi =~ m/^dbi:Pg/) {__PACKAGE__->sequence('jobsetevals_id_seq');} - edit in src/lib/Hydra/Schema/NewsItems.pm at line 88
use Hydra::Helper::Nix;# !!! Ugly, should be generated.my $hydradbi = getHydraDBPath;if ($hydradbi =~ m/^dbi:Pg/) {__PACKAGE__->sequence('newsitems_id_seq');} - edit in src/script/hydra-build at line 9[6.1070][114.0]
use Hydra::Model::DB; - replacement in src/script/hydra-build at line 25
my $db = openHydraDB;my $db = Hydra::Model::DB->new(); - edit in src/script/hydra-evaluator at line 8
use Hydra::Model::DB; - edit in src/script/hydra-evaluator at line 10
- replacement in src/script/hydra-evaluator at line 20
my $db = openHydraDB;my $db = Hydra::Model::DB->new(); - edit in src/script/hydra-init at line 6
use Hydra::Model::DB; - replacement in src/script/hydra-init at line 11
my $db = openHydraDB;my $db = Hydra::Model::DB->new(); - edit in src/script/hydra-queue-runner at line 9
use Hydra::Model::DB; - replacement in src/script/hydra-queue-runner at line 13
chdir getHydraPath or die;my $db = openHydraDB;chdir Hydra::Model::DB::getHydraPath or die;my $db = Hydra::Model::DB->new(); - edit in src/script/hydra-update-gc-roots at line 9
use Hydra::Model::DB; - replacement in src/script/hydra-update-gc-roots at line 12
my $db = openHydraDB;my $db = Hydra::Model::DB->new(); - replacement in src/script/hydra-update-gc-roots at line 79
if ($jobset->enabled == 0 && (time() - $jobset->lastcheckedtime > (7 * 24 * 3600))) {if ($jobset->enabled == 0 && (time() - ($jobset->lastcheckedtime || 0) > (7 * 24 * 3600))) {