Commit Graph
4249 Commits
Author SHA1 Message Date
Maximilian Bosch 9fe7062946 Update flake and fix build
Flake lock file updates:

• Updated input 'lix':
    'git+https://git.lix.systems/lix-project/lix?ref=refs/heads/main&rev=2a336813ad2a4d64d027830507276da32927d215' (2025-03-16)
  → 'git+https://git.lix.systems/lix-project/lix?ref=refs/heads/main&rev=b918f1c307b314daa44407bac60046630f13ed48' (2025-03-27)
• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/a1185f4064c18a5db37c5c84e5638c78b46e3341' (2025-03-16)
  → 'github:NixOS/nixpkgs/d02d88f8de5b882ccdde0465d8fa2db3aa1169f7' (2025-03-25)
2025-03-28 10:31:30 +01:00
Maximilian Bosch 5167437de1 Merge pull request 'default.nix: Updated use of flake-compat' (#29) from aftix/hydra:main into main
Reviewed-on: https://git.lix.systems/lix-project/hydra/pulls/29
Reviewed-by: Maximilian Bosch <maximilian@mbosch.me>
2025-03-28 09:11:29 +00:00
aftix 15d7ee22b1 default.nix: Updated use of flake-compat
I have added flake-compat to be pinned by flake.lock,
updated the source to the still-maintained nix-community
repo, and removed the URL literal syntax.
2025-03-22 12:40:51 -05:00
Maximilian Bosch d60c9ff6ab Merge pull request 'Update flake and fix build' (#30) from ma27/hydra:flake-update into main
Reviewed-on: https://git.lix.systems/lix-project/hydra/pulls/30
Reviewed-by: eldritch horrors <pennae@noreply.git.lix.systems>
Reviewed-by: raito <raito@noreply.git.lix.systems>
2025-03-22 07:41:29 +00:00
Maximilian Bosch c0b9c8787f Update flake and fix build
In hydra-evaluator I would've done the same stuff with passing `aio`
down to everything, but it seemed kinda weird to add it to every single
method. IMHO, this is also a sign that there are things ongoing that
don't need to be in the same struct, so I decided to split it off.

Flake lock file updates:

• Updated input 'lix':
    'git+https://git.lix.systems/lix-project/lix?ref=refs/heads/main&rev=ca89e431a31527a014bfd0d529da2a8099027a5f' (2025-03-04)
  → 'git+https://git.lix.systems/lix-project/lix?ref=refs/heads/main&rev=2a336813ad2a4d64d027830507276da32927d215' (2025-03-16)
• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/6af28b834daca767a7ef99f8a7defa957d0ade6f' (2025-03-04)
  → 'github:NixOS/nixpkgs/a1185f4064c18a5db37c5c84e5638c78b46e3341' (2025-03-16)
2025-03-17 20:05:57 +00:00
Maximilian Bosch 1e63e0a6d2 Merge pull request 'Bring back constituents' (#28) from ma27/hydra:bring-back-constituents into main
Reviewed-on: https://git.lix.systems/lix-project/hydra/pulls/28
Reviewed-by: raito <raito@noreply.git.lix.systems>
2025-03-14 11:51:55 +00:00
Maximilian Bosch a851cb8a18 Bring back constituents
This partially reverts commit 370a4bf138.
2025-03-12 13:36:45 +01:00
Maximilian Bosch 4b826e2255 Merge pull request 'Update flake and fix build with mostly async liblixstore' (#25) from ma27/hydra:flake-update into main
Reviewed-on: https://git.lix.systems/lix-project/hydra/pulls/25
Reviewed-by: eldritch horrors <pennae@noreply.git.lix.systems>
2025-03-12 12:35:09 +00:00
Maximilian Bosch 48168af261 Update flake and fix build with mostly async liblixstore
The vast majority of changes was pretty straight-forward: we need an
AsyncIoRoot per thread to resolve promises we get from Lix. The `aio`
object is created per thread and passed as lvalue ref instead of making
it a field of the State struct since that struct is shared between the
threads.

The biggest change affects the NAR extractor: parseAndCopyDump has been
removed, instead the `nar::parse` and `nar::dump` parts are public now.
This won't work with the original parse visitor anymore, so instead the
NAR is parsed once and dumped again to copy it to the binary cache. In
between, the generator is walked through to search for relevant files
(such as build products) and after that the generators are recreated for
`AsyncGeneratorInputStream` to read again.
2025-03-12 13:25:40 +01:00
Maximilian Bosch 90dd2ed436 Merge pull request 'Fix build with latest Lix, use CLang' (#22) from ma27/hydra:flake-update into main
Reviewed-on: https://git.lix.systems/lix-project/hydra/pulls/22
2025-02-16 17:00:41 +00:00
Maximilian Bosch 8ba43324cd Fix build with latest Lix, use CLang
Contrary to what I had in mind, this wasn't the case yet and caused a
bunch of compilation failures with latest Lix main.
2025-02-10 13:04:50 +01:00
Maximilian Bosch 8f73d63eac Merge pull request 'flake: remove nix-eval-jobs input, now part of Lix itself' (#21) from ma27/hydra:lix-with-vendored-nix-eval-jobs into main
Reviewed-on: https://git.lix.systems/lix-project/hydra/pulls/21
2025-02-08 16:02:25 +00:00
Maximilian Bosch dbb3e2a8c7 flake: remove nix-eval-jobs input, now part of Lix itself
This also fixes #18: `nix-eval-jobs` isn't taken from the flake input,
but stems from the same overlay as Lix itself, so this won't cause two
Lix inside Hydra's closure anymore.
2025-01-30 14:25:04 +01:00
Maximilian Bosch d72ade3ad3 Merge pull request 'Update flake to latest nixpkgs & latest Lix main' (#20) from ma27/hydra:flake-update into main
Reviewed-on: https://git.lix.systems/lix-project/hydra/pulls/20
2025-01-30 13:10:33 +00:00
Maximilian Bosch 67fc8213df Update flake; start aio event loop in queue monitor 2025-01-28 18:04:41 +01:00
Maximilian Bosch 44a472af67 Update flake; fix build with latest Lix / nix-eval-jobs
Most notably, this fixes the API change of `Store::narFromPath`[1] that
now returns a `box_ptr<Source>` instead of a Generator. I decided to do
the most minimal invasive thing here, i.e. dereferencing the source out
of the box in the NAR extraction code to fix the build again given that
the API will change even more in the future and thus the implementation
in here will require more work anyways.

To quote the upstream commit:

> [...] and would need to be changed much as they are now once async
> streams come around either way

[1] See Lix commit c82cc16754
2025-01-27 22:34:13 +01:00
Maximilian Bosch 5e88d3b089 flake.lock: Update
Flake lock file updates:

• Updated input 'lix':
    'git+https://git.lix.systems/lix-project/lix?ref=refs/heads/main&rev=4cacb5412fedc9f37bc7a502540374f774d923cf' (2025-01-18)
  → 'git+https://git.lix.systems/lix-project/lix?ref=refs/heads/main&rev=5a41803f744822377587f784ded0e6a061b39cd4' (2025-01-25)
• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/6a3ae7a5a12fb8cac2d59d7df7cbd95f9b2f0566' (2025-01-18)
  → 'github:NixOS/nixpkgs/035f8c0853c2977b24ffc4d0a42c74f00b182cd8' (2025-01-23)
2025-01-25 12:42:16 +01:00
Maximilian Bosch 5cdcd17cbf Add lix-2.92 branch to README
Keeping 2.91 as maintained for now until either 24.11 is dead or 2.92
gets backported there.
2025-01-19 08:48:23 +01:00
Maximilian Bosch cbd6ceb673 flake.lock: Update
Flake lock file updates:

• Updated input 'lix':
    'git+https://git.lix.systems/lix-project/lix?ref=refs/heads/main&rev=66f6dbda32959dd5cf3a9aaba15af72d037ab7ff' (2024-11-20)
  → 'git+https://git.lix.systems/lix-project/lix?ref=refs/heads/main&rev=4cacb5412fedc9f37bc7a502540374f774d923cf' (2025-01-18)
• Updated input 'lix/pre-commit-hooks':
    'github:cachix/git-hooks.nix/4e743a6920eab45e8ba0fbe49dc459f1423a4b74' (2024-09-19)
  → 'github:cachix/git-hooks.nix/6f4e2a2112050951a314d2733a994fbab94864c6' (2024-12-04)
• Updated input 'nix-eval-jobs':
    'git+https://git.lix.systems/lix-project/nix-eval-jobs?ref=refs/heads/main&rev=dfc286ca3dc49118c30d8d6205d6d6af76c62b7a' (2024-11-23)
  → 'git+https://git.lix.systems/lix-project/nix-eval-jobs?ref=refs/heads/main&rev=6482bee40b89ab2c28d2e988848aa9ae0429d78c' (2025-01-18)
• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/f9f0d5c5380be0a599b1fb54641fa99af8281539' (2024-12-02)
  → 'github:NixOS/nixpkgs/6a3ae7a5a12fb8cac2d59d7df7cbd95f9b2f0566' (2025-01-18)
2025-01-18 23:53:19 +01:00
Maximilian Bosch eccf01d4fe Merge pull request 'flake: update nixpkgs to 24.11' (#15) from ma27/hydra:update-nixpkgs into main
Reviewed-on: https://git.lix.systems/lix-project/hydra/pulls/15
2024-12-06 16:37:25 +00:00
Maximilian Bosch 42c4a85ec8 Merge pull request 'README: document release branches' (#16) from ma27/hydra:readme-branches into main
Reviewed-on: https://git.lix.systems/lix-project/hydra/pulls/16
2024-12-06 16:34:52 +00:00
Maximilian Bosch 2b1c46730c README: document release branches
Closes #12
2024-12-04 10:24:37 +01:00
Maximilian Bosch 51608e1ca1 flake: update nixpkgs to 24.11
I've been using the module on 24.11 and building Hydra from this repo
with 24.11 as well, so far it's looking good.

Making the upgrade since 24.05 is deprecated now.
2024-12-04 10:13:34 +01:00
leo60228 6285440304 Merge pull request 'chore: apply lix include-rearrangement to hydra' (#14) from jade/include-rearrangement into main
Reviewed-on: https://git.lix.systems/lix-project/hydra/pulls/14
Reviewed-by: leo60228 <leo@60228.dev>
2024-11-29 16:23:14 -05:00
Jade Lovelace 988554eb7a chore: apply lix include-rearrangement to hydra
This complies with the new include layout in Lix, which will eventually
replace the legacy one previously in use.
2024-11-25 23:08:32 -08:00
Jade Lovelace 4acb1959a1 fixup: use the correct nix-eval-jobs input URL; same commit 2024-11-25 23:02:52 -08:00
jade 453adb7f25 Merge pull request 'Update all flake inputs, fix build with latest Lix' (#13) from ma27/hydra:update-lix into main
Reviewed-on: https://git.lix.systems/lix-project/hydra/pulls/13
2024-11-26 06:50:41 +00:00
Maximilian Bosch acd54bfbd6 Update all flake inputs, fix build with latest Lix
Flake lock file updates:

• Updated input 'lix':
    'git+https://git.lix.systems/lix-project/lix?ref=refs/heads/main&rev=ed9b7f4f84fd60ad8618645cc1bae2d686ff0db6' (2024-10-05)
  → 'git+https://git.lix.systems/lix-project/lix?ref=refs/heads/main&rev=66f6dbda32959dd5cf3a9aaba15af72d037ab7ff' (2024-11-20)
• Updated input 'lix/nix2container':
    'github:nlewo/nix2container/3853e5caf9ad24103b13aa6e0e8bcebb47649fe4' (2024-07-10)
  → 'github:nlewo/nix2container/fa6bb0a1159f55d071ba99331355955ae30b3401' (2024-08-30)
• Updated input 'lix/pre-commit-hooks':
    'github:cachix/git-hooks.nix/f451c19376071a90d8c58ab1a953c6e9840527fd' (2024-07-15)
  → 'github:cachix/git-hooks.nix/4e743a6920eab45e8ba0fbe49dc459f1423a4b74' (2024-09-19)
• Updated input 'nix-eval-jobs':
    'git+https://git.lix.systems/lix-project/nix-eval-jobs?ref=refs/heads/main&rev=42a160bce2fd9ffebc3809746bc80cc7208f9b08' (2024-08-13)
  → 'git+https://git.lix.systems/lix-project/nix-eval-jobs?ref=refs/heads/main&rev=912a9d63319e71ca131e16eea3348145a255db2e' (2024-11-18)
• Updated input 'nix-eval-jobs/flake-parts':
    'github:hercules-ci/flake-parts/8471fe90ad337a8074e957b69ca4d0089218391d' (2024-08-01)
  → 'github:hercules-ci/flake-parts/506278e768c2a08bec68eb62932193e341f55c90' (2024-11-01)
• Updated input 'nix-eval-jobs/nix-github-actions':
    'github:nix-community/nix-github-actions/622f829f5fe69310a866c8a6cd07e747c44ef820' (2024-07-04)
  → 'github:nix-community/nix-github-actions/e04df33f62cdcf93d73e9a04142464753a16db67' (2024-10-24)
• Updated input 'nix-eval-jobs/treefmt-nix':
    'github:numtide/treefmt-nix/349de7bc435bdff37785c2466f054ed1766173be' (2024-08-12)
  → 'github:numtide/treefmt-nix/746901bb8dba96d154b66492a29f5db0693dbfcc' (2024-10-30)
• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/ecbc1ca8ffd6aea8372ad16be9ebbb39889e55b6' (2024-10-06)
  → 'github:NixOS/nixpkgs/e8c38b73aeb218e27163376a2d617e61a2ad9b59' (2024-11-16)
2024-11-23 10:58:14 +01:00
leo60228 a4b2b58e2b update for lix header change 2024-11-17 19:57:36 -05:00
Maximilian BoschandYureka ee1234c15c ignoreException has been split into two
The Finally part is a destructor, so using `ignoreExceptionInDestructor`
seems to be the correct choice here.
2024-10-07 19:22:32 +02:00
Maximilian BoschandYureka 7c7078cccf Fix build with latest Lix
Since ca1dc3f70b, the NAR parser has moved
the preallocate & receive steps into the file handle class to remove the
assumption that only one file can be handled at a time.
2024-10-07 19:22:32 +02:00
Maximilian BoschandYureka a5099d9e80 flake.lock: Update
Flake lock file updates:

• Updated input 'lix':
    'git+https://git.lix.systems/lix-project/lix?ref=refs/heads/main&rev=02eb07cfd539c34c080cb1baf042e5e780c1fcc2' (2024-09-01)
  → 'git+https://git.lix.systems/lix-project/lix?ref=refs/heads/main&rev=31954b51367737defbae87fba053b068897416fb' (2024-09-26)
• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/6e99f2a27d600612004fbd2c3282d614bfee6421' (2024-08-30)
  → 'github:NixOS/nixpkgs/759537f06e6999e141588ff1c9be7f3a5c060106' (2024-09-25)
2024-10-07 19:22:32 +02:00
Yureka 799441dcf6 Revert "update lix"
This reverts commit e4d466ffcd.
2024-10-06 13:55:10 +02:00
Yureka e4d466ffcd update lix 2024-10-05 23:32:45 +02:00
raito d3257e4761 Merge pull request 'Add metric for builds waiting for download slot' (#9) from waiting-metrics into main
Reviewed-on: https://git.lix.systems/lix-project/hydra/pulls/9
Reviewed-by: raito <raito@noreply.git.lix.systems>
2024-10-01 16:16:24 +00:00
K900 f23ec71227 Add metric for builds waiting for download slot 2024-10-01 19:14:24 +03:00
leo60228 ac37e44982 Merge pull request 'Update Lix; fix build' (#7) from ma27/hydra:lix-update into main
Reviewed-on: https://git.lix.systems/lix-project/hydra/pulls/7
Reviewed-by: leo60228 <leo@60228.dev>
2024-09-02 22:56:03 +00:00
Maximilian Bosch 6a88e647e7 flake.lock: Update; fix build
Flake lock file updates:

• Updated input 'lix':
    'git+https://git.lix.systems/lix-project/lix?ref=refs/heads/main&rev=278fddc317cf0cf4d3602d0ec0f24d1dd281fadb' (2024-08-17)
  → 'git+https://git.lix.systems/lix-project/lix?ref=refs/heads/main&rev=02eb07cfd539c34c080cb1baf042e5e780c1fcc2' (2024-09-01)
• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/c3d4ac725177c030b1e289015989da2ad9d56af0' (2024-08-15)
  → 'github:NixOS/nixpkgs/6e99f2a27d600612004fbd2c3282d614bfee6421' (2024-08-30)
2024-09-02 10:53:46 +02:00
Pierre Bourdon 8d5d4942e1 queue-runner: remove unused method from State 2024-08-27 02:57:37 +02:00
Pierre Bourdon e5a8ee5c17 web: require permissions for /api/push 2024-08-27 02:57:16 +02:00
Pierre Bourdon fd7fd0ad65 treewide: clang-tidy modernize 2024-08-27 01:33:12 +02:00
Pierre Bourdon d3fcedbcf5 treewide: enable clang-tidy bugprone findings
Fix some trivial findings throughout the codebase, mostly making
implicit casts explicit.
2024-08-27 00:43:17 +02:00
Pierre Bourdon 3891ad77e3 queue-runner: change Machine object creation to work around clang bug
https://github.com/llvm/llvm-project/issues/106123
2024-08-26 22:34:48 +02:00
Pierre Bourdon 21fd1f8993 flake: add devShells, including a clang one for clang-tidy & more 2024-08-26 22:22:18 +02:00
emily ab6d81fad4 api: fix github webhook 2024-08-26 20:26:21 +02:00
64df0cba47 Match URIs that don't end in .git
Co-authored-by: Charlotte <lotte@chir.rs>
2024-08-26 20:26:21 +02:00
Sandro Jäckelandemily 6179b298cb Add gitea push hook 2024-08-26 20:26:20 +02:00
Pierre Bourdon 44b9a7b95d queue-runner: handle broken pg pool connections in builder code
Completes 9b62c52e5c with another location
that was initially missed.
2024-08-25 22:05:13 +02:00
Maximilian BoschandPierre Bourdon 3ee51dbe58 readIntoSocket: fix with store URIs containing an &
The third argument to `open()` in `-|` mode is passed to a shell if it's
a string. In my case the store URI contains
`?secret-key=${signingKey.directory}/secret&compression=zstd`

For the `nix store cat` case this means that

* until `&` the process will be started in the background. This fails
  immediately because no path to cat is specified.
* `compression=zstd` is a variable assignment
* the `$path` argument to `store cat` is attempted to be executed as
  another command

Passing just the list solves the problem.
2024-08-18 21:41:54 +00:00
Maximilian Bosch e987f74954 doc: drop dev-notes & make update-dbix more discoverable
`dev-notes` are severely outdated. I dropped everything except one note
that I moved to hacking.md. The parts about creating users are also
covered elsewhere.

The `update-dbix` part got a just command to make it discoverable again.
2024-08-18 14:47:09 +02:00