Commit graph

2866 commits

Author SHA1 Message Date
Nikola Knezevic 3efa8223c9 Convert all tests to the Python DSL
Since Perl-based NixOS tests will be deprecated in nixpkgs 20.09, this
change migrates all tests to the new Python-based NixOS tests.
2020-05-11 22:05:30 +02:00
Tobias Pflug 41d70395e4
Add hydra OpenAPI description (#750)
* Add swagger config

* Add hydra api info to the README

* hydra.yaml: added some more descriptions

* Add /login

* Add 404/403 responses

* hydra.yaml -> hydra-api.yaml

* Address PR comments

- drop releases/releasename
- document dependency
- document defaultpath

* Fix syntax

* Add project creation

Add `PUT /project/{id}`

* Add /search

* Add "/api/jobsets" endpoint

* Add /api/push endpoint

* Add jobset PUT definition

* Add eval endpoint

* Remove duplicated key

* Fix typo

* Fix structural errors

* fix another error

* Link to hydra-api.yaml from master

* Add openapi yaml validation step to CI
2020-05-11 10:04:46 -04:00
Bas van Dijk f32a2a48d7
Merge pull request #740 from knl/add-githubrefs-plugin
Add GithubRefs plugin
2020-05-08 13:21:45 +02:00
Eelco Dolstra 88ef3e68a2
Merge pull request #752 from NixOS/remove-releases
Remove the "releases" feature
2020-05-06 18:20:45 +02:00
Eelco Dolstra 96a514c169
Remove the "releases" feature
We haven't used this in many years (it was really only used for nix
and patchelf releases).
2020-05-06 12:39:21 +02:00
Eelco Dolstra ace30b4184
Merge pull request #749 from lopsided98/localhost-no-remote
Don't distribute localhost builds to other builders
2020-05-04 16:36:53 +02:00
Eelco Dolstra 65819a225d
Merge pull request #748 from gilligan/flake-compat-comment
Add comment about edolstra/flake-compat
2020-05-04 16:36:00 +02:00
Ben Wolsieffer f020f7efef
hydra-queue-runner: don't try to distribute builds on localhost 2020-05-03 00:05:52 -04:00
Tobias Pflug 9d80a6de66 Add comment about edolstra/flake-compat
Add a comment to default.nix and shell.nix briefly outlining what
flake-compat/default.nix does.
2020-05-02 18:56:30 +02:00
Graham Christensen c82f51751d
Merge pull request #747 from gilligan/extend-readme
Extend Setup Information
2020-05-02 10:21:51 -04:00
Tobias Pflug c8c308c0e2 Extend Setup Information
Add information on how to create a minimal setup: project/jobset.
2020-05-02 16:04:20 +02:00
Graham Christensen fd38524843
Merge pull request #746 from gilligan/add-ci-badge
Add CI badge to README.md
2020-05-02 08:36:38 -04:00
Tobias Pflug 32c35ed6e6 Add CI badge to README.md 2020-05-02 14:29:19 +02:00
Graham Christensen 9f2a7f86b3
Merge pull request #745 from gilligan/remove-png
Remove .png
2020-05-02 08:24:35 -04:00
Tobias Pflug 8400b005f3 Remove .png
File was added to the repo by accident
2020-05-02 14:19:14 +02:00
Graham Christensen 4dcae3100e
Merge pull request #744 from gilligan/revamp-readme
Update README
2020-05-01 18:02:25 -04:00
Tobias Pflug d949726a6e
Update README.md
Co-authored-by: Graham Christensen <graham@grahamc.com>
2020-05-01 23:57:22 +02:00
Tobias Pflug cc7827f57a Update README
Revamp the whole text providing info on

- installation / setup via nixos module
- building via nix-build
- development environment via nix-shell
2020-05-01 23:28:36 +02:00
Eelco Dolstra 028bab462d
Merge pull request #738 from ehmry/sotest
Add SoTest plugin
2020-04-28 13:40:50 +02:00
Emery Hemingway e93c36aab1 SoTest: read credentials from file 2020-04-26 12:12:04 +05:30
Nikola Knezevic f03e7ef800 Add GithubRefs plugin
This plugin is a counterpart to GithubPulls plugin. Instead of fetching pull
requests, it will fetch all references (branches and tags) that start with a
particular prefix.

The plugin is a copy of GithubPulls plugin with appropriate changes to call the
right API and parse the config matching the need.
2020-04-23 10:45:37 +02:00
Emery Hemingway a63e349476 Add SoTest plugin
https://opensource.sotest.io/
https://docs.sotest.io/
2020-04-21 15:25:44 +05:30
Eelco Dolstra 87837f1d82
Merge pull request #737 from Ma27/rm-sqlite
Get rid of dependency to SQLite
2020-04-16 00:55:38 +02:00
Maximilian Bosch 16a8b4d086
Re-add DBDSQLite since it's needed by the Perl-bindings of Nix 2020-04-16 00:42:40 +02:00
Maximilian Bosch 721c764951
Remove Hydra::Helper::nix::txn_do from the Perl code
To quote the function's comment:

  Awful hack to handle timeouts in SQLite: just retry the transaction.
  DBD::SQLite *has* a 30 second retry window, but apparently it
  doesn't work.

Since SQLite is now dropped entirely, this wrapper can be removed
completely.
2020-04-16 00:42:40 +02:00
Maximilian Bosch efcbc08686
Get rid of dependency to SQLite
SQLite isn't properly supported by Hydra for a few years now[1], but
Hydra still depends on it. Apart from a slightly bigger closure this can
cause confusion by users since Hydra picks up SQLite rather than
PostgreSQL by default if HYDRA_DBI isn't configured properly[2]

[1] 78974abb69
[2] https://logs.nix.samueldr.com/nixos-dev/2020-04-10#3297342;
2020-04-16 00:42:40 +02:00
Eelco Dolstra a42cf35a1c Only run the 'build' test 2020-04-16 00:33:02 +02:00
Eelco Dolstra b9ec1193d8
flake.lock: Update
Flake input changes:

* Updated 'nix': 'github:NixOS/nix/3e7aab81ce6787e01ea4ced5af1fc6a84e523762' -> 'github:NixOS/nix/3aaceeb7e2d3fb8a07a1aa5a21df1dca6bbaa0ef'
* Updated 'nixpkgs': 'github:NixOS/nixpkgs/b0c285807d6a9f1b7562ec417c24fa1a30ecc31a' -> 'github:NixOS/nixpkgs/29eddfc36d720dcc4822581175217543b387b1e8'
2020-04-09 17:52:02 +02:00
Eelco Dolstra fe1c21091f
Merge pull request #735 from Mic92/github-workflow
add github ci tests
2020-04-09 16:06:34 +02:00
Jörg Thalheim 828f686e83
add github ci tests
To avoid breakages as in: https://github.com/NixOS/hydra/pull/731
2020-04-09 14:55:21 +01:00
Eelco Dolstra 400a0fbd14
lastModified -> lastModifiedDate 2020-04-09 15:44:53 +02:00
Graham Christensen 7b705758ec
Merge pull request #732 from Ma27/fix-build
Fix build against latest Nix
2020-04-09 09:02:45 -04:00
Bas van Dijk d816503814
Merge pull request #733 from basvandijk/fix-build_finished-notifications
Separate the build IDs in the build_finished payload with tabs
2020-04-08 12:27:58 +02:00
Bas van Dijk 6e358189ad Separate the build IDs in the build_finished payload with tabs
hydra-notify splits the payload on tabs so we shouldn't separate the
IDs with spaces.
2020-04-08 12:05:25 +02:00
Maximilian Bosch 2f9d422172
Fix build against latest Nix 2020-04-07 13:55:38 +02:00
Eelco Dolstra 4cabb37ebd
Merge pull request #730 from NixOS/flake
Flake support
2020-04-07 11:18:38 +02:00
Eelco Dolstra 62e6c65e68
Merge pull request #703 from kquick/libpqxx_undeprecate
Update libpqxx usage to move away from deprecated API interactions.
2020-04-01 22:04:46 +02:00
Kevin Quick a055796ef5
Merge branch 'master' into libpqxx_undeprecate 2020-04-01 11:54:41 -07:00
Eelco Dolstra 2d092a6fbc
Merge pull request #702 from kquick/fix_api_push
Handle case where jobset has no defined errormsg for api/jobsets
2020-04-01 13:09:05 +02:00
Eelco Dolstra 8564089186
Merge pull request #707 from basvandijk/fix-aggregate-status
Fix printing aggregate status
2020-04-01 13:04:53 +02:00
Eelco Dolstra 6c0bb909df
Merge pull request #704 from basvandijk/sleep-after-catch-exception
hydra-queue-runner: sleep 5s after handling an exception
2020-04-01 13:04:31 +02:00
Eelco Dolstra 9668bc01da
Merge pull request #726 from knl/document-slack-notifications-plugin
Document SlackNotifications plugin
2020-04-01 13:04:00 +02:00
Eelco Dolstra 681d84da0f Merge remote-tracking branch 'origin/master' into flake 2020-03-31 22:36:36 +02:00
Eelco Dolstra 53e1294825 Fix Mercurial tests
In Nixpkgs 20.03, Mercurial fails if PYTHONPATH is set:

  $ hg
  Traceback (most recent call last):
    File "/nix/store/q7s856v6nw4dffdrm9k3w38qs35i8kr3-mercurial-5.2.2/bin/..hg-wrapped-wrapped", line 37, in <module>
      dispatch.run()
    File "/nix/store/bffdy7q3wi3qinflnvbdkigqj39zzynd-python3-3.7.6/lib/python3.7/importlib/util.py", line 245, in __getattribute__
      self.__spec__.loader.exec_module(self)
    File "<frozen importlib._bootstrap_external>", line 728, in exec_module
    File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
    File "/nix/store/q7s856v6nw4dffdrm9k3w38qs35i8kr3-mercurial-5.2.2/lib/python3.7/site-packages/mercurial/dispatch.py", line 10, in <module>
      import difflib
    File "/nix/store/bffdy7q3wi3qinflnvbdkigqj39zzynd-python3-3.7.6/lib/python3.7/difflib.py", line 1084, in <module>
      import re
    File "/nix/store/bffdy7q3wi3qinflnvbdkigqj39zzynd-python3-3.7.6/lib/python3.7/re.py", line 143, in <module>
      class RegexFlag(enum.IntFlag):
  AttributeError: module 'enum' has no attribute 'IntFlag'

(cherry picked from commit 4009d4295e)
2020-03-31 22:19:19 +02:00
Eelco Dolstra 9727892b61 Don't spam the journal with hydra-queue-runner status dumps
(cherry picked from commit 15ae932488)
2020-03-31 22:19:07 +02:00
Eelco Dolstra ccd046ca3d Keep track of the number of unsupported steps
(cherry picked from commit 45ffe578b6)
2020-03-31 22:19:03 +02:00
Eelco Dolstra 4417f9f260 Abort unsupported build steps
If we don't see machine that supports a build step for
'max_unsupported_time' seconds, the step is aborted. The default is 0,
which is appropriate for Hydra installations that don't provision
missing machines dynamically.

(cherry picked from commit f5cdbfe21d)
2020-03-31 22:19:01 +02:00
Eelco Dolstra 68a59f34a0 Remove tabs
(cherry picked from commit 5b731004da)
2020-03-31 22:18:58 +02:00
Eelco Dolstra 8b5900ac33 Remove outdated email address
(cherry picked from commit 22a65d0269)
2020-03-31 22:18:46 +02:00
Eelco Dolstra d1f367f657
Add default.nix, shell.nix for compatibility 2020-03-31 16:07:46 +02:00