Commit Graph

86 Commits

Author SHA1 Message Date
Nick Cao
192eb5d896
hydra-unstable: fixup eval.patch 2022-02-26 13:53:35 +08:00
Artturi
b398f196e6
Merge pull request #158455 from NickCao/nix-unstable
nixUnstable: pre20220127 -> pre20220207
2022-02-26 07:42:03 +02:00
Nick Cao
0930709272
hydra-unstable: fix build with nixVersions.unstable 2022-02-26 13:13:33 +08:00
Maximilian Bosch
a215ce7fa5
hydra-unstable: remove ma27 from maintainer list
I'm deploying my own Hydra via flakes for a while now and while this
package actually needs more love and a few updates, I don't have the
capacity to take care of this.
2022-02-10 12:25:45 +01:00
Bernardo Meurer
0419f3b47b
hydra: don't use nixUnstable alias 2022-01-26 12:39:42 -08:00
Bernardo Meurer
5210313299
nixStable: make an alias of nix 2022-01-26 10:32:56 -08:00
Maximilian Bosch
9c6dc5d264
hydra-unstable: add missing perl deps 2021-08-11 11:35:57 +02:00
happysalada
247b53f484 hydra-unstable: 2021-05-03 -> 2021-08-11 2021-08-11 15:14:48 +09:00
Jonathan Ringer
3394da8775 hydra-unstable: fix build, pin libpqxx to 6.4.5 2021-06-24 00:47:07 -07:00
Eelco Dolstra
62ee635d53
Replace nixFlakes -> nixUnstable 2021-05-21 15:23:52 +02:00
Cole Helbling
451477e741
hydra-unstable: 2021-04-29 -> 2021-05-03
This incorporates a few more API fixes that have been made to Hydra since the
last bump.
2021-05-04 12:39:17 -07:00
regnat
bdc95ab29e hydraUnstable: 2021-03-29 -> 2021-04-29
Required to work with the latest nixUnstable
2021-05-03 16:51:15 +02:00
Sandro Jäckel
3453b89f4b
lzma: deprecate alias 2021-04-04 19:49:52 +02:00
Antoine Eiche
e4a1014dd7 hydra-unstable: 2021-03-10 -> 2021-03-29 2021-03-29 22:48:04 +02:00
Shea Levy
d47ac89233
hydra: Put mdbook in nativeBuildInputs where it belongs 2021-03-11 10:44:23 -05:00
Shea Levy
9c5f8a20b4
nixUnstable: 2.4pre20201205_a5d85d0 -> 2.4pre20210308_1c0e3e4
hydra-unstable: 2020-10-20 -> 2021-03-10
2021-03-10 14:13:00 -05:00
Sandro Jäckel
2cd8ce7796
hydra: remove unused inputs 2021-02-18 17:18:22 +01:00
Ben Siraphob
c522fec274 pkgs/development/tools: stdenv.lib -> lib 2021-01-23 20:30:03 +07:00
Jonathan Ringer
9bb3fccb5b treewide: pkgs.pkgconfig -> pkgs.pkg-config, move pkgconfig to alias.nix
continuation of #109595

pkgconfig was aliased in 2018, however, it remained in
all-packages.nix due to its wide usage. This cleans
up the remaining references to pkgs.pkgsconfig and
moves the entry to aliases.nix.

python3Packages.pkgconfig remained unchanged because
it's the canonical name of the upstream package
on pypi.
2021-01-19 01:16:25 -08:00
Alyssa Ross
3893d6c6d7 gitAndTools: move everything to the top level
The comment at the top of git-and-tools/default.nix said:

    /* All git-relates tools live here, in a separate attribute set so that users
     * can get a fast overview over what's available.

but unfortunately that hasn't actually held up in practice.

Git-related packages have continued to be added to the top level, or
into gitAndTools, or sometimes both, basically at random, so having
gitAndTools is just confusing.  In fact, until I looked as part of
working on getting rid of gitAndTools, one program (ydiff) was
packaged twice independently, once in gitAndTools and once at the top
level (I fixed this in 98c3490196).

So I think it's for the best if we move away from gitAndTools, and
just put all the packages it previously contained at the top level.
I've implemented this here by just making gitAndTools an alias for the
top level -- this saves having loads of lines in aliases.nix.  This
means that people can keep referring to gitAndTools in their
configuration, but it won't be allowed to be used within Nixpkgs, and
it won't be presented to new users by e.g. nix search.

The only other change here that I'm aware of is that
appendToName "minimal" is not longer called on the default git
package, because doing that would have necessitated having a private
gitBase variable like before.  I think it makes more sense not to do
that anyway, and reserve the "minimal" suffix only for gitMinimal.
2021-01-14 21:27:48 +00:00
Orivej Desh
de753c64f9 hydraUnstable: patch to support nixUnstable 2.4pre20201205_a5d85d0
Upstream PR: https://github.com/NixOS/hydra/pull/840
2021-01-06 06:05:52 +00:00
Maximilian Bosch
1308817e05
nixos/hydra: remove hydra-migration upgrade path
This should NOT be backported to 20.09!

When 21.03 is released, the DB changes are about a year old and
operators had two release cycles for the upgrade. At this point it
should be fair to remove the compat layer to reduce the complexity of
the module itself.
2020-10-21 18:03:04 +02:00
Maximilian Bosch
1bb8808e1a
hydra-unstable: 2020-09-02 -> 2020-10-20 2020-10-21 18:03:04 +02:00
Maximilian Bosch
1c55613cd7
hydra-unstable: 2020-08-04 -> 2020-09-02
Needed to fix Hydra with latest `nixUnstable`.
2020-09-03 22:34:13 +02:00
Maximilian Bosch
ae9ab324b7
hydra-unstable: 2020-07-28 -> 2020-08-04
Moving just one patch forward to fix importing store-paths from
`hydra-queue-runner`[1]. The other patches[2] require a newer
`pkgs.nixUnstable` and can't be used currently due to this.

[1] https://github.com/NixOS/nixpkgs/pull/93945#issuecomment-668244478
[2] 77c33c1d71...4b5813051b
2020-08-04 15:29:09 +02:00
Ivan Kozik
0d7bdd6d8e hydra-unstable: 2020-06-23 -> 2020-07-28
This fixes the build:

config.status: creating hydra-config.h
config.status: executing depfiles commands
config.status: executing libtool commands
config.status: executing executable-scripts commands
building
build flags: -j8 -l8 SHELL=/nix/store/c4wxsn4jays9j31y5z9f83nr2cp7l4pa-bash-4.4-p23/bin/bash
make  all-recursive
make[1]: Entering directory '/build/source'
Making all in src
make[2]: Entering directory '/build/source/src'
Making all in hydra-evaluator
make[3]: Entering directory '/build/source/src/hydra-evaluator'
g++ -DHAVE_CONFIG_H -I. -I../..    -std=c++17 -I/nix/store/2xhb4hlskn33pbyph36v4wxcan56dnrw-boehm-gc-8.0.4-dev/include -I/nix/store/5rjgsqjdm71cflfb68q7m771a1rqcsk3-nix-2.4pre20200719_a79b6dd-dev/include/nix -Wall -I ../libhydra -Wno-deprecated-declarations -g -O2 -std=c++17 -include nix/config.h -c -o hydra_evaluator-hydra-evaluator.o `test -f 'hydra-evaluator.cc' || echo './'`hydra-evaluator.cc
hydra-evaluator.cc:27:27: error: template argument 1 is invalid
   27 |     std::unique_ptr<Config> config;
      |                           ^
hydra-evaluator.cc:27:27: error: template argument 2 is invalid
hydra-evaluator.cc: In constructor 'Evaluator::Evaluator()':
hydra-evaluator.cc:61:56: error: base operand of '->' is not a pointer
   61 |         , maxEvals(std::max((size_t) 1, (size_t) config->getIntOption("max_concurrent_evals", 4)))
      |                                                        ^~
hydra-evaluator.cc:60:44: error: invalid user-defined conversion from 'std::_MakeUniq<Config>::__single_object' {aka 'std::unique_ptr<Config, std::default_delete<Config> >'} to 'int' [-fpermissive]
   60 |         : config(std::make_unique<::Config>())
      |                  ~~~~~~~~~~~~~~~~~~~~~~~~~~^~
In file included from /nix/store/3krz9s8ni3bqy4hy35ycmq8assrrb4f6-gcc-9.3.0/include/c++/9.3.0/memory:80,
                 from /nix/store/d97d0wixvlprz59z57maqj1pmda55r3b-libpqxx-6.4.5/include/pqxx/binarystring.hxx:17,
                 from /nix/store/d97d0wixvlprz59z57maqj1pmda55r3b-libpqxx-6.4.5/include/pqxx/binarystring:4,
                 from /nix/store/d97d0wixvlprz59z57maqj1pmda55r3b-libpqxx-6.4.5/include/pqxx/pqxx:3,
                 from ../libhydra/db.hh:3,
                 from hydra-evaluator.cc:1:
/nix/store/3krz9s8ni3bqy4hy35ycmq8assrrb4f6-gcc-9.3.0/include/c++/9.3.0/bits/unique_ptr.h:374:16: note: candidate is: 'std::unique_ptr<_Tp, _Dp>::operator bool() const [with _Tp = Config; _Dp = std::default_delete<Config>]' <near match>
  374 |       explicit operator bool() const noexcept
      |                ^~~~~~~~
/nix/store/3krz9s8ni3bqy4hy35ycmq8assrrb4f6-gcc-9.3.0/include/c++/9.3.0/bits/unique_ptr.h:374:16: note:   return type 'bool' of explicit conversion function cannot be converted to 'int' with a qualification conversion
make[3]: *** [Makefile:440: hydra_evaluator-hydra-evaluator.o] Error 1
make[3]: Leaving directory '/build/source/src/hydra-evaluator'
make[2]: *** [Makefile:360: all-recursive] Error 1
make[2]: Leaving directory '/build/source/src'
make[1]: *** [Makefile:414: all-recursive] Error 1
make[1]: Leaving directory '/build/source'
make: *** [Makefile:344: all] Error 2
builder for '/nix/store/g967cc3j6rc3nnpx2s4klpr03ig9zzyp-hydra-2020-06-23.drv' failed with exit code 2
2020-07-28 23:40:41 +00:00
Maximilian Bosch
39e3c15706
hydra-unstable: 2020-06-01 -> 2020-06-23
Fixes the build the changes from b505bf202b.
2020-06-23 15:57:22 +02:00
Maximilian Bosch
c18016cfbf
hydra-unstable: 2020-04-16 -> 2020-06-01 2020-06-02 15:39:42 +02:00
rnhmjoj
aee614c996
treewide: replace bazaar with breezy 2020-05-25 09:22:54 +02:00
Maximilian Bosch
ef80b6324b
hydra*: add passthru.tests to reference VM-tests 2020-04-16 01:01:31 +02:00
Maximilian Bosch
6f6c08af30
hydra-unstable: 2020-04-07 -> 2020-04-16 2020-04-16 01:01:08 +02:00
Maximilian Bosch
0f5c38feed
hydra: 2020-03-24 -> 2020-04-07
Also removed `pkgs.hydra-flakes` since flake-support has been merged
into master[1]. Because of that, `pkgs.hydra-unstable` is now compiled
against `pkgs.nixFlakes` and currently requires a patch since Hydra's
master doesn't compile[2] atm.

[1] https://github.com/NixOS/hydra/pull/730
[2] https://github.com/NixOS/hydra/pull/732
2020-04-07 14:11:12 +02:00
Spencer Baugh
ed10432541 hydra: add dep on perlPackages.CatalystPluginSmartURI
This plugin allows configuring the URLs generated by Catalyst (and
therefore by Hydra) to be relative instead of absolute, which makes it
automatically behave correctly when Hydra is accessed both directly
and behind a reverse proxy.
2020-04-04 20:02:09 -04:00
Jan Tojnar
dc88e94ff1
hydra-unstable: Fix eval with allowAliases = false
* Catalyst::Plugin::Unicode::Encoding has been merged into Catalyst::Runtime
* Test::More is apparently part of Perl core modules since 5.6.2
2020-03-29 00:50:16 +01:00
Maximilian Bosch
bd5324c4fc
hydra: 2020-02-06 -> 2020-03-{24,27}
Upgrades Hydra to the latest master/flake branch. To perform this
upgrade, it's needed to do a non-trivial db-migration which provides a
massive performance-improvement[1].

The basic ideas behind multi-step upgrades of services between NixOS versions
have been gathered already[2]. For further context it's recommended to
read this first.

Basically, the following steps are needed:

* Upgrade to a non-breaking version of Hydra with the db-changes
  (columns are still nullable here). If `system.stateVersion` is set to
  something older than 20.03, the package will be selected
  automatically, otherwise `pkgs.hydra-migration` needs to be used.

* Run `hydra-backfill-ids` on the server.

* Deploy either `pkgs.hydra-unstable` (for Hydra master) or
  `pkgs.hydra-flakes` (for flakes-support) to activate the optimization.

The steps are also documented in the release-notes and in the module
using `warnings`.

`pkgs.hydra` has been removed as latest Hydra doesn't compile with
`pkgs.nixStable` and to ensure a graceful migration using the newly
introduced packages.

To verify the approach, a simple vm-test has been added which verifies
the migration steps.

[1] https://github.com/NixOS/hydra/pull/711
[2] https://github.com/NixOS/nixpkgs/pull/82353#issuecomment-598269471
2020-03-28 23:33:25 +01:00
bb010g
a7cb757af4 git-and-tools: canonicalize hyphenated names
Old intercaps names are aliased.

darcs-to-git: rename from darcsToGit
git-fast-export: rename from gitFastExport
git-remote-gcrypt: rename from gitRemoteGcrypt
hub-unstable: rename from hubUnstable
top-git: rename from topGit
2020-02-25 23:04:20 -08:00
Maximilian Bosch
4e81b720eb
hydra: 2019-11-13 -> 2020-02-06 2020-02-06 21:19:46 +01:00
Robin Gloster
f9f46dc327
treewide: NIX_*_FLAGS -> string 2019-12-31 00:15:46 +01:00
Maximilian Bosch
c1d5d406d6
hydra: 2019-08-30 -> 2019-11-13
Updates NixOS/hydra to the latest git-revision available. Also ensured
that the list of Perl dependencies needed for the server is up-to-date.

Most notably are the following changes:

* HTTP-endpoint at `/prometheus` to export metrics
* New user-roles for minor maintenance tasks
2019-12-21 21:57:50 +01:00
Shane
8acf3405ca hydra: Temporarily unbreak hydra with the deprecated lib.closePropagation
Hydra fails to start on recent recent nixpkgs due to a change in Perl packaging: this has been reported in #72783. @conferno in that thread suggested using lib.closePropagation as a fix, which is apparently deprecated, but works for now.
2019-12-16 10:29:19 +00:00
Maximilian Bosch
b898c262c1
hydra: 2019-05-06 -> 2019-08-30 2019-09-08 01:25:25 +02:00
Maximilian Bosch
703a211f05
hydra: 2019-03-18 -> 2019-05-06
As Hydra doesn't have a release model, we have to pin git revs for our
package. The current state provides some new fixes and features like a status
plugin for GitLab.

As Nix 2.0 isn't bundled in `master` and `release-19.03` and we don't
support Nix 1.11 for Hydra, I figured that the Nix version checks could
be dropped and boost can always be used as build input.
2019-05-11 18:56:02 +02:00
Danylo Hlynskyi
8e18f4e414
hydra: fix build (#58592)
Apply patch from https://github.com/NixOS/hydra/pull/648
2019-03-30 22:57:46 +02:00
Maximilian Bosch
341aeb8cf3
hydra: 2019-02-01 -> 2019-03-18
Yesterday we had a discussion about several Hydra-related problems in the #nixos
IRC channel[1], as a result a lot of stalled PRs were merged.

I think that we want to use the latest Hydra now as it contains lots of
new fixes and folks mentioned that they want to use a self-hosted
Hydra, so they probably use the `nixpkgs` package rather than the
expressions from `NixOS/hydra`.

Simply moving to 2019-03-18 should be fine for now as Hydra doesn't have
a release model.

[1] https://logs.nix.samueldr.com/nixos/2019-03-17#2048416;
2019-03-18 09:49:42 +01:00
Vladimír Čunát
64edccb463
treewide: fix missing libs after libtool pruning #51767 2019-02-10 14:14:33 +01:00
Maximilian Bosch
acfc1c1535
hydra: don't support Nix 1.x
The component `hydra-evaluator` requires `pool.hh` from Nix which isn't
provided by Nix 1.x and thus fails with the following error in this
case:

```
hydra-evaluator.cc:3:10: fatal error: pool.hh: No such file or directory
 #include "pool.hh"
          ^~~~~~~~~
compilation terminated.
make[3]: *** [Makefile:443: hydra_evaluator-hydra-evaluator.o] Error 1
```

As the commit is from 2016 and fairly hard to revert for Nix 1.x
support, it's easier to drop that.

This has been tested with fixed perl-bindings for Nix1 as done in #55146.
2019-02-05 00:00:18 +01:00
Ben Wolsieffer
8fb7706847 hydra: 2018-08-07 -> 2019-02-01 2019-02-02 19:02:06 -05:00
Domen Kožar
849b27c62b
hydra: remove me as maintainer 2018-08-14 11:44:07 +01:00
lewo
f2cab31ae9
Merge pull request #44841 from Ma27/bump-hydra
hydra: 2017-11-21 -> 2018-08-07
2018-08-14 09:55:11 +02:00
Maximilian Bosch
7682c2fd61
hydra: 2017-11-21 -> 2018-08-07
This bumps Hydra to the latest revision available. As Hydra doesn't have
a release model (and therefore no tags) ATM, the derivation will pin
against the actual git revision and the date of the commit in the
derivation name.

Additionally the following changes have been made:

* Dropped `postUnpack` phase. It is useful when working with the Hydra
  source (and no dirty changes shall be used in `release.nix`, but is has
  no use in `nixpkgs`).

* Added myself as maintainer to have more folks available in case of
  future breakage.

* Implemented support for Nix 2.0 and `unstable` (currently 2.1):

  Since 1672bcd230447f1ce0c3291950bdd9a662cee974 in NixOS/nix the
  evaluator differentiates between `settings` and `evalSettings`.
  Previously `restrictEval` in `hydra-eval-jobs.cc` has been set in
  `settings`, this doesn't work anymore in Nix 2.1 and is therefore
  incompatible to Nix 2.0 on an API level.

  To resolve this, the flag `isGreaterNix20` parses the version string
  of `pkgs.nix` and applies a patch if nix.version<=2.0.

  Furthermore the Hydra build with Nix 2.1 requires `boost` as build input
  which is not needed for Nix 2.0. To avoid unnecessary increase in the
  closure size this library will only used as build input for
  nix.version>2.0.

* Fixed the NixOS test for `hydra`:
  disabled binary cache to allow sandbox builds (otherwise it would
  query `cache.nixos.org` during the Hydra build inside the test).

  Additionally the trivial.nix jobset required simplification (as done
  in NixOS/hydra, e.g. tests/api-test.nix) as bash is not available in
  the build sandbox as builder (even when adding pkgs.bash to
  systemPackages).

  The easiest workaround to confirm a the functionality of a jobset
  without importing nixpkgs is to use the default shell /bin/sh which
  is mounted from `pkgs.busybox` into the build env
  (https://github.com/NixOS/nixpkgs/pull/44841#discussion_r209751972) in the
  VM and a named pipe to create $out.

Closes #44044
2018-08-13 22:56:27 +02:00