Commit graph

280 commits

Author SHA1 Message Date
18a122a8f6 fix(eval): event.refUpdate.project instead of event.project
Signed-off-by: Raito Bezarius <raito@lix.systems>
2024-07-20 18:44:20 +02:00
baa085302d fix(args): pass the right string
Signed-off-by: Raito Bezarius <raito@lix.systems>
2024-07-20 01:09:59 +02:00
a0c79298c6 fix(buildbot-name): nix_configure → determining jobs
Signed-off-by: Raito Bezarius <raito@lix.systems>
2024-07-20 01:06:48 +02:00
86a6d98642 fix(properties): use getProperty
Signed-off-by: Raito Bezarius <raito@lix.systems>
2024-07-20 01:06:23 +02:00
a686aef690 fix(ret): return success and write \n
Signed-off-by: Raito Bezarius <raito@lix.systems>
2024-07-20 01:01:24 +02:00
64e405b228 fix(steps): add *steps* not *step*
Signed-off-by: Raito Bezarius <raito@lix.systems>
2024-07-20 00:57:14 +02:00
f4e23bb4d6 fix(workdir): rebase in build/ for ShellMixin
Signed-off-by: Raito Bezarius <raito@lix.systems>
2024-07-20 00:54:12 +02:00
e206bb1a80 feat(nix-configure): name it
Signed-off-by: Raito Bezarius <raito@lix.systems>
2024-07-20 00:51:28 +02:00
17c5ea107a fix(log): add the stdio log if it doesn't exist
Signed-off-by: Raito Bezarius <raito@lix.systems>
2024-07-20 00:33:44 +02:00
adedb36cb6 fix(gerrit): pass properly the ssh private key and not its path
Signed-off-by: Raito Bezarius <raito@lix.systems>
2024-07-19 23:38:51 +02:00
bc3fb8f399 fix(gerrit): repourl was not formatted
Signed-off-by: Raito Bezarius <raito@lix.systems>
2024-07-19 23:04:20 +02:00
8c47b2ce23 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-07-19 23:01:17 +02:00
a822231580 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-07-19 23:00:54 +02:00
54bba654d4 chore(nix-builders): remove legacy system field
Signed-off-by: Raito Bezarius <raito@lix.systems>
2024-07-19 19:24:33 +02:00
b282fa5ca7 chore(dataclass): use default_factory
Signed-off-by: Raito Bezarius <raito@lix.systems>
2024-07-19 19:24:33 +02:00
a4613f8ce6 chore(security): clean up accept-flake-config mistakes
Signed-off-by: Raito Bezarius <raito@lix.systems>
2024-07-19 19:24:33 +02:00
9d457e6e02 chore(builders): localize builders specification like Hydra does
Signed-off-by: Raito Bezarius <raito@lix.systems>
2024-07-19 19:24:33 +02:00
6584d7ebbc chore(entrypoint): hydraJobs → buildbotJobs
Signed-off-by: Raito Bezarius <raito@lix.systems>
2024-07-19 19:24:33 +02:00
ad49d1a907 chore(systemd): add ssh in the path
Signed-off-by: Raito Bezarius <raito@lix.systems>
2024-07-19 19:24:33 +02:00
915b1d0d61 chore(reporters): make it 3.11+ (and 4.0) compatible!
Signed-off-by: Raito Bezarius <raito@lix.systems>
2024-07-19 19:24:33 +02:00
d23c8831b9 fix(gerrit): make buildbot able to read the priv ssh key
Signed-off-by: Raito Bezarius <raito@lix.systems>
2024-07-19 19:24:33 +02:00
9fe6536675 chore(auth): further generalize authn
So that it's possible to plug another OAuth2 instance.

Signed-off-by: Raito Bezarius <raito@lix.systems>
2024-07-19 19:24:33 +02:00
5ae6beece9 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-07-19 19:24:33 +02:00
d5e3345097 chore(schedule): generalize source
Signed-off-by: Raito Bezarius <raito@lix.systems>
2024-05-06 21:03:58 +02:00
8dd3d67735 chore(review-callback): generalize the event project name
Signed-off-by: Raito Bezarius <raito@lix.systems>
2024-05-06 20:26:42 +02:00
98b5d1ed27 chore(nix-eval): generalize the builds_scheduler_group by project
Signed-off-by: Raito Bezarius <raito@lix.systems>
2024-05-06 20:26:28 +02:00
fd058a5022 chore(nix): make the target attribute a constant
Signed-off-by: Raito Bezarius <raito@lix.systems>
2024-05-06 20:11:12 +02:00
f647440f86 chore(gerrit): put the gerrit configuration in one place and generate repo URLs templates
Signed-off-by: Raito Bezarius <raito@lix.systems>
2024-05-06 20:10:52 +02:00
b417cd4519 chore(canceller): generalize it to any project
Just iterate over all project names.

Signed-off-by: Raito Bezarius <raito@lix.systems>
2024-05-06 19:57:12 +02:00
87a9b9df01 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-05-06 19:52:55 +02:00
914c28af91 chore(*): cleanup unused code
Signed-off-by: Raito Bezarius <raito@lix.systems>
2024-05-06 19:39:35 +02:00
2a7b42ef6b chore(gerrit): offer projects configuration and factor out private SSH keys
Previously, we needed to hardcode the URL for private SSH keys,
this is cleaned up and we can iterate over each project for its
configuration.

Configuration is at deployment time.

Signed-off-by: Raito Bezarius <raito@lix.systems>
2024-05-06 19:39:16 +02:00
f221ab324e chore(web): remove outputsPath option
It was relying on GitHub stuff which we don't have and is not an option
we want to support.

If we wanted to do it, we would rather use S3 directly.

Signed-off-by: Raito Bezarius <raito@lix.systems>
2024-05-06 19:37:46 +02:00
7c92e8315e chore(nix): factor out the Gerrit configuration to the Nix module
Signed-off-by: Raito Bezarius <raito@lix.systems>
2024-05-06 18:40:38 +02:00
7b2fc73c78 chore(statuses): clarify why we don't use {start, summary}CB
Instead of just commenting them out.

Signed-off-by: Raito Bezarius <raito@lix.systems>
2024-05-06 18:27:38 +02:00
6543b8e414 chore(flake): rename the description
Signed-off-by: Raito Bezarius <raito@lix.systems>
2024-05-06 18:26:48 +02:00
5fe3d87802 chore(pyproject): add authorship information
Signed-off-by: Raito Bezarius <raito@lix.systems>
2024-05-06 18:26:36 +02:00
fef4c0d808 chore(*): cleanup buildbot-effects
Signed-off-by: Raito Bezarius <raito@lix.systems>
2024-05-06 18:26:08 +02:00
ea4b9ce350 Merge pull request 'feat: support Gerrit in Buildbot' (#1) from gerrit into main
Reviewed-on: #1
2024-04-30 19:41:58 +00:00
131fc792f7 allow worker counts to be set per arch 2024-04-05 15:13:11 +02:00
daa84f4169 never build on the coordinator
for such cases just add the coordinator as a remote builder.
2024-04-05 14:12:15 +02:00
3717bfab04 automatically cancel outdated builds 2024-03-28 03:52:13 +01:00
2eaee8f62b Fix marking jobs as successful if they never finish evaluating. 2024-03-18 00:07:34 +00:00
d394f35f55 use one scheduler and worker set per arch
and an additional set for generic tasks like error reporting. this
prevents hol blocking for underutilized arches when at least one arch is
blocking, as usually happens to us with aarch64-linux.
2024-03-15 14:47:49 +01:00
5e50a858d7 revert to stable web ui
the react-based ui is too slow for our needs, janky, the log viewer
doesn't work quite right (breaking after ~600 lines of logs viewed),
loses updates to sub-builds, and just blanks its entire screen when a
build finishes. the old ui doesn't do that.
2024-03-15 14:40:23 +01:00
a9ce436201 fix system builds with binary cache disabled 2024-03-15 13:17:25 +01:00
8d36ac1d90 feat: signing key
Signed-off-by: Raito Bezarius <raito@lix.systems>
2024-03-12 01:27:46 +01:00
6118daa0a4 feat: binary cache
Signed-off-by: Raito Bezarius <raito@lix.systems>
2024-03-12 01:27:46 +01:00
e9b3b38bbf Skip scheduling cached builds; improve reporter message 2024-03-11 15:05:15 +00:00
de02c833d0 Merge pull request 'better gerrit integration' (#5) from better-gerrit into gerrit
Reviewed-on: #5
2024-03-11 07:57:50 -06:00