Remove trailing whitespace

[?]
Jan 22, 2013, 1:41 PM
3PNG7NIBQQURUUPRVQXYL342OT7JUUYOMY2JJNP6YDX7SYJDZMYAC

Dependencies

  • [2] L755DXLC
  • [3] GRVVUPQH * hydra: wider timeline
  • [4] 2YXO5ZGQ Hydra/28: Rename "scheduler" to "evaluator"
  • [5] 77VF5TC6 * For ease of use during debugging, don't require --gc-roots-dir.
  • [6] PCZHB5JU * Remove trailing whitespace.
  • [7] UMEQXUUH hydra: fix name of build jobset
  • [8] AX5EQJO3 hydra: show machine in buildsteps
  • [9] JUZVPV6S qualify id column in queries
  • [10] D3MDJONY
  • [11] AMFMXR52 Provide a command ‘hydra-init’ to initialise/upgrade the database
  • [12] 6CZHII3Q Use <...> syntax
  • [13] 5SMQ2PLK Fix tests
  • [14] KU33KNG3 Add a redirect to the evaluation page of a view result
  • [15] ZCTGG25S Add a redirect to the latest view result for which the underlying evaluation has finished completely
  • [16] 2NGV7NYN Drop unused "tag" column
  • [17] UXKPFRO2 Remove the "There are evaluation errors!", instead emphasize the presence of the tab more
  • [18] OEKLIFZQ Change the "Available" link to "pretty"
  • [19] G2T4WAHI Store the inputs of each evaluation in the database
  • [20] 4C7LKWH4 Consistent capitalisation
  • [21] KJC7RKIE Speed up the jobset eval list a bit
  • [22] YS3AVMLC Remove buildtime and runtime dependency graph. It is useless on normal derivations.
  • [23] KWXA2SFU Reinstate the edit/clone links on the jobset page.
  • [24] YFYRNNQU Use <h3> for running/failed build steps
  • [25] L2BP7OFX Fix the duration on Build pages
  • [26] 6ZHQKBZP Fix indentation
  • [27] C6ENW2KX Add time to evaluation error tab. Fixes #21.
  • [28] EBG4P4SY Doh - clear $NIX_PATH properly
  • [29] LZYXZOLK * Add 'set -e' to all scm test setup scripts, to catch errors as early as possible
  • [30] IDT3SO3P Generate *.narinfo files on the fly to support the binary cache substituter
  • [31] KQZQI2WN Allow creating a release from an evaluation
  • [32] NHBGHO57 Set the Content-Type properly
  • [33] IK2KI6KZ Add create-user action that was mostly present already.
  • [34] WUMCRXFX Don't ignore assertion failures in getDerivation()
  • [35] CQTN62OH Die tabs die
  • [36] OO2UBYXW Drop the merged tables after conversion
  • [37] NAJJDIK6 Move 'keep build' and 'restart' to toplevel menu
  • [38] AFEKITYD Fix some warnings about undefined values
  • [39] HE3GX5IP Optimize fetch-git.
  • [40] TMP2FRIW
  • [41] LL36GPHA added help, removed nix closure from 'failed build with output' productlist
  • [42] TH674WKJ add log diff to compare logs to previous builds
  • [43] 3HEMN2Q2 * Speed up the jobstatus query a little bit.
  • [44] SGNXIOI4 Hydra/32: Add option to force evaluation of a certain jobset via web interface (for admins only)
  • [45] EJFVQ33S * In the job status page and the channels, pick the build with the
  • [46] E3X3C5LK Replace ugly link with nice small buttons
  • [47] Z2E5PAYY Move Hide/Unhide links for project to toplevel menu.
  • [48] N22GPKYT * Put info about logs / build products in the DB.
  • [49] TJPIS3UP hydra: minor improvements in hydra ui
  • [50] N3KBVX6G Set $PERL5LIB properly in hydra-init in "make check"
  • [51] ALIOF64I * Use IO::Handles instead of old school filehandles. This ensures
  • [52] X5UVREJY * PostgreSQL compatibility.
  • [53] Z6MDQIGO * A quick (non-Web 2.0) interface to manually add builds to a release.
  • [54] VVDQKVNL
  • [55] KJQWSRCC Speed up hydra-update-gc-roots
  • [56] QTFVCDIF added hide feature for project/jobset
  • [57] XDDCO6CH * hydra: add dependency list with links to logfiles
  • [58] RFE6T5LG * Store jobset evaluations in the database explicitly. This includes
  • [59] FAIJDQKZ
  • [60] BKOIYITR added some json responses
  • [61] MPVX6MKX * hydra: on build page, show tail of log on first tab when buildstatus == 1 (this specific build failed)
  • [62] 7YBYT2LQ
  • [63] WHS5RMPO
  • [64] A52HEFHQ * Allow builds to be restarted (if they failed with a transient error,
  • [65] SU566LI3 * Sort releases.
  • [66] SJN2QPWH * Big speed-up of the job status page and the channel generation (such
  • [67] 2BUX775I * More release -> view.
  • [68] DE2DNCOI Allow comparing an evaluation with an arbitrary other evaluation
  • [69] RSEGBU6C Hydra/20: Jobset clone feature
  • [70] EWRCO2ND Give Hydra binary caches a low priority
  • [71] JTRG7RDQ add support for git as jobinput
  • [72] JRVI4XTV tests: Use $(builddir) instead of `pwd`.
  • [73] Y35C6GHH * One-click installs.
  • [74] FV2M6MOT hydra: use autoconf/-make
  • [75] AEKIREIH * Updated hydra_eval_jobs for the new evaluator.
  • [76] TLZ2SPBR
  • [77] Q4VDOA76 Replace last 5 builds on jobset page with last 5 evaluations. Moved hide/unhide and evaluate options to jobset topmenu.
  • [78] YGRLM2SK * Export all relevant info about the derivation.
  • [79] E74FJWCF * Pass the page number in the URI query string.
  • [80] 37RKEEMP Don't use colspan=0, it doesn't work in all browsers
  • [81] 4LWGZL33
  • [82] TW5ZQX5Z * Move up the build products in the builds page, since they're more
  • [83] WT7BGOXO Move 'clone build' to top menu
  • [84] TSJHDJVI Fix hide/unhide links.
  • [85] WFJ3ZPRM add tests for scm inputs
  • [86] ZLQL62FK Only show "Running build steps" if there are running build steps
  • [87] ZDF42B24 revert change to dbix::class generated code
  • [88] ODNCGFQ5 * Improved the navigation bar: don't include all projects (since that
  • [89] KRVD4EW7 * Only non-garbage collected builds can be added to a release.
  • [90] IGZ3IFSG * Escape `+', `=' and `?' in NAR URIS in manifests. Otherwise you get
  • [91] 5SHCWE7X * Prevent repeated evaluation of a jobset with the same inputs. This
  • [92] KAZWI5G4 * hydra: buildpage, show changes since last build/successful build
  • [93] CPQQFQMZ doc: Reintegrate the intro by Visser & Dolstra from `manual.html'.
  • [94] ZEEZRG2E clean up build page for build that failed with result
  • [95] JRU2LRPZ
  • [96] DQD7JMSU * Fix the terminology.
  • [97] OB7GB5DL Test environment cleanups
  • [98] 4X6NS66Q * Keep the most recent builds for each job.
  • [99] HFJPPMTU Cleanup
  • [100] DCHQR576 add bzr-repo target
  • [101] HUH62VDL show current builds on job page
  • [102] X27GNHDV * Basic job info in the database.
  • [103] KN3VYE5P * Cleaned up the foreign key constraints.
  • [104] PVBTVPKJ nix needs env vars as absolute paths
  • [105] CVWQXYKM use newer icons consistently
  • [106] BHZXGT2H * Channels: provide an index page that lists all the packages in the
  • [107] HPEG2RHV Merge the BuildResultInfo table into the Builds table
  • [108] BPVJBR2P * Only put Nix builds in the global channel.
  • [109] T273UOB7 Support obtaining the contents of an evaluation as a channel
  • [110] D6YQQQCN * Don't ignore SIGCHLD after all, Perl doesn't like it. Just do
  • [111] M552HLIA * Support variant builds.
  • [112] VCOSLZRP
  • [113] SHYRGAWZ hydra: when no external url is given for diff's of git/hg input, revert to a diff done on a local available clone
  • [114] TULPZ62Y * Perform builds in parallel.
  • [115] KVPYKWZ7 * Allow `-' in project/jobset names.
  • [116] PHX2HIVG * Store info about the build inputs in the build record.
  • [117] 4LBNSOFK Propagate URI parameters
  • [118] YISCM3G3 Fix query for certain postgresql versions.
  • [119] A63IHCMX * Register GC roots properly.
  • [120] 3RL7VFKE Add tests for "git describe --long".
  • [121] 5Y3XOQBR Include the URL of the binary cache in .nixpkg files
  • [122] NUIKDEHL * A quick hack to list the contents of various types of files (RPM,
  • [123] NIQ2WDFP keep build directory
  • [124] QMW24O5S Add support for Guile & Guix.
  • [125] LCKWLQW3 * In Sqlite "release" is now a keyword, so use "release_" instead.
  • [126] NABL63FI * hydra: project members can do stuff that the owner can do
  • [127] R5D7DZPE
  • [128] I3TU2UJQ
  • [129] OEPUOUNB Using twitter bootstrap for more consistent looks for Hydra
  • [130] ZTQEU5QS Hydra: Add support for maxSilent meta attribute (also already added timeout, but not implemented the actual timeout for the build yet)
  • [131] GYPHTT4M Manual: Remove tabs, indent consistently
  • [132] WYN733ST * Store build duration, handle cached builds.
  • [133] NDL67SQT * XHTML validity.
  • [134] RBNQKATL * Adding persistant releases. A release is a named set of builds.
  • [135] NW3ZYPCM added store path size graph
  • [136] QU5I5GCL
  • [137] ON4DDIBZ * Forgot to commit.
  • [138] HVXL2XUZ
  • [139] B6JJCWTG tests: Add $(srcdir) to Perl's module search path.
  • [140] OIS2UPQG
  • [141] E5DMQRPO Remove unnecessary whitespace in the HTML output
  • [142] WWZWUPFI if no previous successful build, do not show changes section
  • [143] RBZRCTAL hydra: fixed and re-enabled evaluation tests
  • [144] AKAZKCR6 * At top-level and for each project, provide two channels: "latest"
  • [145] A5V7HLIQ * Shut up DBIx::Class.
  • [146] FGQPXZIX hydra: make nr of build to keep configurable per jobset
  • [147] G6HJY2V4
  • [148] YQWH4POV * Simplify.
  • [149] EE53ECTS doc: Write "Building from the Command Line".
  • [150] CS2CB4EQ fix for clone build with build as input
  • [151] WRIU3S5E * UI for cloning builds (not functional yet).
  • [152] G2ZB6464 first test, not yet in buildprocess
  • [153] P5X4P6VK * Renaming "release sets" to "views" (not finished yet). Having
  • [154] J7EE2XZA Fix a huge performance regression in the jobstatus page
  • [155] BTUDUY6F * Provide some redirects to the latest successful build for a job (or
  • [156] ZWCTAZGL added newsitems, added some admin options to clear various caches.
  • [157] 3EGKZC3C hydra: in jobstatus pages, allow maintainer query argument to show only the packages you are maintaining
  • [158] 2JQ7WEFM
  • [159] O7HSEB3X
  • [160] ZI535LI6 * hydra: 'new' UI for project/jobset/job/build
  • [161] ZD5AEKWM * Job status / error pages: show only active jobs.
  • [162] X5OIC5FF * hydra: ui bug
  • [163] EDDTVGB4 set BZR_HOME env var so bzr won't fail
  • [164] U2BNO3C5 hydra: fix build job
  • [165] CTYUTPED hydra-module: Remove `nix.*' settings.
  • [166] ELABMHJI * hydra: layout changes
  • [167] XBU2ODSP * More renaming.
  • [168] RRCGVQLW Revert sorting build products
  • [169] VOBFCHIX use top_srcdir in stead of srcdir
  • [170] D6VR5FYG * Fix hydra_eval_jobs.
  • [171] XHK7IGYI * hdyra: show last succeeded build and changes since on build status summary if build has failed
  • [172] RYLUY5ZU Do not load charts lazily for now.
  • [173] 57Y7RG2A Update queryPathInfo calls
  • [174] 3U3CXCDW Nicer link to the rest of the jobset evals
  • [175] SZYY2EQQ * Make the queries more readable.
  • [176] MVB7RRLT * Move NARs from the NixChannel controller to the Root controller and
  • [177] SBKX3YH2 cleanup
  • [178] LGNML7VJ Don't use a prepared statement for the active build steps query
  • [179] RWFCW6ZN In the jobset evals lists, show what inputs changed between consecutive evals
  • [180] WOHG5MJD hydra: catalyst plain view doesn;t work with data => 0, so put some whitespace around it
  • [181] 67P45PY4
  • [182] S66BOMVU * Added authentication.
  • [183] AHTEIK7G * Added a maintainers field to the Builds table.
  • [184] 2I2ZX6JB * Make the "latest succeeded" query (used by the "latest" channel)
  • [185] ZE23JEJT Add a binary-cache-url file to channels to advertise the binary cache URL
  • [186] UMFB2767 Hydra/64: Leaving number of builds empty gives DBIx error
  • [187] YZUQKPNJ * hydra: remove excess layout
  • [188] XE6HD7BP Provide the nix-cache-info file required by the binary cache substituter
  • [189] Z4KRJX4Q * In the last succeeded / job status queries, use the Builds.isCurrent
  • [190] HX4QYOYA add first evaluations tests
  • [191] FHF6IZJQ * Basic release management: releases are now dynamically computed as
  • [192] SZYDW2DG hydra: added some user admin
  • [193] 5IK6NYKF
  • [194] GPHLV42M * Allow the description of a release member to be edited, and to
  • [195] 5QE3TIHP hydra: add status icon per jobset on project page
  • [196] JAUTUNGI bug fix
  • [197] KXGOUX7P * Creating releases.
  • [198] HEZ2V5NU order jobset in project view
  • [199] 5AKAE3R6 start of hydra manual
  • [200] KG5AMUMG Cleanup
  • [201] Y2BFYLLK * Install the SQL schemata in $out/share/hydra/sql.
  • [202] OV7F5M3E Merge branch 'queue-17'
  • [203] ZVGQP2SX hydra-module: Add a `logo' option.
  • [204] LBNVQXUB * Build the /build stuff in a separate controller.
  • [205] D6ET5EQ6 Doh
  • [206] 2GK5DOU7 * Downloading closures.
  • [207] KBW3FDZ2 Merge remote branch 'remotes/origin/master'
  • [208] 2PEN43XF Hydra/40: Last 5 builds on job page incorrect
  • [209] AKAXJDMW * Disable the statistics on the project, jobset and job pages for now
  • [210] 4N5APGRG * Start of a helper tool to evaluate job expressions efficiently.
  • [211] IK53RV4V
  • [212] 6US6LEC7 * Add a NarSize field to Hydra manifests. This allows nix-env
  • [213] 5FP63F5T More command renaming.
  • [214] 3TL5XENE Different icons (darker red) for cancelled builds. Fixes #25.
  • [215] RI4S7SYT * Job status: show the active jobs.
  • [216] YTSIRIMK * Separate job status and all builds pages.
  • [217] EKNK5AHQ doc: Augment the "Installation" section with material by Visser & Dolstra.
  • [218] 2AUODJBT
  • [219] IWVA2P2Y * Generate manifests on demand. Next step: generate NAR archives on
  • [220] TCHEWSZL * The "latest" channel shouldn't contain inactive jobs.
  • [221] AS2OXLRM * Editing releases.
  • [222] INUGMXTG hydra-module: Add a `port' option.
  • [223] LZO3C2KI * Hack around those SQLite timeouts: just retry the transaction.
  • [224] 3SQCOHZN * minor performance tweaks
  • [225] NREF6YOA * Don't start more builds concurrently than allowed for each system
  • [226] MOX7XJ2E Merge the BuildSchedulingInfo table into the Builds table
  • [227] L2E6EVE2 * Merged the Build and Job tables.
  • [228] QZLMDKMU * Queue runner: don't start scheduled builds builds if they belong to
  • [229] BVOPAMLS
  • [230] OW6XV2YS * Allow a view result to be saved as a release.
  • [231] 3Y7AFJSS * Support linking to the latest job in a view for a specific platform, e.g.
  • [232] 22JB5HNE make changes section more compact/readable
  • [233] G4X5IUYJ Remove default logo, replaced by text for now. Hide template in jobset edit.
  • [234] ZGBU7H7P * Pass nixUnstable to the tarball build.
  • [235] J5UVLXOK * Start of a basic Catalyst web interface.
  • [236] XJFHFZCA * Provide some redirects to build products by type so that we can for
  • [237] 6QRHXIM3 * Speed up the jobset index page. Especially the query to get the
  • [238] JM3DPYOM generated schema with new dbix class schema loader, grrrrrr
  • [239] LW755CJK doc: Write "Adding More Jobs".
  • [240] T6KISLR6 Fix indentation
  • [241] N45RZUQ6 Reduce I/O in build listings by only fetching required columns
  • [242] SMTMFEKE hydra: add missing templates
  • [243] ADP54EI4 Fix the spacing around some <h3> headers
  • [244] GAZHOBWE Better fix
  • [245] SMM4HQTP * Put actions related to builds under /build (e.g. /log/<buildid>
  • [246] K4C6DNSM changed queries for compatibility with postgresql
  • [247] RJICSUYG * Align the apply/delete buttons.
  • [248] 4UBEIJRA release.nix: Remove `services' arguments to ${nixos}/lib/testing.nix.
  • [249] G5YSUSNZ In build tables, hide the project, jobset and/or job name if they're constant
  • [250] MMDLWWZ2 automatic reload of tail log when build is running
  • [251] VVOAXWH4 fix wrong dbix:class:loader generation
  • [252] L7NUCXKS Show new and removed jobs
  • [253] 6ABZ4GQY * hydra: alphabetical order of systems in status overview
  • [254] NYC3LZKH * Generate NAR archives on the fly. Necessary for producing channels
  • [255] POPU2ATH * hydra_scheduler: use eval-jobs.
  • [256] GWCV3TQV * BuildInputs table: link to dependencies, include store paths.
  • [257] JFZNAYJX * Showing releases.
  • [258] GNIEG2GC * Disambiguate jobs by jobset name. I.e. jobs with the same name in
  • [259] GEL2WHSU Move channel link to top menu of Project and Jobset.
  • [260] A6EKITA6 Update the docs to reflect the renaming
  • [261] PKE6I67S doc: Import the "Creating Projects" chapter by Visser & Dolstra.
  • [262] JLICHVE6 * hydra: do not show build history if there are no previous builds
  • [263] TPDJL4TY * Add derivations and all build-time dependencies of a build to the
  • [264] BDSD2JLV * Speed up manifest generation.
  • [265] JXPHAZMV Minor style changes
  • [266] 2QA4Y4G3 * hydra: added index, actual build time (buildstep with same outpath, so without deps) of the build
  • [267] 3ZCEPLNO
  • [268] R5HDC22Y Move 'clone build' and 'restart build' to top menu
  • [269] W6DC6K4I * Happy Javascript hacking.
  • [270] T4LLYESZ * Nix expression for building Hydra.
  • [271] J3G4ZLOK hydra-module: Fix typo.
  • [272] CEARA7OH * hydra: show running buildsteps on build page
  • [273] HQGXL4MX Add validation for project and jobset names
  • [274] 75XUS62Y * Added a page to quickly see all failed builds and failed evaluations
  • [275] 3BNEHVKO used wrong builds collection for determining if we need to show current build section in job page
  • [276] 7G5RWHB7 Remove the "all" channel
  • [277] PC6UOHH7 add some stats to jobsets in project view
  • [278] HHPQFVQM add local srcdir to perl5lib env var
  • [279] TCXFZZFN * hydra: make chart zoomable and clickable
  • [280] 7DWCXNC7 Use the new Nix Perl bindings
  • [281] CJTOL7Y2 * Call computeFSClosure() directly.
  • [282] 7Z3YOKCV * PROCESS -> INCLUDE in most cases. INCLUDE does proper scoping of
  • [283] DSM3TTSO Hydra/31: "Duration" field broken in cached builds that are not in DB anymore
  • [284] 6FRLEP4P first try for timeline of last 24 hours in hydra
  • [285] E6IC7YIK * Release sets: need to include the jobset name to disambiguate
  • [286] UWVMQIAC * Refactoring.
  • [287] RAKTHYAI * In the job status and error pages, show when the status of a job
  • [288] 2R7GHSA4 * hydra: added initial version of build graph
  • [289] D3DIBMOK * For products that are directories (like manuals), allow a default
  • [290] BTYVIHF7 Make the jobset eval rows clickable
  • [291] WW6BFSNF Move the "Cancel build" button to the menu
  • [292] 7YCFGMZB * Report evaluation errors per job, and don't bail out if a job fails
  • [293] FFMOQLJQ fix nrbuilds query
  • [294] CLJQCY2X * Store info about all the build actions and allow them to be
  • [295] FPK5LF53 * Put the project-related actions in a separate controller. Put the
  • [296] FN6V3C7M always show latest 10 builds on job page
  • [297] IHU3IMC6 Revert changeset 4399683fa0e9abb64f63affc7caca7f77abea1b7, make jobset options available to project members as well
  • [298] LUPEGYR7 Hydra: In case of failure, also show changes between last succesful build and the first failed build after this
  • [299] QL55ECJ6 - adapted ui for hydra, more in line with nixos.org website
  • [300] 7C6HSXUQ * Start of a regression test for Hydra.
  • [301] 3E6IP3R3 * Add the name of the jobset to ReleaseSetJobs, otherwise we can't
  • [302] GPRYAAFP hydra: change icon for positive failures
  • [303] SMCOU72F hydra: add some admin for adding/enabling/etc build machines
  • [304] U4TD3AIQ Add support for viewing jobset evaluations
  • [305] JARRBLZD Bootstrapify the Hydra forms (except the project and jobset edit pages)
  • [306] KLRDG3HR Don't show duplicate builds in "Related builds"
  • [307] H27UAGSX project with 0 build resulted in error
  • [308] JLDUSNUO * Unify rendering of finished and scheduled builds.
  • [309] 45ESKY6T * hydra: show finish time on build status overview
  • [310] PBJJSE3D make sure jobs/* and Setup.pm is in tarball
  • [311] FIWFPVUR doc: Add myself as a co-author.
  • [312] 7RO7CINM setup environment variables for tests
  • [313] 777XFGVY Hydra/22: on job page, 'finished builds' shows nothing for old (non-current) jobs
  • [314] BEKA3TMM Hydra/25: At job pages, show the hash of the output
  • [315] P2NOTX5D if no emailoverride specified, use empty string
  • [316] 5NO7NCKT * Refactoring.
  • [317] AZ4LR2GT * Scripts for starting / stopping Hydra.
  • [318] BHJ62LYE * Allow authorised users to create projects.
  • [319] 2B63JW6F * hydra: changes in list in stead of table, also showing changes of changed 'build output' inputs
  • [*] DEMSSSB2 * Controller for jobs which inherits all actions in ListBuilds. So
  • [*] 3HZY24CX * Make jobsets viewable under
  • [*] WZ3AEJ67 * hydra_update_gc_roots.pl registers build outputs that should be kept

Change contents

  • replacement in doc/manual/installation.xml at line 57
    [36.1940][36.878:887](),[36.2212][36.878:887](),[36.878][36.878:887]()
    [36.2212]
    [36.2213]
  • replacement in doc/manual/installation.xml at line 107
    [11.877][11.877:915]()
    hydra-eval-jobs hydra-queue-runner
    [11.877]
    [11.915]
    hydra-eval-jobs hydra-queue-runner
  • replacement in doc/manual/installation.xml at line 194
    [36.5372][36.5372:5430]()
    To start the Hydra web server, execute:
    [36.5372]
    [36.5430]
    To start the Hydra web server, execute:
  • replacement in doc/manual/installation.xml at line 228
    [36.6681][36.6681:6692]()
    [36.6681]
    [36.6692]
  • replacement in doc/manual/introduction.xml at line 222
    [36.8668][36.8668:8794]()
    That installation is used to build software components from the
    <link xlink:href="http://nixos.org">Nix</link>,
    [36.8668]
    [36.8794]
    That installation is used to build software components from the
    <link xlink:href="http://nixos.org">Nix</link>,
  • replacement in doc/manual/manual.xml at line 61
    [36.1062][36.1062:1067]()
    [36.1062]
    [36.1067]
  • replacement in doc/manual/manual.xml at line 67
    [36.112][36.1161:1169](),[36.1161][36.1161:1169]()
    [36.112]
    [36.1169]
  • replacement in doc/manual/projects.xml at line 48
    [36.1740][36.1740:1780]()
    I'm very sorry, but an error occurred:
    [36.1740]
    [36.1780]
    I'm very sorry, but an error occurred:
  • replacement in doc/manual/projects.xml at line 125
    [36.4094][26.893:906]()
    patchelfSrc
    [36.4094]
    [26.906]
    patchelfSrc
  • replacement in doc/manual/projects.xml at line 132
    [36.4297][26.1088:1124]()
    system String value "i686-linux"
    [36.4297]
    [36.4335]
    system String value "i686-linux"
  • replacement in doc/manual/projects.xml at line 392
    [36.2114][36.2114:2121]()
    [36.2114]
    [36.0]
  • replacement in hydra-module.nix at line 8
    [10.78][10.78:123]()
    hydraConf = pkgs.writeScript "hydra.conf"
    [10.78]
    [10.123]
    hydraConf = pkgs.writeScript "hydra.conf"
  • replacement in hydra-module.nix at line 15
    [10.271][10.271:276]()
    [10.271]
    [10.276]
  • replacement in hydra-module.nix at line 32
    [10.564][10.564:573]()
    [10.564]
    [10.573]
  • replacement in hydra-module.nix at line 53
    [10.1052][10.1052:1059]()
    [10.1052]
    [10.1059]
  • replacement in hydra-module.nix at line 61
    [10.1250][10.1250:1257]()
    [10.1250]
    [10.1257]
  • replacement in hydra-module.nix at line 68
    [10.1386][10.1386:1393]()
    [10.1386]
    [10.1393]
  • replacement in hydra-module.nix at line 72
    [10.1490][10.1490:1574]()
    The base URL for the Hydra webserver instance. Used for links in emails.
    [10.1490]
    [10.1574]
    The base URL for the Hydra webserver instance. Used for links in emails.
  • replacement in hydra-module.nix at line 86
    [10.1683][10.1683:1779]()
    Threshold of minimum disk space (G) to determine if queue runner should run or not.
    [10.1683]
    [10.1779]
    Threshold of minimum disk space (G) to determine if queue runner should run or not.
  • replacement in hydra-module.nix at line 93
    [10.1891][10.1891:1984]()
    Threshold of minimum disk space (G) to determine if evaluator should run or not.
    [10.1891]
    [10.1984]
    Threshold of minimum disk space (G) to determine if evaluator should run or not.
  • replacement in hydra-module.nix at line 100
    [10.2111][10.2111:2173]()
    Sender email address used for email notifications.
    [10.2111]
    [10.2173]
    Sender email address used for email notifications.
  • replacement in hydra-module.nix at line 102
    [10.2185][10.2185:2195]()
    };
    [10.2185]
    [10.2195]
    };
  • replacement in hydra-module.nix at line 123
    [10.2504][10.2504:2521]()
    };
    [10.2504]
    [10.2521]
    };
  • replacement in hydra-module.nix at line 128
    [10.2534][10.2534:2537]()
    [10.2534]
    [10.2537]
  • replacement in hydra-module.nix at line 141
    [10.2809][10.2809:2818]()
    }
    [10.2809]
    [10.2818]
    }
  • replacement in release.nix at line 7
    [36.101][36.0:13]()
    tarball =
    [36.101]
    [12.69]
    tarball =
  • replacement in release.nix at line 44
    [36.34][36.1549:1560]()
    build =
    [36.1548]
    [36.1560]
    build =
  • replacement in release.nix at line 55
    [7.22][36.43:65](),[36.1759][36.43:65]()
    src = tarball;
    [7.22]
    [36.65]
    src = tarball;
  • replacement in release.nix at line 102
    [36.258][36.134:139](),[36.3481][36.134:139]()
    [36.258]
    [36.259]
  • replacement in release.nix at line 105
    [36.289][36.289:308]()
    machine =
    [36.289]
    [36.308]
    machine =
  • replacement in release.nix at line 126
    [36.1041][36.1041:1052]()
    [36.1041]
    [36.1052]
  • replacement in release.nix at line 128
    [36.1061][36.1061:1068]()
    [36.1061]
    [36.1068]
  • replacement in src/c/hydra-eval-jobs.cc at line 95
    [36.417][36.417:422]()
    [36.417]
    [36.422]
  • replacement in src/c/hydra-eval-jobs.cc at line 121
    [36.45][36.45:54]()
    [36.45]
    [34.27]
  • replacement in src/c/hydra-eval-jobs.cc at line 165
    [5.192][36.412:425](),[36.412][36.412:425]()
    [5.192]
    [36.1096]
  • replacement in src/c/hydra-eval-jobs.cc at line 216
    [28.108][28.108:113]()
    [28.108]
    [36.570]
  • replacement in src/c/hydra-eval-jobs.cc at line 252
    [36.261][36.583:588]()
    [36.261]
    [5.193]
  • replacement in src/c/hydra-eval-jobs.cc at line 254
    [5.282][36.261:266](),[36.664][36.261:266](),[36.261][36.261:266]()
    [5.282]
    [36.855]
  • replacement in src/lib/Hydra/Base/Controller/ListBuilds.pm at line 12
    [36.123][36.0:5]()
    [36.123]
    [36.7]
  • replacement in src/lib/Hydra/Base/Controller/ListBuilds.pm at line 33
    [36.69][36.69:97]()
    # attention - at a glance.
    [36.69]
    [36.97]
    # attention - at a glance.
  • replacement in src/lib/Hydra/Base/Controller/ListBuilds.pm at line 47
    [36.333][36.333:338]()
    [36.333]
    [36.338]
  • replacement in src/lib/Hydra/Base/Controller/ListBuilds.pm at line 99
    [2.89][36.367:372](),[36.367][36.367:372]()
    [2.89]
    [36.33]
  • replacement in src/lib/Hydra/Base/Controller/ListBuilds.pm at line 109
    [36.741][36.741:746]()
    [36.741]
    [36.493]
  • replacement in src/lib/Hydra/Base/Controller/ListBuilds.pm at line 114
    [36.1138][36.1138:1143]()
    [36.1031]
    [36.185]
  • replacement in src/lib/Hydra/Controller/API.pm at line 30
    [36.507][36.507:515]()
    };
    [36.507]
    [36.515]
    };
  • replacement in src/lib/Hydra/Controller/API.pm at line 36
    [36.604][36.604:609]()
    [36.604]
    [36.659]
  • replacement in src/lib/Hydra/Controller/API.pm at line 43
    [36.793][36.793:883]()
    $c->stash->{'plain'} = {
    data => scalar (JSON::Any->objToJson(\@list))
    [36.793]
    [36.883]
    $c->stash->{'plain'} = {
    data => scalar (JSON::Any->objToJson(\@list))
  • replacement in src/lib/Hydra/Controller/API.pm at line 64
    [36.1312][36.1312:1343]()
    if($build->finished) {
    [36.1312]
    [36.806]
    if($build->finished) {
  • replacement in src/lib/Hydra/Controller/API.pm at line 70
    [36.1553][36.1553:1558]()
    [36.1553]
    [36.1558]
  • replacement in src/lib/Hydra/Controller/API.pm at line 84
    [36.1108][36.1967:1972](),[36.1967][36.1967:1972]()
    [36.1108]
    [36.1109]
  • replacement in src/lib/Hydra/Controller/API.pm at line 86
    [36.1143][36.2007:2216](),[36.2007][36.2007:2216]()
    $filter->{project} = $project if ! $project eq "";
    $filter->{jobset} = $jobset if ! $jobset eq "";
    $filter->{job} = $job if !$job eq "";
    $filter->{system} = $system if !$system eq "";
    [36.1143]
    [36.1144]
    $filter->{project} = $project if ! $project eq "";
    $filter->{jobset} = $jobset if ! $jobset eq "";
    $filter->{job} = $job if !$job eq "";
    $filter->{system} = $system if !$system eq "";
  • replacement in src/lib/Hydra/Controller/API.pm at line 92
    [36.1251][36.2347:2352](),[36.2347][36.2347:2352]()
    [36.1251]
    [36.1252]
  • replacement in src/lib/Hydra/Controller/API.pm at line 95
    [36.1315][36.2439:2529](),[36.2439][36.2439:2529]()
    $c->stash->{'plain'} = {
    data => scalar (JSON::Any->objToJson(\@list))
    [36.1315]
    [36.2529]
    $c->stash->{'plain'} = {
    data => scalar (JSON::Any->objToJson(\@list))
  • replacement in src/lib/Hydra/Controller/API.pm at line 113
    [36.2929][36.2929:2932]()
    }
    [36.2929]
    [36.2932]
    }
  • replacement in src/lib/Hydra/Controller/API.pm at line 126
    [36.3327][36.3327:3332]()
    [36.3327]
    [36.1375]
  • replacement in src/lib/Hydra/Controller/API.pm at line 129
    [36.1440][36.3421:3511](),[36.3421][36.3421:3511]()
    $c->stash->{'plain'} = {
    data => scalar (JSON::Any->objToJson(\@list))
    [36.1440]
    [36.3511]
    $c->stash->{'plain'} = {
    data => scalar (JSON::Any->objToJson(\@list))
  • replacement in src/lib/Hydra/Controller/API.pm at line 144
    [36.139][36.4006:4011](),[36.4006][36.4006:4011]()
    [36.139]
    [36.140]
  • replacement in src/lib/Hydra/Controller/API.pm at line 148
    [36.204][36.4106:4191](),[36.4106][36.4106:4191]()
    $c->stash->{'plain'} = {
    data => scalar (JSON::Any->objToJson(\@list))
    [36.204]
    [36.4191]
    $c->stash->{'plain'} = {
    data => scalar (JSON::Any->objToJson(\@list))
  • replacement in src/lib/Hydra/Controller/API.pm at line 158
    [36.289][36.4396:4426](),[36.4396][36.4396:4426]()
    $c->stash->{'plain'} = {
    [36.289]
    [36.290]
    $c->stash->{'plain'} = {
  • replacement in src/lib/Hydra/Controller/API.pm at line 179
    [36.1578][36.5057:5062](),[36.5057][36.5057:5062]()
    [36.1578]
    [36.5062]
  • replacement in src/lib/Hydra/Controller/API.pm at line 189
    [36.1802][36.5382:5586](),[36.5382][36.5382:5586]()
    $filter->{project} = $project if ! $project eq "";
    $filter->{jobset} = $jobset if ! $jobset eq "";
    $filter->{job} = $job if !$job eq "";
    $filter->{system} = $system if !$system eq "";
    [36.1802]
    [36.5586]
    $filter->{project} = $project if ! $project eq "";
    $filter->{jobset} = $jobset if ! $jobset eq "";
    $filter->{job} = $job if !$job eq "";
    $filter->{system} = $system if !$system eq "";
  • replacement in src/lib/Hydra/Controller/API.pm at line 196
    [36.5671][36.5671:5676]()
    [36.5671]
    [36.1803]
  • replacement in src/lib/Hydra/Controller/API.pm at line 201
    [36.6001][36.6001:6090]()
    $c->stash->{'plain'} = {
    data => scalar (JSON::Any->objToJson(\@arr))
    [36.6001]
    [36.6090]
    $c->stash->{'plain'} = {
    data => scalar (JSON::Any->objToJson(\@arr))
  • replacement in src/lib/Hydra/Controller/Admin.pm at line 104
    [33.67][33.67:99]()
    $c->stash->{create} = 1;
    [33.67]
    [33.99]
    $c->stash->{create} = 1;
  • replacement in src/lib/Hydra/Controller/Admin.pm at line 163
    [36.1949][36.368:373]()
    [36.1949]
    [36.1949]
  • replacement in src/lib/Hydra/Controller/Admin.pm at line 255
    [36.2767][36.576:581]()
    [36.2767]
    [36.2767]
  • replacement in src/lib/Hydra/Controller/Admin.pm at line 257
    [36.2792][36.582:587]()
    [36.2792]
    [36.2792]
  • replacement in src/lib/Hydra/Controller/Job.pm at line 30
    [36.1][36.739:770](),[36.770][35.1731:1794]()
    $c->stash->{lastBuilds} =
    [ $c->stash->{job}->builds->search({ finished => 1 },
    [36.1]
    [35.1794]
    $c->stash->{lastBuilds} =
    [ $c->stash->{job}->builds->search({ finished => 1 },
  • replacement in src/lib/Hydra/Controller/Job.pm at line 36
    [35.1930][35.1930:1958]()
    { busy => 1 },
    [35.1930]
    [35.1958]
    { busy => 1 },
  • replacement in src/lib/Hydra/Controller/Job.pm at line 40
    [36.1860][35.2050:2102]()
    , '+as' => ['enabled']
    }
    [36.1860]
    [35.2102]
    , '+as' => ['enabled']
    }
  • replacement in src/lib/Hydra/Controller/Jobset.pm at line 54
    [36.5][36.153:181]()
    $c->stash->{systems} =
    [36.5]
    [36.181]
    $c->stash->{systems} =
  • replacement in src/lib/Hydra/Controller/Jobset.pm at line 335
    [36.113][36.53:58]()
    [36.113]
    [36.58]
  • replacement in src/lib/Hydra/Controller/Jobset.pm at line 337
    [36.116][36.168:200](),[36.168][36.168:200]()
    { hasnewbuilds => 1 },
    [36.116]
    [21.0]
    { hasnewbuilds => 1 },
  • replacement in src/lib/Hydra/Controller/Jobset.pm at line 369
    [36.1201][36.0:157]()
    if !defined $p || ($input->revision || "") ne ($p->revision || "") || $input->type ne $p->type || ($input->uri || "") ne ($p->uri || "") ||
    [36.1201]
    [36.265]
    if !defined $p || ($input->revision || "") ne ($p->revision || "") || $input->type ne $p->type || ($input->uri || "") ne ($p->uri || "") ||
  • replacement in src/lib/Hydra/Controller/Jobset.pm at line 374
    [21.345][21.345:362]()
    my $e =
    [21.345]
    [36.232]
    my $e =
  • replacement in src/lib/Hydra/Controller/Jobset.pm at line 385
    [36.1471][36.1471:1476]()
    [36.1471]
    [21.686]
  • replacement in src/lib/Hydra/Controller/JobsetEval.pm at line 12
    [36.1554][36.1554:1559]()
    [36.1554]
    [36.1559]
  • replacement in src/lib/Hydra/Controller/JobsetEval.pm at line 53
    [36.1311][36.1311:1316]()
    [36.1311]
    [36.2110]
  • replacement in src/lib/Hydra/Controller/JobsetEval.pm at line 97
    [36.3846][36.3846:3851]()
    [36.3846]
    [36.3851]
  • replacement in src/lib/Hydra/Controller/JobsetEval.pm at line 107
    [31.175][31.175:180]()
    [31.175]
    [31.180]
  • replacement in src/lib/Hydra/Controller/Project.pm at line 12
    [36.1561][36.1561:1566]()
    [36.1561]
    [36.554]
  • replacement in src/lib/Hydra/Controller/Project.pm at line 47
    [36.4652][36.2356:2361](),[36.2356][36.2356:2361]()
    [36.4652]
    [36.641]
  • replacement in src/lib/Hydra/Controller/Project.pm at line 56
    [36.2463][36.2463:2468]()
    [36.2463]
    [36.4653]
  • replacement in src/lib/Hydra/Controller/Project.pm at line 65
    [36.1014][36.1014:1019]()
    [36.1014]
    [36.1019]
  • replacement in src/lib/Hydra/Controller/Project.pm at line 69
    [36.1138][36.1138:1143]()
    [36.1138]
    [36.1143]
  • replacement in src/lib/Hydra/Controller/Project.pm at line 78
    [36.1313][36.1313:1318]()
    [36.1313]
    [36.1318]
  • replacement in src/lib/Hydra/Controller/Project.pm at line 82
    [36.2857][36.2857:2862]()
    [36.2857]
    [36.2862]
  • replacement in src/lib/Hydra/Controller/Project.pm at line 89
    [36.53][36.53:55]()
    [36.53]
    [36.55]
  • replacement in src/lib/Hydra/Controller/Project.pm at line 114
    [36.3253][36.3253:3258]()
    [36.3253]
    [36.1175]
  • replacement in src/lib/Hydra/Controller/Project.pm at line 127
    [36.3661][36.3661:3666]()
    [36.3661]
    [36.3666]
  • replacement in src/lib/Hydra/Controller/Project.pm at line 136
    [36.4925][36.4925:4930]()
    [36.4925]
    [36.4930]
  • replacement in src/lib/Hydra/Controller/Project.pm at line 147
    [36.5197][36.5197:5202]()
    [36.5197]
    [36.5202]
  • replacement in src/lib/Hydra/Controller/Project.pm at line 161
    [36.5632][36.5632:5637]()
    [36.5632]
    [36.5637]
  • replacement in src/lib/Hydra/Controller/Project.pm at line 169
    [36.117][36.3966:3971](),[36.1466][36.3966:3971](),[36.3966][36.3966:3971]()
    [36.3797]
    [36.5772]
  • replacement in src/lib/Hydra/Controller/Project.pm at line 179
    [36.948][36.948:953]()
    [36.948]
    [36.953]
  • replacement in src/lib/Hydra/Controller/Project.pm at line 212
    [36.166][36.166:171]()
    [36.166]
    [36.171]
  • replacement in src/lib/Hydra/Controller/Project.pm at line 256
    [36.299][36.326:331]()
    [36.299]
    [36.331]
  • replacement in src/lib/Hydra/Controller/Release.pm at line 31
    [36.1500][36.1500:1505]()
    [36.1500]
    [36.1505]
  • replacement in src/lib/Hydra/Controller/Release.pm at line 35
    [36.339][36.1668:1673](),[36.1668][36.1668:1673]()
    [36.339]
    [36.1673]
  • replacement in src/lib/Hydra/Controller/Release.pm at line 62
    [36.611][36.0:5]()
    [36.611]
    [36.611]
  • replacement in src/lib/Hydra/Controller/Root.pm at line 90
    [36.4311][36.4311:4352]()
    , { order_by => ["starttime"] }
    [36.4311]
    [36.4352]
    , { order_by => ["starttime"] }
  • replacement in src/lib/Hydra/Controller/Root.pm at line 202
    [32.93][36.101:139](),[36.299][36.101:139](),[36.101][36.101:139]()
    $c->stash->{'plain'} = { data =>
    [32.93]
    [36.139]
    $c->stash->{'plain'} = { data =>
  • replacement in src/lib/Hydra/Controller/View.pm at line 12
    [36.615][36.615:620]()
    [36.615]
    [36.620]
  • replacement in src/lib/Hydra/Controller/View.pm at line 35
    [36.945][36.1365:1370](),[36.1365][36.1365:1370]()
    [36.945]
    [36.946]
  • replacement in src/lib/Hydra/Controller/View.pm at line 39
    [36.1097][36.1546:1551](),[36.1546][36.1546:1551]()
    [36.1097]
    [36.1098]
  • replacement in src/lib/Hydra/Controller/View.pm at line 64
    [36.2516][36.2516:2525]()
    [36.2516]
    [36.1254]
  • replacement in src/lib/Hydra/Controller/View.pm at line 115
    [36.1450][36.1450:1455]()
    [36.1450]
    [36.1455]
  • replacement in src/lib/Hydra/Controller/View.pm at line 130
    [36.2105][36.2105:2110]()
    [36.2105]
    [36.4203]
  • replacement in src/lib/Hydra/Controller/View.pm at line 133
    [36.4285][36.4285:4290]()
    [36.4285]
    [36.4290]
  • replacement in src/lib/Hydra/Controller/View.pm at line 145
    [15.372][15.372:377]()
    [15.372]
    [15.377]
  • replacement in src/lib/Hydra/Controller/View.pm at line 158
    [36.4793][36.4793:4798]()
    [36.4793]
    [36.2219]
  • replacement in src/lib/Hydra/Controller/View.pm at line 209
    [14.388][14.388:393]()
    [14.388]
    [36.0]
  • replacement in src/lib/Hydra/Controller/View.pm at line 211
    [36.66][36.66:140]()
    # through `http://.../view/$project/$viewName/$viewResult/$jobName'.
    [36.66]
    [36.140]
    # through `http://.../view/$project/$viewName/$viewResult/$jobName'.
  • replacement in src/lib/Hydra/Helper/CatalystUtils.pm at line 42
    [36.544][36.544:587]()
    , 'me.id' => { '<' => $build->id }
    [36.544]
    [9.0]
    , 'me.id' => { '<' => $build->id }
  • replacement in src/lib/Hydra/Helper/CatalystUtils.pm at line 44
    [9.49][36.633:638](),[36.633][36.633:638]()
    [9.49]
    [36.638]
  • replacement in src/lib/Hydra/Helper/CatalystUtils.pm at line 59
    [36.479][36.479:522]()
    , 'me.id' => { '>' => $build->id }
    [36.479]
    [9.50]
    , 'me.id' => { '>' => $build->id }
  • replacement in src/lib/Hydra/Helper/CatalystUtils.pm at line 61
    [9.98][36.567:572](),[36.567][36.567:572]()
    [9.98]
    [36.572]
  • replacement in src/lib/Hydra/Helper/CatalystUtils.pm at line 77
    [36.993][36.993:1036]()
    , 'me.id' => { '<' => $build->id }
    [36.993]
    [9.99]
    , 'me.id' => { '<' => $build->id }
  • replacement in src/lib/Hydra/Helper/CatalystUtils.pm at line 79
    [9.148][36.1082:1087](),[36.1082][36.1082:1087]()
    [9.148]
    [36.1087]
  • replacement in src/lib/Hydra/Helper/CatalystUtils.pm at line 86
    [36.9832][36.9832:9837]()
    [36.9832]
    [36.9837]
  • replacement in src/lib/Hydra/Helper/CatalystUtils.pm at line 88
    [36.9910][36.9910:9915]()
    [36.9910]
    [36.4867]
  • replacement in src/lib/Hydra/Helper/CatalystUtils.pm at line 90
    [36.4959][36.10048:10057](),[36.10048][36.10048:10057]()
    [36.4959]
    [36.10057]
  • replacement in src/lib/Hydra/Helper/CatalystUtils.pm at line 92
    [36.10131][36.10131:10140]()
    [36.10131]
    [36.3231]
  • replacement in src/lib/Hydra/Helper/CatalystUtils.pm at line 97
    [36.5059][36.72:81](),[36.72][36.72:81]()
    [36.5059]
    [36.81]
  • replacement in src/lib/Hydra/Helper/CatalystUtils.pm at line 134
    [36.1387][36.1387:1392]()
    [36.1387]
    [36.1392]
  • replacement in src/lib/Hydra/Helper/CatalystUtils.pm at line 153
    [36.11269][36.11269:11274]()
    [36.11269]
    [36.11274]
  • replacement in src/lib/Hydra/Schema/Builds.pm at line 467
    [36.221][36.221:262]()
    { 'foreign.outpath' => 'self.outpath'
    [36.221]
    [36.262]
    { 'foreign.outpath' => 'self.outpath'
  • replacement in src/lib/Hydra/Schema/Builds.pm at line 483
    [36.2536][36.0:5]()
    [36.2536]
    [36.617]
  • replacement in src/lib/Hydra/Schema/Builds.pm at line 492
    [36.877][36.301:323]()
    (select
    [36.877]
    [36.6942]
    (select
  • replacement in src/lib/Hydra/Schema/Builds.pm at line 494
    [36.5503][36.368:545](),[36.6989][36.368:545](),[36.368][36.368:545]()
    where
    project = activeJobs.project and jobset = activeJobs.jobset
    and job = activeJobs.job and system = activeJobs.system
    [36.6989]
    [36.545]
    where
    project = activeJobs.project and jobset = activeJobs.jobset
    and job = activeJobs.job and system = activeJobs.system
  • replacement in src/lib/Hydra/Schema/Builds.pm at line 515
    [36.786][36.1135:1140](),[36.1809][36.1135:1140](),[36.1135][36.1135:1140]()
    [36.786]
    [36.1140]
  • replacement in src/lib/Hydra/Schema/Builds.pm at line 521
    [36.1238][36.787:809]()
    (select
    [36.1238]
    [36.5504]
    (select
  • replacement in src/lib/Hydra/Schema/Builds.pm at line 523
    [36.5551][36.854:1031](),[36.854][36.854:1031]()
    where
    project = activeJobs.project and jobset = activeJobs.jobset
    and job = activeJobs.job and system = activeJobs.system
    [36.5551]
    [36.7418]
    where
    project = activeJobs.project and jobset = activeJobs.jobset
    and job = activeJobs.job and system = activeJobs.system
  • replacement in src/lib/Hydra/Schema/Users.pm at line 279
    [36.4019][36.7766:7851]()
    # End of lines loaded from '/home/rbvermaa/src/hydra/src/lib/Hydra/Schema/Users.pm'
    [36.4019]
    [36.7851]
    # End of lines loaded from '/home/rbvermaa/src/hydra/src/lib/Hydra/Schema/Users.pm'
  • replacement in src/lib/Hydra/View/NARInfo.pm at line 12
    [30.863][30.863:868]()
    [30.863]
    [30.868]
  • replacement in src/lib/Hydra/View/NixClosure.pm at line 9
    [36.4384][36.874:879](),[36.874][36.874:879]()
    [36.4384]
    [36.879]
  • replacement in src/lib/Hydra/View/NixClosure.pm at line 15
    [36.1203][36.0:5]()
    [36.1203]
    [36.5]
  • replacement in src/lib/Hydra/View/NixClosure.pm at line 19
    [36.1278][36.1278:1283]()
    [36.1278]
    [36.1283]
  • replacement in src/lib/Hydra/View/NixManifest.pm at line 13
    [36.4562][36.683:688](),[36.683][36.683:688]()
    [36.4562]
    [36.688]
  • replacement in src/lib/Hydra/View/NixManifest.pm at line 22
    [36.974][36.974:979]()
    [36.974]
    [36.979]
  • replacement in src/lib/Hydra/View/NixManifest.pm at line 33
    [36.249][36.1213:1222](),[36.806][36.1213:1222](),[36.1188][36.1213:1222](),[36.1213][36.1213:1222]()
    [36.249]
    [36.739]
  • replacement in src/lib/Hydra/View/NixNAR.pm at line 10
    [36.641][36.641:646]()
    [36.641]
    [36.646]
  • replacement in src/lib/Hydra/View/NixNAR.pm at line 14
    [36.821][36.176:181]()
    [36.821]
    [36.181]
  • replacement in src/lib/Hydra/View/NixPkg.pm at line 17
    [36.83][36.384:389](),[35.4902][36.384:389](),[36.384][36.384:389]()
    [35.4902]
    [36.389]
  • replacement in src/root/build.tt at line 12
    [36.49][36.233:298](),[36.298][36.2058:2069](),[36.2058][36.2058:2069](),[36.2069][8.0:87](),[8.87][36.2140:2208](),[36.2140][36.2140:2208](),[36.2208][36.50:168](),[36.168][36.2261:2931](),[36.2261][36.2261:2931](),[36.2931][36.7474:7562](),[36.512][36.3030:3198](),[36.7562][36.3030:3198](),[36.3030][36.3030:3198]()
    <table class="tablesorter table table-striped table-condensed">
    <thead>
    <tr><th>Nr</th><th>What</th><th>Duration</th><th>Machine</th><th>Status</th></tr>
    </thead>
    <tbody>
    [% FOREACH step IN build.buildsteps -%]
    [% IF ( type == "All" ) || ( type == "Failed" && step.status != 0 ) || ( type == "Running" && step.busy == 1 ) -%]
    [% log = c.uri_for('/build' build.id 'nixlog' step.stepnr) %]
    <tr class="[% IF step.logfile %]clickable[% END %]"
    [% IF step.logfile %] onclick="window.location = '[% log %]'" [% END %]>
    <td>[% step.stepnr %]</td>
    <td>
    [% IF step.type == 0 %]
    Build of <tt>[% step.outpath %]</tt>
    [% ELSE %]
    Substitution of <tt>[% step.outpath %]</tt>
    [% END %]
    </td>
    <td>
    [% IF step.busy == 0 %]
    [% INCLUDE renderDuration duration = step.stoptime - step.starttime %]
    [% ELSE %]
    [% IF build.finished %]
    [% INCLUDE renderDuration duration = build.stoptime - step.starttime %]
    [% ELSE %]
    [% INCLUDE renderDuration duration = curTime - step.starttime %]
    [% END %]
    [% END %]
    </td>
    [36.1990]
    [8.88]
    <table class="tablesorter table table-striped table-condensed">
    <thead>
    <tr><th>Nr</th><th>What</th><th>Duration</th><th>Machine</th><th>Status</th></tr>
    </thead>
    <tbody>
    [% FOREACH step IN build.buildsteps -%]
    [% IF ( type == "All" ) || ( type == "Failed" && step.status != 0 ) || ( type == "Running" && step.busy == 1 ) -%]
    [% log = c.uri_for('/build' build.id 'nixlog' step.stepnr) %]
    <tr class="[% IF step.logfile %]clickable[% END %]"
    [% IF step.logfile %] onclick="window.location = '[% log %]'" [% END %]>
    <td>[% step.stepnr %]</td>
    <td>
    [% IF step.type == 0 %]
    Build of <tt>[% step.outpath %]</tt>
    [% ELSE %]
    Substitution of <tt>[% step.outpath %]</tt>
    [% END %]
    </td>
    <td>
    [% IF step.busy == 0 %]
    [% INCLUDE renderDuration duration = step.stoptime - step.starttime %]
    [% ELSE %]
    [% IF build.finished %]
    [% INCLUDE renderDuration duration = build.stoptime - step.starttime %]
    [% ELSE %]
    [% INCLUDE renderDuration duration = curTime - step.starttime %]
    [% END %]
    [% END %]
    </td>
  • replacement in src/root/build.tt at line 42
    [8.145][36.3198:3655](),[36.3198][36.3198:3655](),[36.3655][36.434:559](),[36.559][36.3773:3878](),[36.3773][36.3773:3878]()
    <td>
    [% IF step.busy == 1 %]
    [% IF build.finished %]
    <span class="error">Aborted</span>
    [% ELSE %]
    <strong>Building</strong>
    [% END %]
    [% ELSIF step.status == 0 %]
    Succeeded
    [% ELSE %]
    <span class="error">Failed: [% HTML.escape(step.errormsg) %]</span>
    [% END %]
    [% IF step.logfile %]
    (<a href="[% log %]">log</a>, <a href="[% "$log/raw" %]">raw</a>, <a href="[% "$log/tail-reload" %]">tail</a>)
    [% END %]
    </td>
    </tr>
    [% END %]
    [% END %]
    </tbody>
    </table>
    [8.145]
    [36.7413]
    <td>
    [% IF step.busy == 1 %]
    [% IF build.finished %]
    <span class="error">Aborted</span>
    [% ELSE %]
    <strong>Building</strong>
    [% END %]
    [% ELSIF step.status == 0 %]
    Succeeded
    [% ELSE %]
    <span class="error">Failed: [% HTML.escape(step.errormsg) %]</span>
    [% END %]
    [% IF step.logfile %]
    (<a href="[% log %]">log</a>, <a href="[% "$log/raw" %]">raw</a>, <a href="[% "$log/tail-reload" %]">tail</a>)
    [% END %]
    </td>
    </tr>
    [% END %]
    [% END %]
    </tbody>
    </table>
  • replacement in src/root/build.tt at line 71
    [36.7439][36.299:473](),[36.473][20.0:74](),[20.74][36.547:656](),[36.547][36.547:656](),[36.656][20.75:181]()
    <ul id="tab" class="nav nav-tabs">
    <li><a href="#tabs-summary" data-toggle="tab">Summary</a></li>
    <li><a href="#tabs-information" data-toggle="tab">Information</a></li>
    <li><a href="#tabs-buildinputs" data-toggle="tab">Build inputs</a></li>
    [% IF relatedbuilds %]<li><a href="#tabs-relatedbuilds" data-toggle="tab">Related builds</a></li>[% END %]
    [% IF build.buildsteps %]<li><a href="#tabs-buildsteps" data-toggle="tab">Build steps</a></li>[% END %]
    [36.7439]
    [36.762]
    <ul id="tab" class="nav nav-tabs">
    <li><a href="#tabs-summary" data-toggle="tab">Summary</a></li>
    <li><a href="#tabs-information" data-toggle="tab">Information</a></li>
    <li><a href="#tabs-buildinputs" data-toggle="tab">Build inputs</a></li>
    [% IF relatedbuilds %]<li><a href="#tabs-relatedbuilds" data-toggle="tab">Related builds</a></li>[% END %]
    [% IF build.buildsteps %]<li><a href="#tabs-buildsteps" data-toggle="tab">Build steps</a></li>[% END %]
  • replacement in src/root/build.tt at line 78
    [36.873][36.873:972](),[36.81][36.4253:4260](),[36.841][36.4253:4260](),[36.972][36.4253:4260](),[36.4253][36.4253:4260]()
    [% IF prevBuilds %]<li><a href="#tabs-history" data-toggle="tab">History chart</a></li>[% END %]
    </ul>
    [36.873]
    [36.973]
    [% IF prevBuilds %]<li><a href="#tabs-history" data-toggle="tab">History chart</a></li>[% END %]
    </ul>
  • replacement in src/root/build.tt at line 81
    [36.1021][36.1021:1070]()
    <div id="tabs-summary" class="tab-pane active">
    [36.1021]
    [36.842]
    <div id="tabs-summary" class="tab-pane active">
    <table class="layoutTable">
    <tr>
    <td>
    [% INCLUDE renderBuildStatusIcon size=128, build=build %]
    </td>
    <td>
    <table class="layoutTable">
    <tr>
    <th>Build ID:</th>
    <td>[% build.id %]</td>
    </tr>
    [% IF build.releasename %]
    <tr>
    <th>Release name:</th>
    <td><tt>[% HTML.escape(build.releasename) %]</tt></td>
    </tr>
    [% ELSE %]
    <tr>
    <th>Nix name:</th>
    <td><tt>[% build.nixname %]</tt></td>
    </tr>
    [% END %]
    <tr>
    <th>Status:</th>
    <td>
    [% INCLUDE renderStatus build=build %]
    </td>
    </tr>
    <tr>
    <th>System:</th>
    <td><tt>[% build.system %]</tt></td>
    </tr>
    [% IF build.finished %]
    <tr>
    <th>Duration:</th>
    <td>
    [% IF build.iscachedbuild %]
    (cached[% IF cachedBuild %] from [% INCLUDE renderFullBuildLink build=cachedBuild %][% END %])
    [% ELSE %]
    [% INCLUDE renderDuration duration = build.stoptime - build.starttime %] finished at [% INCLUDE renderDateTime timestamp = build.stoptime %]
    [% END %]
    </td>
    </tr>
    [% END %]
    [% IF build.logfile %]
    <tr>
    <th>Logfile:</th>
    <td>
    <a class="btn btn-mini btn-primary" href="[% c.uri_for('/build' build.id 'log') %]">pretty</a>
    <a class="btn btn-mini" href="[% c.uri_for('/build' build.id 'log' 'raw') %]">raw</a>
    <a class="btn btn-mini" href="[% c.uri_for('/build' build.id 'log' 'tail-reload') %]">tail</a>
    </td>
    </tr>
    [% END %]
    </table>
    </td>
    </tr>
    </table>
  • replacement in src/root/build.tt at line 142
    [36.843][36.0:33](),[36.33][36.4318:4546](),[36.4318][36.4318:4546](),[36.4546][36.7563:7596](),[36.643][36.4590:4636](),[36.7596][36.4590:4636](),[36.4590][36.4590:4636](),[36.4636][36.7597:7662](),[36.714][36.4712:5076](),[36.7662][36.4712:5076](),[36.4712][36.4712:5076](),[36.5076][25.0:30](),[25.30][36.5113:5170](),[36.5835][36.5113:5170](),[36.5113][36.5113:5170](),[36.5170][36.7663:7704](),[36.761][36.0:109](),[36.7704][36.0:109](),[36.5222][36.0:109](),[36.109][36.5302:5325](),[36.5302][36.5302:5325](),[36.5325][25.31:187](),[25.187][36.5435:5503](),[36.198][36.5435:5503](),[36.942][36.5435:5503](),[36.7870][36.5435:5503](),[36.5435][36.5435:5503](),[36.5503][36.7871:7900](),[36.977][36.5543:5605](),[36.7900][36.5543:5605](),[36.5543][36.5543:5605](),[36.5605][18.0:109](),[18.109][36.129:338](),[36.129][36.129:338](),[36.338][36.5865:6009](),[36.650][36.5865:6009](),[36.5865][36.5865:6009](),[36.6009][36.1668:1776]()
    <table class="layoutTable">
    <tr>
    <td>
    [% INCLUDE renderBuildStatusIcon size=128, build=build %]
    </td>
    <td>
    <table class="layoutTable">
    <tr>
    <th>Build ID:</th>
    <td>[% build.id %]</td>
    </tr>
    [% IF build.releasename %]
    <tr>
    <th>Release name:</th>
    <td><tt>[% HTML.escape(build.releasename) %]</tt></td>
    </tr>
    [% ELSE %]
    <tr>
    <th>Nix name:</th>
    <td><tt>[% build.nixname %]</tt></td>
    </tr>
    [% END %]
    <tr>
    <th>Status:</th>
    <td>
    [% INCLUDE renderStatus build=build %]
    </td>
    </tr>
    <tr>
    <th>System:</th>
    <td><tt>[% build.system %]</tt></td>
    </tr>
    [% IF build.finished %]
    <tr>
    <th>Duration:</th>
    <td>
    [% IF build.iscachedbuild %]
    (cached[% IF cachedBuild %] from [% INCLUDE renderFullBuildLink build=cachedBuild %][% END %])
    [% ELSE %]
    [% INCLUDE renderDuration duration = build.stoptime - build.starttime %] finished at [% INCLUDE renderDateTime timestamp = build.stoptime %]
    [% END %]
    </td>
    </tr>
    [% END %]
    [% IF build.logfile %]
    <tr>
    <th>Logfile:</th>
    <td>
    <a class="btn btn-mini btn-primary" href="[% c.uri_for('/build' build.id 'log') %]">pretty</a>
    <a class="btn btn-mini" href="[% c.uri_for('/build' build.id 'log' 'raw') %]">raw</a>
    <a class="btn btn-mini" href="[% c.uri_for('/build' build.id 'log' 'tail-reload') %]">tail</a>
    </td>
    </tr>
    [% END %]
    </table>
    </td>
    </tr>
    </table>
    [% IF c.user_exists && available %]
    <form class="form-horizontal" action="[% c.uri_for('/build' build.id 'add-to-release') %]" method="post">
    [36.843]
    [36.1776]
    [% IF c.user_exists && available %]
    <form class="form-horizontal" action="[% c.uri_for('/build' build.id 'add-to-release') %]" method="post">
  • replacement in src/root/build.tt at line 151
    [36.2148][36.6250:6275](),[36.6250][36.6250:6275](),[36.2][36.6398:6429]()
    </form>
    [% END %]
    [% IF build.buildproducts %]
    [36.2148]
    [36.1105]
    </form>
    [% END %]
    [% IF build.buildproducts %]
  • replacement in src/root/build.tt at line 156
    [36.1106][36.0:27](),[36.27][36.6457:6699](),[36.6457][36.6457:6699]()
    <h3>Build products</h3>
    [% IF !available %]
    <p class="error">Note: this build is no longer available.</p>
    [% END %]
    [% INCLUDE renderProductList latestRoot=['/job' build.project.name build.jobset.name build.job.name 'latest'] %]
    [% END %]
    [36.1106]
    [36.1106]
    <h3>Build products</h3>
    [% IF !available %]
    <p class="error">Note: this build is no longer available.</p>
    [% END %]
    [% INCLUDE renderProductList latestRoot=['/job' build.project.name build.jobset.name build.job.name 'latest'] %]
    [% END %]
  • replacement in src/root/build.tt at line 169
    [36.58][36.63:74]()
    [% END %]
    [36.58]
    [36.31]
    [% END %]
  • replacement in src/root/build.tt at line 171
    [36.32][36.6700:6726](),[36.6726][36.7901:7982]()
    [% IF build.finished %]
    [% IF build.buildsteps && build.buildstatus != 0 && build.buildstatus != 6 %]
    [36.32]
    [24.125]
    [% IF build.finished %]
    [% IF build.buildsteps && build.buildstatus != 0 && build.buildstatus != 6 %]
  • replacement in src/root/build.tt at line 174
    [36.125][36.289:338](),[24.185][36.289:338](),[36.272][36.289:338](),[36.1069][36.289:338](),[36.7982][36.289:338](),[36.6830][36.289:338](),[36.338][36.6878:6891](),[36.6878][36.6878:6891]()
    [% INCLUDE renderBuildSteps type="Failed" %]
    [% END %]
    [24.185]
    [36.126]
    [% INCLUDE renderBuildSteps type="Failed" %]
    [% END %]
  • replacement in src/root/build.tt at line 195
    [36.1817][36.920:957](),[36.920][36.920:957]()
    </tr>
    [36.1817]
    [36.957]
    </tr>
  • replacement in src/root/build.tt at line 204
    [36.57][36.7983:8036](),[36.1133][36.6967:7020](),[36.8036][36.6967:7020](),[36.6967][36.6967:7020](),[36.7020][36.8037:8104](),[36.78][36.7108:7121](),[36.1206][36.7108:7121](),[36.8104][36.7108:7121](),[36.7108][36.7108:7121](),[36.7121][36.289:320](),[36.320][36.7161:7181](),[36.7161][36.7161:7181](),[36.7181][36.79:138](),[36.138][36.7248:7268](),[36.7248][36.7248:7268](),[36.7268][36.1818:1864]()
    [% IF build.errormsg && build.buildstatus != 5 %]
    <h2 id="nix-error">Nix error output</h2>
    <pre class="buildlog">[% HTML.escape(build.errormsg) -%]</pre>
    [% END %]
    [% END %]
    [% IF logtext %]
    <h2>Log</h2>
    <pre class="buildlog">[% HTML.escape(logtext) -%]</pre>
    [% END %]
    </div>
    <div id="tabs-information" class="tab-pane">
    [36.57]
    [36.151]
    [% IF build.errormsg && build.buildstatus != 5 %]
    <h2 id="nix-error">Nix error output</h2>
  • replacement in src/root/build.tt at line 208
    [36.152][36.7298:8225](),[36.8225][36.8105:8136](),[36.1243][36.8267:8309](),[36.8136][36.8267:8309](),[36.8267][36.8267:8309](),[36.8309][36.8137:8200](),[36.1312][36.8383:9366](),[36.8200][36.8383:9366](),[36.8383][36.8383:9366](),[36.9366][36.929:1046](),[36.1046][36.9366:9501](),[36.9366][36.9366:9501](),[36.9501][22.0:102](),[22.102][36.9683:9841](),[36.9683][36.9683:9841](),[36.9841][22.103:200](),[22.200][36.10016:10034](),[36.10016][36.10016:10034](),[36.10034][36.150:172]()
    <h2>Information</h2>
    <table class="layoutTable">
    <tr>
    <th>Build ID:</th>
    <td>[% build.id %]</td>
    </tr>
    <tr>
    <th>Status:</th>
    <td>
    [% INCLUDE renderStatus build=build %]
    </td>
    </tr>
    <tr>
    <th>Project:</th>
    <td>[% INCLUDE renderProjectName project=project.name %]</td>
    </tr>
    <tr>
    <th>Jobset:</th>
    <td>[% INCLUDE renderJobsetName project=project.name jobset=jobset.name %]</td>
    </tr>
    <tr>
    <th>Job name:</th>
    <td>[% INCLUDE renderJobName project=project.name jobset=jobset.name job=job.name %]</td>
    </tr>
    [% IF build.nixexprinput %]
    <tr>
    <th>Nix expression:</th>
    <td>file <tt>[% HTML.escape(build.nixexprpath) %]</tt> in input <tt>[% HTML.escape(build.nixexprinput) %]</tt></td>
    </tr>
    [% END %]
    <tr>
    <th>Nix name:</th>
    <td><tt>[% build.nixname %]</tt></td>
    </tr>
    [% IF build.releasename %]
    <tr>
    <th>Release name:</th>
    <td><tt>[% HTML.escape(build.releasename) %]</tt></td>
    </tr>
    [% END %]
    <tr>
    <th>Short description:</th>
    <td>[% IF build.description %][% HTML.escape(build.description) %][% ELSE %]<em>(not given)</em>[% END %]</td>
    </tr>
    <tr>
    <th>Long description:</th>
    <td>[% IF build.longdescription %][% HTML.escape(build.longdescription) %][% ELSE %]<em>(not given)</em>[% END %]</td>
    </tr>
    <tr>
    <th>License:</th>
    <td>[% IF build.license %][% HTML.escape(build.license) %][% ELSE %]<em>(not given)</em>[% END %]</td>
    </tr>
    <tr>
    <th>Homepage:</th>
    <td>[% IF build.homepage %]<a [% HTML.attributes(href => build.homepage) %]>[% HTML.escape(build.homepage) %]</a>[% ELSE %]<em>(not given)</em>[% END %]</td>
    </tr>
    <tr>
    <th>Maintainer(s):</th>
    <td>[% IF build.maintainers %]<tt>[% HTML.escape(build.maintainers) %]</tt>[% ELSE %]<em>(not given)</em>[% END %]</td>
    </tr>
    <tr>
    <th>System:</th>
    <td><tt>[% build.system %]</tt></td>
    </tr>
    <tr>
    <th>Max silent / timeout:</th>
    <td>[% build.maxsilent %]s / [% build.timeout %]s</td>
    </tr>
    <tr>
    <th>Derivation store path:</th>
    <td>
    <tt>[% build.drvpath %]</tt>
    [% IF drvAvailable %]
    (<a href="[% c.uri_for('/build' build.id 'deps') %]#buildtime">build-time dependencies</a>)
    [% END %]
    </td>
    </tr>
    <tr>
    <th>Output store path:</th>
    <td>
    <tt>[% build.outpath %]</tt>
    [% IF available %]
    (<a href="[% c.uri_for('/build' build.id 'deps') %]#runtime">runtime dependencies</a>)
    [% END %]
    </td>
    </tr>
    [36.152]
    [36.5836]
    <pre class="buildlog">[% HTML.escape(build.errormsg) -%]</pre>
    [% END %]
    [% END %]
    [% IF logtext %]
    <h2>Log</h2>
    <pre class="buildlog">[% HTML.escape(logtext) -%]</pre>
    [% END %]
    </div>
    <div id="tabs-information" class="tab-pane">
    <h2>Information</h2>
    <table class="layoutTable">
    <tr>
    <th>Build ID:</th>
    <td>[% build.id %]</td>
    </tr>
    <tr>
    <th>Status:</th>
    <td>
    [% INCLUDE renderStatus build=build %]
    </td>
    </tr>
    <tr>
    <th>Project:</th>
    <td>[% INCLUDE renderProjectName project=project.name %]</td>
    </tr>
    <tr>
    <th>Jobset:</th>
    <td>[% INCLUDE renderJobsetName project=project.name jobset=jobset.name %]</td>
    </tr>
    <tr>
    <th>Job name:</th>
    <td>[% INCLUDE renderJobName project=project.name jobset=jobset.name job=job.name %]</td>
    </tr>
    [% IF build.nixexprinput %]
    <tr>
    <th>Nix expression:</th>
    <td>file <tt>[% HTML.escape(build.nixexprpath) %]</tt> in input <tt>[% HTML.escape(build.nixexprinput) %]</tt></td>
    </tr>
    [% END %]
    <tr>
    <th>Nix name:</th>
    <td><tt>[% build.nixname %]</tt></td>
    </tr>
    [% IF build.releasename %]
    <tr>
    <th>Release name:</th>
    <td><tt>[% HTML.escape(build.releasename) %]</tt></td>
    </tr>
    [% END %]
    <tr>
    <th>Short description:</th>
    <td>[% IF build.description %][% HTML.escape(build.description) %][% ELSE %]<em>(not given)</em>[% END %]</td>
    </tr>
    <tr>
    <th>Long description:</th>
    <td>[% IF build.longdescription %][% HTML.escape(build.longdescription) %][% ELSE %]<em>(not given)</em>[% END %]</td>
    </tr>
    <tr>
    <th>License:</th>
    <td>[% IF build.license %][% HTML.escape(build.license) %][% ELSE %]<em>(not given)</em>[% END %]</td>
    </tr>
    <tr>
    <th>Homepage:</th>
    <td>[% IF build.homepage %]<a [% HTML.attributes(href => build.homepage) %]>[% HTML.escape(build.homepage) %]</a>[% ELSE %]<em>(not given)</em>[% END %]</td>
    </tr>
    <tr>
    <th>Maintainer(s):</th>
    <td>[% IF build.maintainers %]<tt>[% HTML.escape(build.maintainers) %]</tt>[% ELSE %]<em>(not given)</em>[% END %]</td>
    </tr>
    <tr>
    <th>System:</th>
    <td><tt>[% build.system %]</tt></td>
    </tr>
    <tr>
    <th>Max silent / timeout:</th>
    <td>[% build.maxsilent %]s / [% build.timeout %]s</td>
    </tr>
    <tr>
    <th>Derivation store path:</th>
    <td>
    <tt>[% build.drvpath %]</tt>
    [% IF drvAvailable %]
    (<a href="[% c.uri_for('/build' build.id 'deps') %]#buildtime">build-time dependencies</a>)
    [% END %]
    </td>
    </tr>
    <tr>
    <th>Output store path:</th>
    <td>
    <tt>[% build.outpath %]</tt>
    [% IF available %]
    (<a href="[% c.uri_for('/build' build.id 'deps') %]#runtime">runtime dependencies</a>)
    [% END %]
    </td>
    </tr>
  • replacement in src/root/build.tt at line 307
    [36.5872][36.172:263](),[36.172][36.172:263](),[36.263][36.10034:10056](),[36.10034][36.10034:10056]()
    <tr>
    <th>Output store path hash:</th>
    <td>
    <tt>[% pathHash %]</tt>
    </td>
    </tr>
    [36.5872]
    [36.5873]
    <tr>
    <th>Output store path hash:</th>
    <td>
    <tt>[% pathHash %]</tt>
    </td>
    </tr>
    [% END %]
    <tr>
    <th>Time added:</th>
    <td>[% INCLUDE renderDateTime timestamp = build.timestamp %]</td>
    </tr>
    [% IF build.finished && build.buildstatus != 4 %]
    [% IF build.iscachedbuild && cachedBuild %]
    <tr>
    <th>Cached build:</th>
    <td>[% INCLUDE renderFullBuildLink build=cachedBuild %]</td>
    </tr>
    [% END %]
    <tr>
    <th>Build started:</th>
    <td>[% IF build.starttime %][% INCLUDE renderDateTime timestamp = build.starttime %][% ELSE %]<em>(cached build)</em>[% END %]</td>
    </tr>
    <tr>
    <th>Build finished:</th>
    <td>[% IF build.stoptime %][% INCLUDE renderDateTime timestamp = build.stoptime %][% ELSE %]<em>(cached build)</em>[% END %]</td>
    </tr>
    <tr>
    <th>Duration:</th>
    <td>
    [% IF build.iscachedbuild %]
    <em>(cached build)</em>
    [% ELSE %]
    [% INCLUDE renderDuration duration = build.stoptime - build.starttime %]
    [% END %]
    </td>
    </tr>
    [% IF build.logfile %]
    <tr>
    <th>Logfile:</th>
    <td>
    <a href="[% c.uri_for('/build' build.id 'log') %]"><strong>Available</strong></a>
    (<a href="[% c.uri_for('/build' build.id 'log' 'raw') %]">raw</a>,
    <a href="[% c.uri_for('/build' build.id 'log' 'tail-reload') %]">tail</a>)
    </td>
    </tr>
    [% END %]
    [% END %]
    [% IF !build.finished %]
    <tr>
    <th>Priority:</th>
    <td>[% build.priority %]</td>
    </tr>
    [% END %]
    [% IF build.finished && build.buildproducts %]
    <tr>
    <th>Availability:</th>
    <td>
    [% IF !available %]
    <em>Build output is no longer available</em>
    [% ELSIF build.keep %]
    <em>Build output will be kept permanently</em>
    [% ELSE %]
    <em>Build output is available, but may be garbage-collected</em>
    [% END %]
    </td>
    </tr>
  • replacement in src/root/build.tt at line 375
    [36.5901][36.10056:10174](),[36.10056][36.10056:10174](),[36.10174][36.8201:8305](),[36.1427][36.10300:10497](),[36.8305][36.10300:10497](),[36.10300][36.10300:10497](),[36.10497][36.8306:8446](),[36.1578][36.10659:10715](),[36.8446][36.10659:10715](),[36.10659][36.10659:10715](),[36.10715][36.8447:8585](),[36.1727][36.10875:10938](),[36.8585][36.10875:10938](),[36.10875][36.10875:10938](),[36.10938][36.8586:8625](),[36.1772][36.10988:11045](),[36.8625][36.10988:11045](),[36.10988][36.10988:11045](),[36.11045][36.8626:8711](),[36.1868][36.11152:11198](),[36.8711][36.11152:11198](),[36.11152][36.11152:11198](),[36.11198][36.8712:8741](),[36.1903][36.11238:11467](),[36.8741][36.11238:11467](),[36.11238][36.11238:11467](),[36.11467][36.651:739](),[36.739][36.11548:11675](),[36.11548][36.11548:11675](),[36.11675][36.5902:5940](),[36.5940][36.11728:11947](),[36.11728][36.11728:11947](),[36.11947][36.8742:8775](),[36.1942][36.11991:12050](),[36.8775][36.11991:12050](),[36.11991][36.11991:12050](),[36.12298][36.12298:12396](),[36.12640][36.12640:12719](),[36.12719][36.1865:1911](),[36.1911][36.12748:12778](),[36.12748][36.12748:12778](),[36.12778][36.1912:1978](),[36.1978][36.12808:13658](),[36.12808][36.12808:13658]()
    <tr>
    <th>Time added:</th>
    <td>[% INCLUDE renderDateTime timestamp = build.timestamp %]</td>
    </tr>
    [% IF build.finished && build.buildstatus != 4 %]
    [% IF build.iscachedbuild && cachedBuild %]
    <tr>
    <th>Cached build:</th>
    <td>[% INCLUDE renderFullBuildLink build=cachedBuild %]</td>
    </tr>
    [% END %]
    <tr>
    <th>Build started:</th>
    <td>[% IF build.starttime %][% INCLUDE renderDateTime timestamp = build.starttime %][% ELSE %]<em>(cached build)</em>[% END %]</td>
    </tr>
    <tr>
    <th>Build finished:</th>
    <td>[% IF build.stoptime %][% INCLUDE renderDateTime timestamp = build.stoptime %][% ELSE %]<em>(cached build)</em>[% END %]</td>
    </tr>
    <tr>
    <th>Duration:</th>
    <td>
    [% IF build.iscachedbuild %]
    <em>(cached build)</em>
    [% ELSE %]
    [% INCLUDE renderDuration duration = build.stoptime - build.starttime %]
    [% END %]
    </td>
    </tr>
    [% IF build.logfile %]
    <tr>
    <th>Logfile:</th>
    <td>
    <a href="[% c.uri_for('/build' build.id 'log') %]"><strong>Available</strong></a>
    (<a href="[% c.uri_for('/build' build.id 'log' 'raw') %]">raw</a>,
    <a href="[% c.uri_for('/build' build.id 'log' 'tail-reload') %]">tail</a>)
    </td>
    </tr>
    [% END %]
    [% END %]
    [% IF !build.finished %]
    <tr>
    <th>Priority:</th>
    <td>[% build.priority %]</td>
    </tr>
    [% END %]
    [% IF build.finished && build.buildproducts %]
    <tr>
    <th>Availability:</th>
    <td>
    [% IF !available %]
    <em>Build output is no longer available</em>
    [% ELSIF build.keep %]
    <em>Build output will be kept permanently</em>
    [% ELSE %]
    <em>Build output is available, but may be garbage-collected</em>
    [% END %]
    </td>
    </tr>
    [% END %]
    </table>
    </div>
    <div id="tabs-buildinputs" class="tab-pane">
    <h2>Build inputs</h2>
    <table class="tablesorter table table-striped table-condensed">
    <thead>
    <tr><th>Name</th><th>Type</th><th>Value</th><th>Revision</th><th>Store path</th></tr>
    </thead>
    <tbody>
    [% FOREACH input IN build.inputs -%]
    <tr>
    <td><tt>[% input.name %]</tt></td>
    <td><tt>[% type = input.type; inputTypes.$type %]</tt></td>
    <td>
    [% IF input.type == "build" || input.type == "sysbuild" %]
    [% INCLUDE renderFullBuildLink build=input.dependency %]</a>
    [% ELSIF input.type == "string" || input.type == "boolean" %]
    <tt>"[% input.value %]"</tt>
    [% ELSE %]
    <tt>[% input.uri %]</tt>
    [% END %]
    </td>
    <td>[% IF input.revision %][% input.revision %][% END %]</td>
    <td><tt>[% input.path %]</tt></td>
    </tr>
    [% END -%]
    </tbody>
    </table>
    [36.5901]
    [36.577]
    </table>
    </div>
    <div id="tabs-buildinputs" class="tab-pane">
    <h2>Build inputs</h2>
    <table class="tablesorter table table-striped table-condensed">
    <thead>
    <tr><th>Name</th><th>Type</th><th>Value</th><th>Revision</th><th>Store path</th></tr>
    </thead>
    <tbody>
    [% FOREACH input IN build.inputs -%]
    <tr>
    <td><tt>[% input.name %]</tt></td>
    <td><tt>[% type = input.type; inputTypes.$type %]</tt></td>
    <td>
    [% IF input.type == "build" || input.type == "sysbuild" %]
    [% INCLUDE renderFullBuildLink build=input.dependency %]</a>
    [% ELSIF input.type == "string" || input.type == "boolean" %]
    <tt>"[% input.value %]"</tt>
    [% ELSE %]
    <tt>[% input.uri %]</tt>
    [% END %]
    </td>
    <td>[% IF input.revision %][% input.revision %][% END %]</td>
    <td><tt>[% input.path %]</tt></td>
    </tr>
    [% END -%]
    </tbody>
    </table>
  • replacement in src/root/build.tt at line 412
    [36.1664][36.695:703](),[36.703][36.13658:13666](),[36.1673][36.13658:13666](),[36.13658][36.13658:13666]()
    </div>
    [36.1664]
    [36.265]
    </div>
  • replacement in src/root/build.tt at line 416
    [36.1974][36.2119:2167](),[36.2167][36.2008:2034](),[36.2008][36.2008:2034](),[36.2034][36.99:194](),[36.194][36.93:181](),[36.181][36.2086:2094](),[36.2086][36.2086:2094]()
    <div id="tabs-relatedbuilds" class="tab-pane">
    <h2>Related builds</h2>
    <p>The following builds are part of the same jobset evaluation that produced this build.</p>
    [% INCLUDE renderBuildList builds=relatedbuilds hideProjectName=1 hideJobsetName=1 %]
    </div>
    [36.1974]
    [36.2094]
    <div id="tabs-relatedbuilds" class="tab-pane">
    <h2>Related builds</h2>
    <p>The following builds are part of the same jobset evaluation that produced this build.</p>
    [% INCLUDE renderBuildList builds=relatedbuilds hideProjectName=1 hideJobsetName=1 %]
    </div>
  • replacement in src/root/build.tt at line 429
    [36.4686][36.13750:13752]()
    [36.4686]
    [36.4687]
  • replacement in src/root/build.tt at line 434
    [36.146][36.13781:13870](),[36.13870][36.2259:2325](),[36.2325][36.13900:14385](),[36.13900][36.13900:14385]()
    <h2>Used by</h2>
    <p>The following builds have used this build as an input:</p>
    <table class="tablesorter table table-condensed table-striped">
    <thead>
    <tr><th>Build</th><th>Input name</th><th>System</th><th>Timestamp</th></tr>
    </thead>
    <tbody>
    [% FOREACH input IN build.dependents -%]
    <tr>
    <td>[% INCLUDE renderFullBuildLink build=input.build %]</td>
    <td><tt>[% input.name %]</tt></td>
    <td><tt>[% input.build.system %]</tt></td>
    <td>[% INCLUDE renderDateTime timestamp = input.build.timestamp %]</td>
    </tr>
    [% END -%]
    </tbody>
    </table>
    [36.146]
    [36.14385]
    <h2>Used by</h2>
    <p>The following builds have used this build as an input:</p>
    <table class="tablesorter table table-condensed table-striped">
    <thead>
    <tr><th>Build</th><th>Input name</th><th>System</th><th>Timestamp</th></tr>
    </thead>
    <tbody>
    [% FOREACH input IN build.dependents -%]
    <tr>
    <td>[% INCLUDE renderFullBuildLink build=input.build %]</td>
    <td><tt>[% input.name %]</tt></td>
    <td><tt>[% input.build.system %]</tt></td>
    <td>[% INCLUDE renderDateTime timestamp = input.build.timestamp %]</td>
    </tr>
    [% END -%]
    </tbody>
    </table>
  • replacement in src/root/build.tt at line 458
    [36.103][36.103:275]()
    <div id="placeholder" style="width:800px;height:400px;"></div>
    <div id="overview" style="margin-left:50px;margin-top:20px;width:600px;height:50px"></div>
    [36.103]
    [36.8443]
    <div id="placeholder" style="width:800px;height:400px;"></div>
    <div id="overview" style="margin-left:50px;margin-top:20px;width:600px;height:50px"></div>
  • replacement in src/root/build.tt at line 470
    [36.2330][36.693:717](),[36.9020][36.693:717](),[36.693][36.693:717]()
    [% END %][% END %]
    [36.9020]
    [36.1378]
    [% END %][% END %]
  • replacement in src/root/build.tt at line 484
    [36.2522][36.923:928]()
    [36.2522]
    [36.974]
  • replacement in src/root/build.tt at line 487
    [36.1039][36.1039:1044]()
    [36.1039]
    [36.1044]
  • replacement in src/root/build.tt at line 497
    [36.1414][36.1414:1416]()
    [36.1414]
    [36.1416]
  • replacement in src/root/build.tt at line 499
    [36.1451][36.1451:1456]()
    [36.1451]
    [36.1456]
  • replacement in src/root/build.tt at line 506
    [36.1807][36.1807:1809]()
    [36.1807]
    [36.1809]
  • replacement in src/root/build.tt at line 510
    [36.1954][36.1954:1959]()
    [36.1954]
    [36.1959]
  • replacement in src/root/build.tt at line 520
    [36.204][36.204:245]()
    }
    });
    [36.204]
    [36.264]
    }
    });
  • replacement in src/root/build.tt at line 527
    [36.331][36.331:513]()
    <div id="placeholder-size" style="width:800px;height:400px;"></div>
    <div id="overview-size" style="margin-left:50px;margin-top:20px;width:600px;height:50px"></div>
    [36.331]
    [36.513]
    <div id="placeholder-size" style="width:800px;height:400px;"></div>
    <div id="overview-size" style="margin-left:50px;margin-top:20px;width:600px;height:50px"></div>
  • replacement in src/root/build.tt at line 536
    [36.9245][36.864:888](),[36.864][36.864:888]()
    [% END %][% END %]
    [36.9245]
    [36.888]
    [% END %][% END %]
  • edit in src/root/build.tt at line 550
    [36.1182][36.1182:1187]()
  • edit in src/root/build.tt at line 551
    [36.1296]
    [36.1296]
  • replacement in src/root/build.tt at line 553
    [36.1365][36.1365:1370]()
    [36.1365]
    [36.1370]
  • replacement in src/root/build.tt at line 563
    [36.1745][36.1745:1747]()
    [36.1745]
    [36.1747]
  • replacement in src/root/build.tt at line 565
    [36.1782][36.1782:1787]()
    [36.1782]
    [36.1787]
  • replacement in src/root/build.tt at line 572
    [36.2148][36.2148:2150]()
    [36.2148]
    [36.2150]
  • replacement in src/root/build.tt at line 576
    [36.2295][36.2295:2300]()
    [36.2295]
    [36.2300]
  • replacement in src/root/build.tt at line 586
    [36.2372][36.2372:2413]()
    }
    });
    [36.2372]
    [36.2802]
    }
    });
  • replacement in src/root/build.tt at line 592
    [36.2820][36.2820:2829]()
    [36.2820]
    [36.2829]
  • replacement in src/root/channel-contents.tt at line 24
    [36.738][36.738:762]()
    $ nix-channel --update
    [36.738]
    [36.762]
    $ nix-channel --update
  • replacement in src/root/channel-contents.tt at line 38
    [36.2464][36.3716:3719](),[36.3716][36.3716:3719]()
    [36.2464]
    [36.3719]
  • replacement in src/root/channel-contents.tt at line 47
    [36.3845][36.3845:3848]()
    [36.3845]
    [36.3848]
  • replacement in src/root/channel-contents.tt at line 72
    [36.4559][36.4559:4566]()
    [36.4559]
    [36.4566]
  • replacement in src/root/channel-contents.tt at line 74
    [36.4577][36.4577:4580]()
    [36.4577]
    [36.4580]
  • replacement in src/root/clone-build.tt at line 48
    [36.2095][36.2095:2098]()
    [36.2095]
    [36.2098]
  • replacement in src/root/clone-jobset.tt at line 11
    [36.1957][36.1957:1966]()
    </p>
    [36.1957]
    [36.1966]
    </p>
  • replacement in src/root/common.tt at line 96
    [36.654][36.654:684]()
    <tr class="clickable
    [36.654]
    [36.684]
    <tr class="clickable
  • replacement in src/root/common.tt at line 232
    [36.14477][6.0:33]()
    [% BLOCK renderFullBuildLink %]
    [36.14477]
    [6.33]
    [% BLOCK renderFullBuildLink %]
  • replacement in src/root/common.tt at line 255
    [36.976][36.2343:2361]()
    [%- END -%]
    [36.976]
    [36.2361]
    [%- END -%]
  • replacement in src/root/common.tt at line 263
    [36.15729][36.1555:1581]()
    [% BLOCK renderStatus %]
    [36.15729]
    [36.1171]
    [% BLOCK renderStatus %]
  • replacement in src/root/common.tt at line 282
    [36.2507][36.2507:2523]()
    [% END %]
    [36.2507]
    [36.6360]
    [% END %]
  • replacement in src/root/common.tt at line 288
    [36.3235][36.3235:3248]()
    [% END %]
    [36.3027]
    [36.17958]
    [% END %]
  • replacement in src/root/common.tt at line 369
    [36.2849][36.2849:2894]()
    [% ELSE %]
    [36.2849]
    [36.815]
    [% ELSE %]
  • replacement in src/root/common.tt at line 372
    [36.3104][36.1181:1198]()
    [36.3104]
    [36.3126]
  • replacement in src/root/common.tt at line 442
    [36.1051][36.1910:1954]()
    [%- FOREACH e IN evals; eval = e.eval;
    [36.1051]
    [36.1954]
    [%- FOREACH e IN evals; eval = e.eval;
  • replacement in src/root/common.tt at line 459
    [21.853][21.853:931](),[21.931][36.1739:1751](),[36.1739][36.1739:1751]()
    [% IF e.nrScheduled > 0 %]
    <span class="label">[% e.nrScheduled %]</span>
    [% END %]
    [21.853]
    [36.1751]
    [% IF e.nrScheduled > 0 %]
    <span class="label">[% e.nrScheduled %]</span>
    [% END %]
  • replacement in src/root/common.tt at line 464
    [36.1790][36.2375:2476](),[36.2476][21.932:981](),[21.981][36.2542:2634](),[36.2542][36.2542:2634]()
    [%- IF e.diff > 0 -%]
    <span class='label label-success'><strong>+[% e.diff %]</strong></span>
    [%- ELSIF e.diff < 0 && e.nrScheduled == 0 -%]
    <span class='label label-important'><strong>[% e.diff %]</strong></span>
    [%- END -%]
    [36.1790]
    [36.2112]
    [%- IF e.diff > 0 -%]
    <span class='label label-success'><strong>+[% e.diff %]</strong></span>
    [%- ELSIF e.diff < 0 && e.nrScheduled == 0 -%]
    <span class='label label-important'><strong>[% e.diff %]</strong></span>
    [%- END -%]
  • replacement in src/root/deps.tt at line 15
    [36.2037][36.2037:2065]()
    [% IF dep.buildstep %]
    [36.2037]
    [36.2065]
    [% IF dep.buildstep %]
  • replacement in src/root/deps.tt at line 33
    [36.2472][36.2472:2500]()
    [% IF dep.buildstep %]
    [36.2472]
    [36.2500]
    [% IF dep.buildstep %]
  • replacement in src/root/edit-release.tt at line 10
    [36.3615][36.3615:3620]()
    [36.3615]
    [36.3620]
  • replacement in src/root/edit-release.tt at line 17
    [36.3854][36.3854:3859]()
    [36.3854]
    [36.3859]
  • replacement in src/root/edit-release.tt at line 24
    [36.4108][36.4108:4113]()
    [36.4108]
    [36.4113]
  • replacement in src/root/edit-release.tt at line 39
    [36.1080][36.4625:4630]()
    [36.1080]
    [36.1081]
  • replacement in src/root/edit-release.tt at line 58
    [36.1322][36.5207:5225]()
    </div>
    [36.1322]
    [36.5225]
    </div>
  • replacement in src/root/edit-release.tt at line 61
    [36.1329][36.2195:2198](),[36.5237][36.2195:2198](),[36.2195][36.2195:2198]()
    [36.5237]
    [36.1330]
  • replacement in src/root/edit-view.tt at line 27
    [36.5822][36.5822:5825]()
    [36.5822]
    [36.5825]
  • replacement in src/root/edit-view.tt at line 34
    [36.6056][36.6056:6059]()
    [36.6056]
    [36.6059]
  • replacement in src/root/edit-view.tt at line 41
    [36.6305][36.6305:6308]()
    [36.6305]
    [36.3476]
  • replacement in src/root/edit-view.tt at line 80
    [36.7074][36.7074:7089](),[36.7089][36.2715:2718](),[36.2715][36.2715:2718]()
    </div>
    [36.7074]
    [36.2718]
    </div>
  • replacement in src/root/edit-view.tt at line 93
    [36.1376][36.1376:1381]()
    [36.1376]
    [36.1381]
  • replacement in src/root/edit-view.tt at line 107
    [36.2354][36.2354:2357]()
    [36.2201]
    [36.2357]
  • replacement in src/root/job.tt at line 5
    [36.7780][36.3693:3935](),[36.245][36.18206:18213](),[36.3935][36.18206:18213](),[36.18206][36.18206:18213]()
    <ul id="tab" class="nav nav-tabs">
    <li><a href="#tabs-status" data-toggle="tab">Status</a></li>
    <li><a href="#tabs-channels" data-toggle="tab">Channels</a></li>
    <li><a href="#tabs-latestbuilds" data-toggle="tab">Latest builds</a></li>
    </ul>
    [36.7780]
    [36.3936]
    <ul id="tab" class="nav nav-tabs">
    <li><a href="#tabs-status" data-toggle="tab">Status</a></li>
    <li><a href="#tabs-channels" data-toggle="tab">Channels</a></li>
    <li><a href="#tabs-latestbuilds" data-toggle="tab">Latest builds</a></li>
    </ul>
  • replacement in src/root/job.tt at line 11
    [36.3980][36.3980:4028]()
    <div id="tabs-status" class="tab-pane active">
    [36.3980]
    [36.645]
    <div id="tabs-status" class="tab-pane active">
  • replacement in src/root/job.tt at line 13
    [36.45][36.225:358](),[36.690][36.225:358](),[36.225][36.225:358]()
    <h2>Latest builds (latest evaluation)</h2>
    [% INCLUDE renderBuildList builds=currentBuilds showStatusChange=0 %]
    [36.690]
    [36.1119]
    <h2>Latest builds (latest evaluation)</h2>
    [% INCLUDE renderBuildList builds=currentBuilds showStatusChange=0 %]
  • replacement in src/root/job.tt at line 17
    [36.1186][36.1186:1332]()
    <h2>Running builds</h2>
    [% INCLUDE renderBuildList builds=runningBuilds showSchedulingInfo=1 hideResultInfo=1 %]
    [% END %]
    [36.1186]
    [36.359]
    <h2>Running builds</h2>
    [% INCLUDE renderBuildList builds=runningBuilds showSchedulingInfo=1 hideResultInfo=1 %]
    [% END %]
  • replacement in src/root/job.tt at line 21
    [36.401][36.401:525](),[36.525][36.18479:18487](),[36.1332][36.18479:18487](),[36.18479][36.18479:18487](),[36.18487][36.4029:4072](),[36.4072][36.197:251](),[36.18513][36.197:251](),[36.251][36.18568:18782](),[36.18568][36.18568:18782](),[36.18969][36.18969:18985](),[36.18985][36.4073:4120](),[36.4120][36.19015:19395](),[36.19015][36.19015:19395]()
    <h2>Last 10 builds</h2>
    [% INCLUDE renderBuildList builds=lastBuilds showStatusChange=0 %]
    [% END %]
    </div>
    <div id="tabs-channels" class="tab-pane">
    <p>This job provides the following Nix channel:</p>
    <ul>
    <li>
    <a href="[% c.uri_for('/job' project.name jobset.name job.name
    'channel' 'latest') %]"><tt>latest</tt></a> — contains the latest
    successful build for each platform.
    </li>
    </ul>
    </div>
    <div id="tabs-latestbuilds" class="tab-pane">
    <ul>
    <li><a href="[% c.uri_for('/job' project.name jobset.name job.name
    'latest') %]">Latest successful build.</a></li>
    [% FOREACH system IN systems %]
    <li><a href="[% c.uri_for('/job' project.name jobset.name job.name
    'latest-for' system.system) %]">Latest successful build for <tt>[%
    system.system %]</tt>.</a></li>
    [% END %]
    </ul>
    </div>
    [36.401]
    [36.19465]
    <h2>Last 10 builds</h2>
    [% INCLUDE renderBuildList builds=lastBuilds showStatusChange=0 %]
    [% END %]
    </div>
    <div id="tabs-channels" class="tab-pane">
    <p>This job provides the following Nix channel:</p>
    <ul>
    <li>
    <a href="[% c.uri_for('/job' project.name jobset.name job.name
    'channel' 'latest') %]"><tt>latest</tt></a> — contains the latest
    successful build for each platform.
    </li>
    </ul>
    </div>
    <div id="tabs-latestbuilds" class="tab-pane">
    <ul>
    <li><a href="[% c.uri_for('/job' project.name jobset.name job.name
    'latest') %]">Latest successful build.</a></li>
    [% FOREACH system IN systems %]
    <li><a href="[% c.uri_for('/job' project.name jobset.name job.name
    'latest-for' system.system) %]">Latest successful build for <tt>[%
    system.system %]</tt>.</a></li>
    [% END %]
    </ul>
    </div>
  • replacement in src/root/job.tt at line 49
    [36.19504][36.4121:4160]()
    jQuery(document).ready(function ($) {
    [36.19504]
    [36.4160]
    jQuery(document).ready(function ($) {
  • replacement in src/root/jobset-eval.tt at line 59
    [36.5888][36.5888:5891]()
    [36.5888]
    [36.5891]
  • replacement in src/root/jobset.tt at line 18
    [36.9254][36.9254:9267]()
    <br />
    [36.9254]
    [36.9267]
    <br />
  • replacement in src/root/jobset.tt at line 53
    [36.19568][36.19568:19589](),[36.19589][36.4733:4799](),[36.4799][36.19619:19908](),[36.19619][36.19619:19908](),[36.19908][36.8183:8360](),[36.8360][36.20004:20058](),[36.20004][36.20004:20058]()
    <h3>Inputs</h3>
    <table class="tablesorter table table-striped table-condensed">
    <thead>
    <tr><th>Input name</th><th>Type</th><th>Values</th></tr>
    </thead>
    <tbody class="inputs">
    [% FOREACH input IN jobset.jobsetinputs -%]
    [% INCLUDE renderInput input=input baseName="input-$input.name" %]
    [% END %]
    [% IF edit %]
    <tr>
    <td colspan="3" style="text-align: center;"><button type="button" class="add-input btn btn-success"><i class="icon-plus icon-white"></i> Add a new input</button></td>
    </tr>
    [% END %]
    </tbody>
    </table>
    [36.19568]
    [36.10518]
    <h3>Inputs</h3>
    <table class="tablesorter table table-striped table-condensed">
    <thead>
    <tr><th>Input name</th><th>Type</th><th>Values</th></tr>
    </thead>
    <tbody class="inputs">
    [% FOREACH input IN jobset.jobsetinputs -%]
    [% INCLUDE renderInput input=input baseName="input-$input.name" %]
    [% END %]
    [% IF edit %]
    <tr>
    <td colspan="3" style="text-align: center;"><button type="button" class="add-input btn btn-success"><i class="icon-plus icon-white"></i> Add a new input</button></td>
    </tr>
    [% END %]
    </tbody>
    </table>
  • replacement in src/root/jobset.tt at line 74
    [36.11583][36.4800:4836](),[36.4836][36.20100:20118](),[36.20100][36.20100:20118](),[36.20118][36.4837:4907](),[36.4907][17.0:157](),[17.157][36.5022:5106](),[36.5022][36.5022:5106](),[36.5106][36.20322:20334](),[36.20322][36.20322:20334](),[36.20334][36.5107:5168](),[36.20511][36.20511:20518](),[36.20518][36.8361:8370]()
    <ul id="tab" class="nav nav-tabs">
    [% IF !edit -%]
    <li><a href="#tabs-information" data-toggle="tab">Jobset</a></li>
    [% IF jobset.errormsg -%]<li><a href="#tabs-errors" data-toggle="tab"><img src="/static/images/error_16.png" /> Evaluation errors</a></li>[% END %]
    <li><a href="#tabs-jobs" data-toggle="tab">Jobs ([% activeJobs.size %])</a></li>
    [% END %]
    <li><a href="#tabs-setup" data-toggle="tab">Setup</a></li>
    </ul>
    [36.11583]
    [36.5238]
    <ul id="tab" class="nav nav-tabs">
    [% IF !edit -%]
    <li><a href="#tabs-information" data-toggle="tab">Jobset</a></li>
    [% IF jobset.errormsg -%]<li><a href="#tabs-errors" data-toggle="tab"><img src="/static/images/error_16.png" /> Evaluation errors</a></li>[% END %]
    <li><a href="#tabs-jobs" data-toggle="tab">Jobs ([% activeJobs.size %])</a></li>
    [% END %]
    <li><a href="#tabs-setup" data-toggle="tab">Setup</a></li>
    </ul>
  • replacement in src/root/jobset.tt at line 84
    [36.5282][36.5282:5335](),[36.5335][36.1066:1104]()
    <div id="tabs-information" class="tab-pane active">
    [% IF !edit && evals.size() > 0 -%]
    [36.5282]
    [36.105]
    <div id="tabs-information" class="tab-pane active">
    [% IF !edit && evals.size() > 0 -%]
  • replacement in src/root/jobset.tt at line 87
    [36.158][36.2805:2937]()
    [% INCLUDE renderEvals linkToAll=c.uri_for(c.controller('Jobset').action_for('evals'), [project.name, jobset.name]) %]
    [36.158]
    [36.413]
    [% INCLUDE renderEvals linkToAll=c.uri_for(c.controller('Jobset').action_for('evals'), [project.name, jobset.name]) %]
  • replacement in src/root/jobset.tt at line 89
    [36.439][36.20677:20737](),[36.20677][36.20677:20737](),[36.20737][36.5336:5394](),[36.361][36.20776:20895](),[36.5394][36.20776:20895](),[36.20776][36.20776:20895]()
    [% IF !edit && activeJobsStatus -%]
    <h2>Status</h2>
    <table class="table table-striped table-condensed">
    <thead><tr><th>Job</th>[% FOREACH s IN systems %]<th>[% s.system %]</th>[% END %]</tr></thead>
    <tbody>
    [36.439]
    [36.20895]
    [% IF !edit && activeJobsStatus -%]
    <h2>Status</h2>
    <table class="table table-striped table-condensed">
    <thead><tr><th>Job</th>[% FOREACH s IN systems %]<th>[% s.system %]</th>[% END %]</tr></thead>
    <tbody>
  • replacement in src/root/jobset.tt at line 95
    [36.20925][36.20925:21196]()
    [% FOREACH j IN activeJobsStatus %]
    <tr class="[% IF odd %] odd [% END; odd = !odd -%]">
    <td>[% INCLUDE renderJobName project=project.name jobset = jobset.name job = j.get_column('job') %]</td>
    [% FOREACH s IN systems %]
    [36.20925]
    [36.21196]
    [% FOREACH j IN activeJobsStatus %]
    <tr class="[% IF odd %] odd [% END; odd = !odd -%]">
    <td>[% INCLUDE renderJobName project=project.name jobset = jobset.name job = j.get_column('job') %]</td>
    [% FOREACH s IN systems %]
  • replacement in src/root/jobset.tt at line 101
    [36.21308][36.362:400](),[36.400][36.21329:21471](),[36.21329][36.21329:21471]()
    <td class="centered">
    [% IF systemStatus != undef %]
    <a href="[% c.uri_for('/build' j.get_column(system _ '-build') ) %]">
    [36.21308]
    [36.1485]
    <td class="centered">
    [% IF systemStatus != undef %]
    <a href="[% c.uri_for('/build' j.get_column(system _ '-build') ) %]">
  • replacement in src/root/jobset.tt at line 105
    [36.1591][36.21757:21951](),[36.21757][36.21757:21951](),[36.21951][36.905:1103]()
    </a>
    [% END %]
    </td>
    [% END %]
    </tr>
    [% END %]
    </tbody>
    </table>
    [% END %]
    [% IF !edit && !activeJobsStatus -%]
    <h2>Status</h2>
    <p>
    [ <a href="[% c.uri_for('/jobset' project.name jobset.name 'with-status' ) %]">Show status overview</a> ]
    </p>
    [% END %]
    [36.1591]
    [36.11599]
    </a>
    [% END %]
    </td>
    [% END %]
    </tr>
    [% END %]
    </tbody>
    </table>
    [% END %]
    [% IF !edit && !activeJobsStatus -%]
    <h2>Status</h2>
    <p>
    [ <a href="[% c.uri_for('/jobset' project.name jobset.name 'with-status' ) %]">Show status overview</a> ]
    </p>
    [% END %]
  • replacement in src/root/jobset.tt at line 121
    [36.11600][36.21952:22007](),[36.22007][36.5395:5437](),[36.5437][36.58:89]()
    </div>
    [% IF !edit -%]
    [% IF jobset.errormsg -%]
    <div id="tabs-errors" class="tab-pane">
    <h2>Evaluation errors</h2>
    [36.11600]
    [27.0]
    </div>
    [% IF !edit -%]
    [% IF jobset.errormsg -%]
    <div id="tabs-errors" class="tab-pane">
    <h2>Evaluation errors</h2>
  • replacement in src/root/jobset.tt at line 130
    [36.89][36.22062:22171](),[27.148][36.22062:22171](),[36.413][36.22062:22171](),[36.22062][36.22062:22171](),[36.22171][36.5438:5508](),[36.5508][36.2081:2109](),[36.22195][36.2081:2109](),[23.250][36.22344:23048](),[36.22344][36.22344:23048](),[36.23048][36.8371:8499](),[36.8499][36.23161:23250](),[36.23161][36.23161:23250](),[36.23250][36.8500:8636](),[36.8636][36.23371:23395](),[36.23371][36.23371:23395]()
    <pre class="multiLineMsg error">[% HTML.escape(jobset.errormsg) %]</pre>
    </div>
    [% END %]
    [% END %]
    <div id="tabs-setup" class="tab-pane [% IF edit %]active[% END %]">
    <h2>Information</h2>
    <table class="layoutTable">
    [% IF edit %]
    <tr>
    <th>Identifier:</th>
    <td>[% INCLUDE maybeEditString param="name" value=jobset.name %]</td>
    </tr>
    [% END %]
    <tr>
    <th>Description:</th>
    <td>[% INCLUDE maybeEditString param="description" value=jobset.description %]</td>
    </tr>
    <tr>
    <th>Nix expression:</th>
    <td>
    <tt>[% INCLUDE maybeEditString param="nixexprpath" value=jobset.nixexprpath extraClass="shortString" %]</tt> in input
    <tt>[% INCLUDE maybeEditString param="nixexprinput" value=jobset.nixexprinput extraClass="shortString" %]</tt>
    </td>
    </tr>
    <tr>
    <th>Enabled:</th>
    <td>
    [% INCLUDE renderSelection param="enabled" curValue=jobset.enabled radiobuttons=1 options={"1" = "Yes", "0" = "No"} %]
    </td>
    </tr>
    <tr>
    <th>Enable email notification:</th>
    <td>
    [% INCLUDE renderSelection param="enableemail" curValue=jobset.enableemail radiobuttons=1 options={"1" = "Yes", "0" = "No"} %]
    </td>
    </tr>
    [27.148]
    [36.528]
    <pre class="multiLineMsg error">[% HTML.escape(jobset.errormsg) %]</pre>
    </div>
    [% END %]
    [% END %]
    <div id="tabs-setup" class="tab-pane [% IF edit %]active[% END %]">
    <h2>Information</h2>
    <table class="layoutTable">
    [% IF edit %]
    <tr>
    <th>Identifier:</th>
    <td>[% INCLUDE maybeEditString param="name" value=jobset.name %]</td>
    </tr>
    [% END %]
    <tr>
    <th>Description:</th>
    <td>[% INCLUDE maybeEditString param="description" value=jobset.description %]</td>
    </tr>
    <tr>
    <th>Nix expression:</th>
    <td>
    <tt>[% INCLUDE maybeEditString param="nixexprpath" value=jobset.nixexprpath extraClass="shortString" %]</tt> in input
    <tt>[% INCLUDE maybeEditString param="nixexprinput" value=jobset.nixexprinput extraClass="shortString" %]</tt>
    </td>
    </tr>
    <tr>
    <th>Enabled:</th>
    <td>
    [% INCLUDE renderSelection param="enabled" curValue=jobset.enabled radiobuttons=1 options={"1" = "Yes", "0" = "No"} %]
    </td>
    </tr>
    <tr>
    <th>Enable email notification:</th>
    <td>
    [% INCLUDE renderSelection param="enableemail" curValue=jobset.enableemail radiobuttons=1 options={"1" = "Yes", "0" = "No"} %]
    </td>
    </tr>
  • replacement in src/root/jobset.tt at line 179
    [36.964][36.23561:23977](),[36.23561][36.23561:23977]()
    [% IF !edit %]
    <tr>
    <th>Last checked:</th>
    <td>
    [% IF jobset.lastcheckedtime %]
    [% INCLUDE renderDateTime timestamp = jobset.lastcheckedtime -%][% IF jobset.errormsg -%]<em>, with errors!</em>
    [% ELSE %], <em>no errors</em>
    [% END %]
    [% ELSE %]
    <em>never</em>
    [% END %]
    </td>
    </tr>
    [% END %]
    </table>
    [36.964]
    [36.13216]
    [% IF !edit %]
    <tr>
    <th>Last checked:</th>
    <td>
    [% IF jobset.lastcheckedtime %]
    [% INCLUDE renderDateTime timestamp = jobset.lastcheckedtime -%][% IF jobset.errormsg -%]<em>, with errors!</em>
    [% ELSE %], <em>no errors</em>
    [% END %]
    [% ELSE %]
    <em>never</em>
    [% END %]
    </td>
    </tr>
    [% END %]
    </table>
  • edit in src/root/jobset.tt at line 195
    [36.13217][36.23978:24037](),[36.24626][36.5554:5594](),[36.5594][36.24649:24835](),[36.24649][36.24649:24835](),[36.24835][36.1865:1986](),[36.1986][36.24974:25001](),[36.24974][36.24974:25001]()
    [% INCLUDE renderInputs %]
    </div>
    [% IF !edit -%]
    <div id="tabs-jobs" class="tab-pane">
    <h2>Jobs</h2>
    <p>This jobset currently contains the following [% activeJobs.size %] jobs:
    <blockquote>
    [% IF activeJobs.size == 0 %]<em>(none)</em>[% END %]
    [% FOREACH j IN activeJobs %] [% INCLUDE renderJobName project=project.name jobset=jobset.name job=j %] [% END %]
    </blockquote>
    </p>
  • replacement in src/root/jobset.tt at line 196
    [36.1988][36.25005:25168](),[36.25005][36.25005:25168](),[36.25168][36.1989:2112](),[36.2112][36.25309:25352](),[36.25309][36.25309:25352](),[36.488][36.25452:25463](),[36.25452][36.25452:25463]()
    <p>This jobset used to contain the following [% inactiveJobs.size %] jobs:
    <blockquote>
    [% IF inactiveJobs.size == 0 %]<em>(none)</em>[% END %]
    [% FOREACH j IN inactiveJobs %] [% INCLUDE renderJobName project=project.name jobset=jobset.name job=j %] [% END %]
    </blockquote>
    </p>
    </div>
    [% END %]
    [36.1988]
    [36.13217]
    [% INCLUDE renderInputs %]
    </div>
    [% IF !edit -%]
    <div id="tabs-jobs" class="tab-pane">
    <h2>Jobs</h2>
    <p>This jobset currently contains the following [% activeJobs.size %] jobs:
    <blockquote>
    [% IF activeJobs.size == 0 %]<em>(none)</em>[% END %]
    [% FOREACH j IN activeJobs %] [% INCLUDE renderJobName project=project.name jobset=jobset.name job=j %] [% END %]
    </blockquote>
    </p>
    <p>This jobset used to contain the following [% inactiveJobs.size %] jobs:
    <blockquote>
    [% IF inactiveJobs.size == 0 %]<em>(none)</em>[% END %]
    [% FOREACH j IN inactiveJobs %] [% INCLUDE renderJobName project=project.name jobset=jobset.name job=j %] [% END %]
    </blockquote>
    </p>
  • edit in src/root/jobset.tt at line 220
    [36.13218]
    [36.25464]
    </div>
    [% END %]
  • replacement in src/root/jobset.tt at line 226
    [36.25504][36.5595:5634]()
    jQuery(document).ready(function ($) {
    [36.25504]
    [36.5634]
    jQuery(document).ready(function ($) {
  • replacement in src/root/jobset.tt at line 236
    [36.13464][36.13464:13469]()
    [36.13464]
    [36.13469]
  • replacement in src/root/jobset.tt at line 260
    [36.14324][36.14324:14329]()
    [36.14324]
    [36.8637]
  • replacement in src/root/machine.tt at line 5
    [36.10547][36.10547:10550]()
    [36.10547]
    [36.10550]
  • replacement in src/root/machine.tt at line 18
    [36.542][36.10988:10991]()
    [36.542]
    [36.10991]
  • replacement in src/root/machine.tt at line 25
    [36.11214][36.11214:11217]()
    [36.11214]
    [36.11217]
  • replacement in src/root/machine.tt at line 32
    [36.11445][36.11445:11448]()
    [36.11445]
    [36.11448]
  • replacement in src/root/machine.tt at line 39
    [36.11667][36.11667:11670]()
    [36.11667]
    [36.11670]
  • replacement in src/root/machine.tt at line 46
    [36.11915][36.11915:11918]()
    [36.11915]
    [36.11918]
  • replacement in src/root/machine.tt at line 53
    [36.12150][36.12150:12153]()
    [36.12150]
    [36.12153]
  • replacement in src/root/machine.tt at line 87
    [36.13310][36.13310:13313]()
    [36.13310]
    [36.13313]
  • replacement in src/root/machines.tt at line 36
    [36.3866][36.3866:3871]()
    [36.3866]
    [36.3871]
  • replacement in src/root/overview.tt at line 8
    [36.10976][36.7686:7809]()
    <h4 class="alert-heading">[% INCLUDE renderDateTime timestamp=i.createtime %] by [% i.author.fullname %]</h4>
    [36.10976]
    [36.7809]
    <h4 class="alert-heading">[% INCLUDE renderDateTime timestamp=i.createtime %] by [% i.author.fullname %]</h4>
  • replacement in src/root/product-list.tt at line 12
    [36.3315][36.1720:1727]()
    [36.3315]
    [36.1727]
  • replacement in src/root/product-list.tt at line 14
    [36.1808][36.2262:2269](),[36.3315][36.2262:2269](),[36.4081][36.2262:2269](),[36.2262][36.2262:2269]()
    [36.1808]
    [36.3234]
  • replacement in src/root/product-list.tt at line 31
    [36.443][36.443:452]()
    [36.443]
    [36.452]
  • replacement in src/root/product-list.tt at line 33
    [36.528][36.528:537]()
    [36.528]
    [36.537]
  • replacement in src/root/product-list.tt at line 35
    [36.638][36.638:653]()
    [36.638]
    [36.653]
  • replacement in src/root/product-list.tt at line 40
    [36.335][36.335:344]()
    [36.335]
    [36.344]
  • replacement in src/root/product-list.tt at line 58
    [36.1332][36.1332:1347]()
    [36.1332]
    [36.1347]
  • replacement in src/root/product-list.tt at line 60
    [36.1428][36.1428:1443]()
    [36.1428]
    [36.1443]
  • replacement in src/root/product-list.tt at line 64
    [36.1659][36.1659:1674]()
    [36.1659]
    [36.1674]
  • replacement in src/root/product-list.tt at line 67
    [36.1712][36.1712:1717]()
    [36.1712]
    [36.1717]
  • replacement in src/root/product-list.tt at line 72
    [36.740][36.740:745]()
    [36.740]
    [36.745]
  • replacement in src/root/product-list.tt at line 75
    [36.883][36.883:896]()
    [36.883]
    [36.896]
  • replacement in src/root/product-list.tt at line 80
    [36.1078][36.1078:1091]()
    [36.1078]
    [36.1447]
  • replacement in src/root/product-list.tt at line 86
    [36.1391][36.1391:1396]()
    [36.1391]
    [36.1396]
  • replacement in src/root/product-list.tt at line 88
    [36.1471][36.1471:1476]()
    [36.1471]
    [36.1476]
  • replacement in src/root/product-list.tt at line 90
    [36.1539][36.1539:1544]()
    [36.1539]
    [36.1544]
  • replacement in src/root/product-list.tt at line 92
    [36.1616][36.1616:1621]()
    [36.1616]
    [36.1621]
  • replacement in src/root/product-list.tt at line 95
    [36.1762][36.1762:1767]()
    [36.1762]
    [36.1767]
  • replacement in src/root/product-list.tt at line 97
    [36.1824][36.1824:1829]()
    [36.1824]
    [36.1829]
  • replacement in src/root/product-list.tt at line 99
    [36.1912][36.1912:1917]()
    [36.1912]
    [36.1917]
  • replacement in src/root/product-list.tt at line 105
    [36.2188][36.2188:2193]()
    [36.2188]
    [36.2193]
  • replacement in src/root/product-list.tt at line 112
    [36.4409][36.2495:2502]()
    [36.4409]
    [36.580]
  • replacement in src/root/product-list.tt at line 141
    [36.1332][36.1577:1608](),[36.1577][36.1577:1608]()
    <tr>
    [36.1332]
    [36.1608]
    <tr>
  • replacement in src/root/product-list.tt at line 163
    [36.5926][36.621:630]()
    [36.5926]
    [36.630]
  • replacement in src/root/product-list.tt at line 168
    [36.5953][36.2543:2550]()
    [36.5953]
    [36.657]
  • replacement in src/root/product-list.tt at line 208
    [36.6819][36.2632:2639]()
    [36.6819]
    [36.793]
  • replacement in src/root/project.tt at line 3
    [36.3207][36.8131:8167](),[36.8167][36.25687:25704](),[36.25687][36.25687:25704](),[36.25704][36.8168:8234](),[36.8234][36.25752:25764](),[36.25752][36.25752:25764](),[36.25764][36.8235:8302](),[36.8302][36.25813:25830](),[36.25813][36.25813:25830](),[36.25830][36.8303:8365](),[36.552][36.25978:25997](),[36.8433][36.25978:25997](),[36.25978][36.25978:25997]()
    <ul id="tab" class="nav nav-tabs">
    [% IF !edit %]
    <li><a href="#tabs-project" data-toggle="tab">Project</a></li>
    [% END %]
    <li><a href="#tabs-settings" data-toggle="tab">Settings</a></li>
    [% IF !edit %]
    <li><a href="#tabs-views" data-toggle="tab">Views</a></li>
    [% END %]
    </ul>
    [36.3207]
    [36.3166]
    <ul id="tab" class="nav nav-tabs">
    [% IF !edit %]
    <li><a href="#tabs-project" data-toggle="tab">Project</a></li>
    [% END %]
    <li><a href="#tabs-settings" data-toggle="tab">Settings</a></li>
    [% IF !edit %]
    <li><a href="#tabs-views" data-toggle="tab">Views</a></li>
    [% END %]
    </ul>
  • replacement in src/root/project.tt at line 15
    [36.8469][36.25998:26014](),[36.3167][36.25998:26014](),[36.26014][36.8470:8520](),[36.8520][36.26040:26159](),[36.26040][36.26040:26159](),[36.26159][36.8521:8588](),[36.8588][36.26190:26215](),[36.26190][36.26190:26215]()
    [% IF !edit %]
    <div id="tabs-project" class="tab-pane active">
    <h2>Jobsets</h2>
    [% IF project.jobsets.size > 0 %]
    <p>This project has the following jobsets:</p>
    <table class="tablesorter table table-striped table-condensed">
    <thead>
    <tr>
    [36.8469]
    [36.708]
    [% IF !edit %]
    <div id="tabs-project" class="tab-pane active">
    <h2>Jobsets</h2>
    [% IF project.jobsets.size > 0 %]
    <p>This project has the following jobsets:</p>
    <table class="tablesorter table table-striped table-condensed">
    <thead>
    <tr>
  • replacement in src/root/project.tt at line 27
    [36.736][36.26215:26299](),[36.26215][36.26215:26299]()
    <th>Id</th>
    <th>Description</th>
    <th>Last evaluated</th>
    [36.736]
    [36.202]
    <th>Id</th>
    <th>Description</th>
    <th>Last evaluated</th>
  • replacement in src/root/project.tt at line 31
    [36.249][36.26299:26339](),[36.854][36.26299:26339](),[36.26299][36.26299:26339](),[36.26339][36.84:118]()
    </tr>
    </thead>
    <tbody>
    [% FOREACH j IN jobsets %]
    [36.249]
    [36.1592]
    </tr>
    </thead>
    <tbody>
    [% FOREACH j IN jobsets %]
  • replacement in src/root/project.tt at line 36
    [36.118][36.26381:26538](),[36.1642][36.26381:26538](),[36.26381][36.26381:26538]()
    <tr class="clickable [% IF odd %] odd [% END; odd = !odd %]"
    onclick="window.location = '[% c.uri_for('/jobset' project.name j.name) %]'">
    [36.1642]
    [36.737]
    <tr class="clickable [% IF odd %] odd [% END; odd = !odd %]"
    onclick="window.location = '[% c.uri_for('/jobset' project.name j.name) %]'">
  • replacement in src/root/project.tt at line 49
    [36.1421][36.26538:26677](),[36.26538][36.26538:26677]()
    <td>[% INCLUDE renderJobsetName project = project.name jobset = j.name %]</td>
    <td>[% HTML.escape(j.description) %]</td>
    [36.1421]
    [36.1422]
    <td>[% INCLUDE renderJobsetName project = project.name jobset = j.name %]</td>
    <td>[% HTML.escape(j.description) %]</td>
  • replacement in src/root/project.tt at line 78
    [36.1207][36.26754:26897](),[36.1343][36.26754:26897](),[36.1508][36.26754:26897](),[36.26754][36.26754:26897](),[36.27028][36.27028:27050](),[36.27050][36.10015:10087](),[36.10087][36.27076:27269](),[36.27076][36.27076:27269](),[36.27269][36.10088:10111](),[36.10111][36.27402:28545](),[36.27402][36.27402:28545](),[36.28545][36.14552:14680](),[36.14680][36.28658:28710](),[36.28658][36.28658:28710](),[36.28848][36.28848:28851](),[36.28851][36.14681:14689]()
    </tr>
    [% END %]
    </tbody>
    </table>
    [% ELSE %]
    <p>No jobsets have been defined yet.</p>
    [% END %]
    </div>
    [% END %]
    <div id="tabs-settings" class="tab-pane [% IF edit %]active[% END %]">
    [% IF edit %]
    <form action="[% IF create %][% c.uri_for('/create-project/submit') %][% ELSE %][% c.uri_for('/project' project.name 'submit') %][% END %]" method="post">
    [% END %]
    <h2>Information</h2>
    <table class="layoutTable">
    [% IF edit %]
    <tr>
    <th>Identifier:</th>
    <td><tt>[% INCLUDE maybeEditString param="name" value=project.name %]</tt></td>
    </tr>
    [% END %]
    <tr>
    <th>Display name:</th>
    <td>[% INCLUDE maybeEditString param="displayname" value=project.displayname %]</td>
    </tr>
    <tr>
    <th>Description:</th>
    <td>[% INCLUDE maybeEditString param="description" value=project.description %]</td>
    </tr>
    <tr>
    <th>Homepage:</th>
    <td>
    [% IF edit %]
    [% INCLUDE maybeEditString param="homepage" value=project.homepage %]
    [% ELSE %]
    [% IF project.homepage %]
    <a [% HTML.attributes(href => project.homepage) %]>[% HTML.escape(project.homepage) %]</a>
    [% ELSE %]
    <em>(not specified)</em>
    [% END %]
    [% END %]
    </td>
    </tr>
    <tr>
    <th>Owner:</th>
    <td><tt>[% INCLUDE maybeEditString param="owner" value=(project.owner.username || c.user.username) edit=(edit && c.check_user_roles('admin')) %]</tt></td>
    </tr>
    <tr>
    <th>Enabled:</th>
    <td>
    [% INCLUDE renderSelection param="enabled" curValue=project.enabled radiobuttons=1 options={"1" = "Yes", "0" = "No"} %]
    </td>
    </tr>
    </table>
    [% IF edit %]
    <p>
    [36.1165]
    [36.14689]
    </tr>
    [% END %]
    </tbody>
    </table>
    [% ELSE %]
    <p>No jobsets have been defined yet.</p>
    [% END %]
    </div>
    [% END %]
    <div id="tabs-settings" class="tab-pane [% IF edit %]active[% END %]">
    [% IF edit %]
    <form action="[% IF create %][% c.uri_for('/create-project/submit') %][% ELSE %][% c.uri_for('/project' project.name 'submit') %][% END %]" method="post">
    [% END %]
    <h2>Information</h2>
    <table class="layoutTable">
    [% IF edit %]
    <tr>
    <th>Identifier:</th>
    <td><tt>[% INCLUDE maybeEditString param="name" value=project.name %]</tt></td>
    </tr>
    [% END %]
    <tr>
    <th>Display name:</th>
    <td>[% INCLUDE maybeEditString param="displayname" value=project.displayname %]</td>
    </tr>
    <tr>
    <th>Description:</th>
    <td>[% INCLUDE maybeEditString param="description" value=project.description %]</td>
    </tr>
    <tr>
    <th>Homepage:</th>
    <td>
    [% IF edit %]
    [% INCLUDE maybeEditString param="homepage" value=project.homepage %]
    [% ELSE %]
    [% IF project.homepage %]
    <a [% HTML.attributes(href => project.homepage) %]>[% HTML.escape(project.homepage) %]</a>
    [% ELSE %]
    <em>(not specified)</em>
    [% END %]
    [% END %]
    </td>
    </tr>
    <tr>
    <th>Owner:</th>
    <td><tt>[% INCLUDE maybeEditString param="owner" value=(project.owner.username || c.user.username) edit=(edit && c.check_user_roles('admin')) %]</tt></td>
    </tr>
    <tr>
    <th>Enabled:</th>
    <td>
    [% INCLUDE renderSelection param="enabled" curValue=project.enabled radiobuttons=1 options={"1" = "Yes", "0" = "No"} %]
    </td>
    </tr>
    </table>
    [% IF edit %]
    <p>
  • replacement in src/root/project.tt at line 149
    [36.14955][36.14955:15058]()
    <button id="delete-project" type="submit" class="btn btn-danger" name="submit" value="delete">
    [36.14955]
    [36.15058]
    <button id="delete-project" type="submit" class="btn btn-danger" name="submit" value="delete">
  • replacement in src/root/project.tt at line 153
    [36.15196][36.15196:15400]()
    <script type="text/javascript">
    $("#delete-project").click(function() {
    return confirm("Are you sure you want to delete this project?");
    });
    </script>
    [36.15196]
    [36.15400]
    <script type="text/javascript">
    $("#delete-project").click(function() {
    return confirm("Are you sure you want to delete this project?");
    });
    </script>
  • replacement in src/root/project.tt at line 160
    [36.15453][36.29314:29317](),[36.29314][36.29314:29317](),[36.29338][36.29338:29352](),[36.29352][36.15454:15457]()
    [% END %]
    [36.15453]
    [36.15457]
    [% END %]
  • edit in src/root/project.tt at line 164
    [36.15475][36.29352:29363](),[36.29352][36.29352:29363]()
    </div>
  • replacement in src/root/project.tt at line 165
    [36.3197][36.29364:29380](),[36.29380][36.10112:10154](),[36.10154][36.29405:29686](),[36.29405][36.29405:29686]()
    [% IF !edit %]
    <div id="tabs-views" class="tab-pane">
    <h2>Views</h2>
    [% IF views.size > 0 %]
    <p>Project <tt>[% project.name %]</tt> has the following views:</p>
    <ul>
    [% FOREACH view IN views %]
    <li>
    <a href="[% c.uri_for('/view' project.name view.name) %]"><tt>[% view.name %]</tt></a>
    [36.3197]
    [36.15476]
    </div>
    [% IF !edit %]
    <div id="tabs-views" class="tab-pane">
    <h2>Views</h2>
    [% IF views.size > 0 %]
    <p>Project <tt>[% project.name %]</tt> has the following views:</p>
    <ul>
    [% FOREACH view IN views %]
    <li>
    <a href="[% c.uri_for('/view' project.name view.name) %]"><tt>[% view.name %]</tt></a>
  • replacement in src/root/project.tt at line 181
    [36.15601][36.29771:29911](),[36.29771][36.29771:29911](),[36.29911][36.15602:15686]()
    </li>
    [% END %]
    </ul>
    [% ELSE %]
    <p>Project <tt>[% project.name %]</tt> has no views.</p>
    [% END %]
    <p><a class="btn" href="[% c.uri_for('/project' project.name 'create-view') %]">
    [36.15601]
    [36.15686]
    </li>
    [% END %]
    </ul>
    [% ELSE %]
    <p>Project <tt>[% project.name %]</tt> has no views.</p>
    [% END %]
    <p><a class="btn" href="[% c.uri_for('/project' project.name 'create-view') %]">
  • replacement in src/root/project.tt at line 194
    [36.15789][36.30010:30023](),[36.30010][36.30010:30023](),[36.656][36.30687:30698](),[36.30687][36.30687:30698]()
    </div>
    [% END %]
    [36.15789]
    [36.30698]
    </div>
    [% END %]
  • replacement in src/root/project.tt at line 200
    [36.30738][36.10201:10240]()
    jQuery(document).ready(function ($) {
    [36.30738]
    [36.10240]
    jQuery(document).ready(function ($) {
  • replacement in src/root/timeline.tt at line 12
    [36.787][3.59:158]()
    <script src="http://simile.mit.edu/timeline/api/timeline-api.js" type="text/javascript"></script>
    [36.787]
    [36.885]
    <script src="http://simile.mit.edu/timeline/api/timeline-api.js" type="text/javascript"></script>
  • replacement in src/root/timeline.tt at line 15
    [36.887][36.887:921]()
    <script type="text/javascript">
    [36.887]
    [36.921]
    <script type="text/javascript">
  • replacement in src/root/timeline.tt at line 18
    [36.952][36.952:968]()
    });
    [36.952]
    [36.968]
    });
  • replacement in src/root/timeline.tt at line 26
    [36.1145][36.1145:1229]()
    width: "100%",
    intervalUnit: Timeline.DateTime.HOUR,
    [36.1145]
    [36.1229]
    width: "100%",
    intervalUnit: Timeline.DateTime.HOUR,
  • replacement in src/root/timeline.tt at line 40
    [36.1642][36.1642:1709]()
    "end": "[% date.format(pit, '%Y-%m-%dT%H:%M:%S') %]",
    [36.1642]
    [36.1709]
    "end": "[% date.format(pit, '%Y-%m-%dT%H:%M:%S') %]",
  • replacement in src/root/timeline.tt at line 42
    [36.1736][36.1736:1749]()
    }
    [36.1736]
    [36.1749]
    }
  • replacement in src/root/timeline.tt at line 46
    [36.1883][36.1883:1977]()
    "end": "[% date.format(build.get_column("stoptime"), '%Y-%m-%dT%H:%M:%S') %]",
    [36.1883]
    [36.1977]
    "end": "[% date.format(build.get_column("stoptime"), '%Y-%m-%dT%H:%M:%S') %]",
  • replacement in src/root/timeline.tt at line 51
    [36.2209][36.2209:2224]()
    }
    [36.2209]
    [36.2224]
    }
  • replacement in src/root/timeline.tt at line 53
    [36.2239][36.2239:2248]()
    ]};
    [36.2239]
    [36.2248]
    ]};
  • replacement in src/root/timeline.tt at line 55
    [36.2249][36.2249:2311]()
    eventSource.loadJSON(event_data, document.location.href);
    [36.2249]
    [36.2311]
    eventSource.loadJSON(event_data, document.location.href);
  • replacement in src/root/topbar.tt at line 59
    [36.138][36.138:160]()
    [% ELSE %]
    [36.138]
    [36.160]
    [% ELSE %]
  • replacement in src/root/topbar.tt at line 65
    [36.12261][36.12261:12264]()
    [36.12261]
    [36.12264]
  • replacement in src/root/topbar.tt at line 93
    [36.115][36.3372:3394](),[36.3372][36.3372:3394]()
    [% ELSE %]
    [36.115]
    [36.116]
    [% ELSE %]
  • replacement in src/root/topbar.tt at line 101
    [36.13480][36.13480:13483]()
    [36.13480]
    [36.13483]
  • replacement in src/root/topbar.tt at line 154
    [36.1845][36.1845:1848]()
    [36.1845]
    [36.1848]
  • replacement in src/root/topbar.tt at line 174
    [36.15142][36.15142:15296]()
    [% INCLUDE maybeLink
    uri = c.uri_for(c.controller('Admin').action_for('clearfailedcache'))
    content = "Clear failed builds cache"
    [36.15142]
    [36.17021]
    [% INCLUDE maybeLink
    uri = c.uri_for(c.controller('Admin').action_for('clearfailedcache'))
    content = "Clear failed builds cache"
  • replacement in src/root/topbar.tt at line 179
    [36.17122][36.15378:15406](),[36.15378][36.15378:15406]()
    [% INCLUDE maybeLink
    [36.17122]
    [36.15406]
    [% INCLUDE maybeLink
  • replacement in src/root/user.tt at line 10
    [36.4901][36.4901:4924]()
    [% END %]
    [36.4901]
    [36.4924]
    [% END %]
  • replacement in src/root/user.tt at line 20
    [36.17511][36.17511:17514]()
    [36.17511]
    [36.17514]
  • replacement in src/root/user.tt at line 73
    [36.19349][36.19349:19356]()
    </p>
    [36.19349]
    [36.6269]
    </p>
  • replacement in src/root/users.tt at line 29
    [36.7778][36.7778:7783]()
    [36.7778]
    [36.7783]
  • replacement in src/root/view-result.tt at line 40
    [36.8170][36.8170:8177]()
    [36.8170]
    [36.8177]
  • replacement in src/root/view.tt at line 26
    [36.8894][36.8894:8897]()
    [36.8894]
    [36.8897]
  • replacement in src/script/hydra-control at line 31
    [36.776][36.776:781]()
    [36.776]
    [4.264]
  • replacement in src/script/hydra-control at line 34
    [4.393][36.910:915](),[36.910][36.910:915]()
    [4.393]
    [36.915]
  • replacement in src/script/hydra-control at line 37
    [36.1050][36.1050:1055]()
    [36.1050]
    [36.1055]
  • replacement in src/script/hydra-queue-runner at line 83
    [36.7127][36.568:581](),[36.111][36.568:581]()
    [36.7127]
    [36.236]
  • replacement in src/script/hydra-queue-runner at line 168
    [36.835][36.835:844]()
    [36.835]
    [36.1597]
  • replacement in src/script/hydra-queue-runner at line 170
    [36.1623][36.845:854]()
    [36.1623]
    [36.1623]
  • replacement in src/script/hydra-update-gc-roots at line 93
    [36.1698][36.1698:1729]()
    { 'me.id' => { 'in' => \
    [36.1698]
    [36.1729]
    { 'me.id' => { 'in' => \
  • replacement in src/sql/hydra.sql at line 90
    [16.409][36.6629:6634](),[36.6629][36.6629:6634]()
    [16.409]
    [36.6634]
  • replacement in src/sql/hydra.sql at line 124
    [36.9045][36.9045:9050]()
    [36.9045]
    [36.9050]
  • replacement in src/sql/hydra.sql at line 163
    [36.915][36.2510:2515](),[36.7881][36.2510:2515](),[36.2407][36.2510:2515]()
    [36.7881]
    [36.2515]
  • replacement in src/sql/hydra.sql at line 180
    [36.2071][36.9985:9990]()
    [36.2071]
    [36.11191]
  • replacement in src/sql/hydra.sql at line 233
    [36.4978][36.1811:1816](),[36.2594][36.1811:1816]()
    [36.4951]
    [36.4389]
  • replacement in src/sql/hydra.sql at line 243
    [36.3901][36.1796:1801]()
    [36.3901]
    [36.1801]
  • replacement in src/sql/hydra.sql at line 245
    [36.1825][36.1924:1929](),[36.3901][36.1924:1929](),[36.1924][36.1924:1929]()
    [36.1825]
    [36.8162]
  • replacement in src/sql/hydra.sql at line 342
    [36.12176][36.12176:12181]()
    [36.12176]
    [36.12181]
  • replacement in src/sql/hydra.sql at line 346
    [36.13052][36.12305:12352](),[36.12305][36.12305:12352]()
    keep integer not null default 0,
    [36.13052]
    [36.12352]
    keep integer not null default 0,
  • replacement in src/sql/hydra.sql at line 367
    [36.13171][36.13171:13176]()
    [36.13171]
    [36.13223]
  • replacement in src/sql/hydra.sql at line 369
    [36.13247][36.13247:13252]()
    [36.13247]
    [36.6014]
  • replacement in src/sql/hydra.sql at line 377
    [36.13761][36.6047:6052](),[36.6047][36.6047:6052]()
    [36.13761]
    [36.13762]
  • replacement in src/sql/hydra.sql at line 422
    [36.3228][36.6714:6719]()
    [36.3228]
    [36.6719]
  • replacement in src/sql/hydra.sql at line 454
    [19.4161][19.4161:4166]()
    [19.4161]
    [19.4166]
  • replacement in src/sql/hydra.sql at line 463
    [19.4439][19.4439:4444]()
    [19.4439]
    [19.4444]
  • replacement in src/sql/upgrade-2.sql at line 18
    [36.8541][36.8541:8562]()
    update Builds b set
    [36.8541]
    [36.8562]
    update Builds b set
  • replacement in src/sql/upgrade-2.sql at line 26
    [36.9017][36.9017:9038]()
    update Builds b set
    [36.9017]
    [36.9038]
    update Builds b set
  • replacement in src/sql/upgrade-2.sql at line 29
    [36.11879][36.11879:11900]()
    update Builds b set
    [36.11879]
    [36.11900]
    update Builds b set
  • replacement in src/sql/upgrade-6.sql at line 8
    [19.4915][19.4915:4920]()
    [19.4915]
    [19.4920]
  • replacement in src/sql/upgrade-6.sql at line 17
    [19.5193][19.5193:5198]()
    [19.5193]
    [19.5198]
  • replacement in tests/Makefile.am at line 15
    [36.45][36.291:302](),[36.46][36.291:302](),[36.58][36.291:302](),[36.117][36.291:302](),[36.354][36.291:302](),[36.291][36.291:302]()
    perl -w
    [36.117]
    [36.302]
    perl -w
  • replacement in tests/Makefile.am at line 38
    [36.253][36.86:94]()
    dirs :
    [36.253]
    [36.157]
    dirs :
  • replacement in tests/Setup.pm at line 35
    [36.291][36.578:581]()
    [36.291]
    [13.23]
  • replacement in tests/jobs/basic.nix at line 2
    [36.1299][36.1759:1778](),[36.1759][36.1759:1778]()
    {
    empty_dir =
    [36.1299]
    [36.1300]
    {
    empty_dir =
  • replacement in tests/jobs/basic.nix at line 9
    [36.1908][36.1908:1919]()
    fails =
    [36.1908]
    [36.1320]
    fails =
  • replacement in tests/jobs/basic.nix at line 15
    [36.2032][36.2032:2057]()
    succeed_with_failed =
    [36.2032]
    [36.1340]
    succeed_with_failed =
  • replacement in tests/jobs/build-output-as-input.nix at line 10
    [36.1514][36.1514:1528]()
    build2 =
    [36.1514]
    [36.1528]
    build2 =
  • replacement in tests/jobs/bzr-checkout-input.nix at line 3
    [36.2068][36.2068:2082]()
    {
    copy =
    [36.2068]
    [36.1771]
    {
    copy =
  • replacement in tests/jobs/bzr-input.nix at line 3
    [36.2275][36.2275:2289]()
    {
    copy =
    [36.2275]
    [36.1838]
    {
    copy =
  • replacement in tests/jobs/deepgit-input.nix at line 3
    [36.4012][36.4012:4026]()
    {
    copy =
    [36.4012]
    [36.4026]
    {
    copy =
  • replacement in tests/jobs/git-input.nix at line 3
    [36.2464][36.2464:2478]()
    {
    copy =
    [36.2464]
    [36.2118]
    {
    copy =
  • replacement in tests/jobs/git-update.sh at line 3
    [36.4228][29.8:16]()
    set -e
    [36.4228]
    [36.5523]
    set -e
  • replacement in tests/jobs/git-update.sh at line 15
    [36.5630][29.37:59]()
    echo "STATE: $state"
    [36.5630]
    [36.5630]
    echo "STATE: $state"
  • replacement in tests/jobs/git-update.sh at line 17
    [36.5645][29.60:116]()
    (0) echo "::Create repo. -- continue -- updated::"
    [36.5645]
    [36.4362]
    (0) echo "::Create repo. -- continue -- updated::"
  • replacement in tests/jobs/hg-input.nix at line 3
    [36.2653][36.2653:2667]()
    {
    copy =
    [36.2653]
    [36.2185]
    {
    copy =
  • replacement in tests/jobs/svn-checkout-input.nix at line 3
    [36.2912][36.2912:2926]()
    {
    copy =
    [36.2912]
    [36.2276]
    {
    copy =
  • replacement in tests/jobs/svn-input.nix at line 3
    [36.3119][36.3119:3133]()
    {
    copy =
    [36.3119]
    [36.2343]
    {
    copy =