Commit graph

310 commits

Author SHA1 Message Date
79137b14f3 Revert "feat: add buildbot-profiler"
This reverts commit 0ffae5766b because
it's unpackageable.
2024-10-27 22:26:56 +01:00
1ec8e33c3f Revert "feat: add the right license to buildbot-profile"
This reverts commit ed48f3c5cc
because it's unpackageable.
2024-10-27 22:26:50 +01:00
72ee691780 Revert "fix: make buildbot-profiler build"
This reverts commit 6c677bf795 because I
am removing the Buildbot profiler support, it's unpackageable.
2024-10-27 22:26:45 +01:00
6c677bf795 fix: make buildbot-profiler build
Signed-off-by: Raito Bezarius <raito@lix.systems>
2024-10-27 22:26:09 +01:00
ed48f3c5cc feat: add the right license to buildbot-profile
Signed-off-by: Raito Bezarius <raito@lix.systems>
2024-10-27 22:07:12 +01:00
1195ff3b28 feat: enable auto-call behavior for non-Flakes entrypoints
This way, we can easily switch between any.

TODO would be to automatically filter out `incoming_ref_data` if it
doesn't appear.

Signed-off-by: Raito Bezarius <raito@lix.systems>
2024-10-27 22:01:05 +01:00
0ffae5766b feat: add buildbot-profiler
This enable the possibility to run buildbot-profiler on a production
system.

This exposes the UI but does not compile properly the JavaScript assets
yet.

Signed-off-by: Raito Bezarius <raito@lix.systems>
2024-10-22 17:13:19 +02:00
1aa37c4b80 Merge pull request 'fix(reporters): restore old behavior for Gerrit reporting' (#27) from bring-back-old-gerrit-reporting into forkos
Reviewed-on: #27
Reviewed-by: jade <jade@noreply.git.lix.systems>
2024-10-18 23:41:07 +00:00
879e9cdcdf feat: print which allowed origins are set for this buildbot server
Signed-off-by: Raito Bezarius <raito@lix.systems>
2024-10-13 18:46:31 +02:00
ea08a7f4a1 fix(reporters): restore old behavior for Gerrit reporting
This is an attempt to restore the old formatting, e.g. with failed
checks and a link to the URI.

At the same time, this attempts to fix the eager +1 Verified tag which
is sent when nix-eval is started (?) and not done or when the evaluation
is done instead of the whole nix-eval job seen as completed.

One of the root cause was the hell-ish expected builder name check…

This is also a big cleanup of all the typing issues we accumulated over
time.

Signed-off-by: Raito Bezarius <raito@lix.systems>
2024-10-13 18:46:22 +02:00
f61128981a devshell: enable typing for buildbot
Signed-off-by: Raito Bezarius <raito@lix.systems>
2024-10-12 12:25:47 +02:00
60860d3084 feat: introduce backward compat with Lix deployments
Signed-off-by: Raito Bezarius <raito@lix.systems>
2024-10-07 15:22:33 +02:00
ed8f940717 randomly pick a builder and pass it as --store 2024-10-05 23:01:55 +02:00
935e5cba2f fix error: builtins.TypeError: object of type 'int' has no len() 2024-10-05 22:55:02 +02:00
021e2064ae fix(build): use per-worker slot store
Signed-off-by: Raito Bezarius <raito@lix.systems>
2024-10-05 22:54:56 +02:00
4aa1d7e78c feat: add incoming ref data to non-flakes entrypoint
We can now implement a Nix library for Buildbot CI. :)

We dump it into a file, it's better to pass large stuff and easier to
escape things.

Signed-off-by: Raito Bezarius <raito@lix.systems>
2024-10-05 22:49:00 +02:00
b3a0b5a69e fix(auth): remove userinfoUri as a positional argument
This broke the authentication, because we were expecting the client ID &
client secret.

Signed-off-by: Raito Bezarius <raito@lix.systems>
2024-10-05 21:43:45 +02:00
77d0ed37d1 fix(args): pass the right string
Signed-off-by: Raito Bezarius <raito@lix.systems>
2024-10-05 21:21:26 +02:00
79bcbba46d fix(buildbot-name): nix_configure → determining jobs
Signed-off-by: Raito Bezarius <raito@lix.systems>
2024-10-05 21:21:26 +02:00
1484a875dc fix(ret): return success and write \n
Signed-off-by: Raito Bezarius <raito@lix.systems>
2024-10-05 21:21:26 +02:00
c824b084e8 fix(steps): add *steps* not *step*
Signed-off-by: Raito Bezarius <raito@lix.systems>
2024-10-05 21:21:26 +02:00
2a2a2793e4 fix(workdir): rebase in build/ for ShellMixin
Signed-off-by: Raito Bezarius <raito@lix.systems>
2024-10-05 21:21:26 +02:00
97dee6cfec feat(nix-configure): name it
Signed-off-by: Raito Bezarius <raito@lix.systems>
2024-10-05 21:21:26 +02:00
dfb9595f7d fix(log): add the stdio log if it doesn't exist
Signed-off-by: Raito Bezarius <raito@lix.systems>
2024-10-05 21:21:26 +02:00
c5dea04717 feat: support non-flake entrypoint
The way to use Buildbot jobs without Flakes is via `.ci/buildbot.nix`.

Signed-off-by: Raito Bezarius <raito@lix.systems>
2024-10-05 21:21:26 +02:00
1711bfd840 fix(eval): event.change.project is also a buildprop for project name
Signed-off-by: Raito Bezarius <raito@lix.systems>
2024-10-05 21:21:26 +02:00
2d51fda98e feat(eval): in case of total failure, do not derivation show
Signed-off-by: Raito Bezarius <raito@lix.systems>
2024-10-05 21:21:26 +02:00
af13c5948e fix(eval): event.refUpdate.project instead of event.project
Signed-off-by: Raito Bezarius <raito@lix.systems>
2024-10-05 21:21:26 +02:00
253e44646d fix(properties): use getProperty
Signed-off-by: Raito Bezarius <raito@lix.systems>
2024-10-05 21:21:26 +02:00
bbac51e09e fix(gerrit): pass properly the ssh private key and not its path
Signed-off-by: Raito Bezarius <raito@lix.systems>
2024-10-05 21:21:26 +02:00
83ac74f18f fix(gerrit): repourl was not formatted
Signed-off-by: Raito Bezarius <raito@lix.systems>
2024-10-05 21:21:26 +02:00
2411875825 fix(sshkey): PosixPath does not play well with Buildbot APIs
It expected a `str`, not a `PosixPath`.

Signed-off-by: Raito Bezarius <raito@lix.systems>
2024-10-05 21:21:26 +02:00
fa83000f07 feat(debug): add manhole debugging
Signed-off-by: Raito Bezarius <raito@lix.systems>
2024-10-05 20:52:52 +02:00
48828cb33f Merge pull request 'chore(*): refactor the whole code' (#8) from refactor into main
Reviewed-on: #8
2024-10-05 18:31:22 +00:00
22a58ce038 chore(nix-builders): remove legacy system field
Signed-off-by: Raito Bezarius <raito@lix.systems>
2024-10-04 14:13:01 -07:00
98c5d82bf8 chore(dataclass): use default_factory
Signed-off-by: Raito Bezarius <raito@lix.systems>
2024-10-04 14:13:01 -07:00
ea5e2c6b98 chore(builders): localize builders specification like Hydra does
Signed-off-by: Raito Bezarius <raito@lix.systems>
2024-10-04 14:13:01 -07:00
235ff9b138 chore(entrypoint): hydraJobs → buildbotJobs
Signed-off-by: Raito Bezarius <raito@lix.systems>
2024-10-04 14:13:01 -07:00
2a1ce55f30 chore(systemd): add ssh in the path
Signed-off-by: Raito Bezarius <raito@lix.systems>
2024-10-04 14:13:01 -07:00
449837ed81 chore(reporters): make it 3.11+ (and 4.0) compatible!
Signed-off-by: Raito Bezarius <raito@lix.systems>
2024-10-04 14:13:01 -07:00
b20d0a17ba fix(gerrit): make buildbot able to read the priv ssh key
Signed-off-by: Raito Bezarius <raito@lix.systems>
2024-10-04 14:13:01 -07:00
965cd014b3 chore(auth): further generalize authn
So that it's possible to plug another OAuth2 instance.

Signed-off-by: Raito Bezarius <raito@lix.systems>
2024-10-04 14:13:01 -07:00
bd8c11ed1e chore(origins): expose in a cuter way allowed origins
Worked around in our original deployment, here's a nicer way to set it.

Signed-off-by: Raito Bezarius <raito@lix.systems>
2024-10-04 14:02:01 -07:00
7102157055 chore(schedule): generalize source
Signed-off-by: Raito Bezarius <raito@lix.systems>
2024-10-04 14:02:01 -07:00
2a1ed49ac8 chore(review-callback): generalize the event project name
Signed-off-by: Raito Bezarius <raito@lix.systems>
2024-10-04 14:02:01 -07:00
c1e7af1794 chore(nix-eval): generalize the builds_scheduler_group by project
Signed-off-by: Raito Bezarius <raito@lix.systems>
2024-10-04 14:02:01 -07:00
ec9834b0d3 chore(nix): make the target attribute a constant
Signed-off-by: Raito Bezarius <raito@lix.systems>
2024-10-04 14:02:01 -07:00
c09da505c1 chore(gerrit): put the gerrit configuration in one place and generate repo URLs templates
Signed-off-by: Raito Bezarius <raito@lix.systems>
2024-10-04 14:02:01 -07:00
72b6757947 chore(canceller): generalize it to any project
Just iterate over all project names.

Signed-off-by: Raito Bezarius <raito@lix.systems>
2024-10-04 14:02:00 -07:00
d284a8bc77 chore(auth): generalize authentication method to internals of NixOS module
This makes it easier to make it configurable, this is step 1.

Signed-off-by: Raito Bezarius <raito@lix.systems>
2024-10-04 14:01:31 -07:00