Commit graph

1502 commits

Author SHA1 Message Date
a915b664fb refactor(vcs/generic): promote Gerrit checks as the generic variant
This commit is incomplete as we did not generalize enough the commit
status states.

We are not able to describe yet failure or more complicated cases.

Signed-off-by: Raito Bezarius <masterancpp@gmail.com>
2025-01-01 04:45:57 +01:00
7e84133ad0 chore(devshell): add event streaming & VCS filter in the dev Procfile
Signed-off-by: Raito Bezarius <masterancpp@gmail.com>
2025-01-01 04:45:45 +01:00
14017b949d feat(amqp): support mTLS connections
This way, we can connect to our new mTLS shiny RabbitMQ!

Signed-off-by: Raito Bezarius <masterancpp@gmail.com>
2025-01-01 04:45:21 +01:00
20c22529aa chore(checkout): remove Graham Christensen reference
If you come by this message, thank you for that tool and codebase. It's
also now time for it to evolve into something less personal… :).

Signed-off-by: Raito Bezarius <masterancpp@gmail.com>
2024-12-17 00:29:23 +01:00
debb1abcd7 feat(checkouts): generalize change fetching via git references
This way, we can plug any VCS and just leave it to the Git reference
converter.

We implement a very simple one for Gerrit.

Signed-off-by: Raito Bezarius <masterancpp@gmail.com>
2024-12-17 00:24:57 +01:00
9e46987a27 chore(checkouts): we are in 2025, no MD5 here
Let's replace it with BLAKE3 because I'm a BLAKE fan.

Enjoy.

Signed-off-by: Raito Bezarius <masterancpp@gmail.com>
2024-12-17 00:02:04 +01:00
93875c1ae2 chore(logging): log when we receive a gerrit event and put the event in the span
useful for many reasons, like testing!

Signed-off-by: Raito Bezarius <masterancpp@gmail.com>
2024-12-16 01:43:21 +01:00
7bcc8fa584 chore(gerrit-generic-vcs-filter): fix the routing key
We were catching nothing with that key.

Signed-off-by: Raito Bezarius <masterancpp@gmail.com>
2024-12-16 01:25:27 +01:00
e998fabf13 chore(vcs/gerrit/ssh): add more error reporting when creating the SSH master
Otherwise, it's hard to debug.

Signed-off-by: Raito Bezarius <masterancpp@gmail.com>
2024-12-16 01:02:26 +01:00
af42f93996 chore(gerrit-event-streamer): add support for custom usernames
Otherwise, it's pretty weird!

Signed-off-by: Raito Bezarius <masterancpp@gmail.com>
2024-12-16 00:07:06 +01:00
a7075182c2 feat(tasks/evaluation-filter): consume from VCSEvents
Simplified to the maximum, it consumes from VCSEvents in the case of
creation & update.

It does not handle cancellation yet.

Signed-off-by: Raito Bezarius <masterancpp@gmail.com>
2024-12-15 23:51:01 +01:00
84846af208 feat: add basic event transformation from Gerrit to generic VCS ones
Those are very crude basic generalization of Gerrit specific events.

Signed-off-by: Raito Bezarius <masterancpp@gmail.com>
2024-12-15 23:51:01 +01:00
6012726778 feat: add a simple gerrit event filter
This worker transforms a native Gerrit stream event into a OfBorg VCS
generic stream event.

Signed-off-by: Raito Bezarius <masterancpp@gmail.com>
2024-12-15 23:51:01 +01:00
c8605f7429 chore: remove listen-gerrit-events
Signed-off-by: Raito Bezarius <masterancpp@gmail.com>
2024-12-15 22:10:48 +01:00
69f6ae8cc2 feat: finish gerrit-event-streamer
Drop the logging, use a proper routing key, add error reporting for
error cases.

Signed-off-by: Raito Bezarius <masterancpp@gmail.com>
2024-12-15 22:10:40 +01:00
3af7e6976b chore: drop hubcaps from default.nix
Signed-off-by: Raito Bezarius <masterancpp@gmail.com>
2024-12-14 20:45:11 +01:00
7d764c34ff chore: fix deprecated method for opentelemetry
Signed-off-by: Raito Bezarius <masterancpp@gmail.com>
2024-12-14 20:32:01 +01:00
3a9d7cceb1 chore: make all configuration parts cloneable
Signed-off-by: Raito Bezarius <masterancpp@gmail.com>
2024-12-14 19:56:20 +01:00
7c8814118b chore: synchronize lockfile
Signed-off-by: Raito Bezarius <masterancpp@gmail.com>
2024-12-14 19:12:48 +01:00
6348541982 fix: delete unused macro 2024-11-16 23:52:05 +03:00
43ec489263 refactor: asyncify everything
Tracing actually works now. Me and clippy have signed a non-aggression pact.
2024-11-16 23:49:18 +03:00
b561c15dcf wip: wire up otel
doesn't actually work? idk
2024-11-16 19:51:33 +03:00
d3e5505812 refactor: upgrade everything to latest now that hubcaps is gone 2024-11-16 19:14:09 +03:00
801fddc210 fix: add cargo outdated and cargo-edit 2024-11-16 19:13:23 +03:00
96d583f34e refactor: excise the remaining github code 2024-11-16 19:13:23 +03:00
f40ac345fc fix: one must imagine clippy happy 2024-11-16 17:54:14 +03:00
0af623a929 fix: fail tests when make-change fails
It fails now, because it doesn't exist.
2024-11-16 17:54:14 +03:00
5f88312e53 fix: fix no-op test
Thanks clippy.
2024-11-16 17:54:14 +03:00
902bb59a47 hack: cfg out the tests that don't even compile 2024-11-16 17:51:39 +03:00
e9afc0ea38 refactor: get rid of async-std 2024-11-16 17:49:07 +03:00
f9eeb14d8c fix: set RUSTC_LIB_SRC for language server 2024-11-16 17:32:08 +03:00
3cca89dd0f fix: gitignore direnv 2024-11-16 17:32:00 +03:00
c922e6e455 feat: status check worker
This introduces a standalone status check ecosystem which does not rely
on the VCS.

This way, we can implement richer CI mechanisms using our own status
checks.

On the long term, this means that GitHub will become a second class
citizen in this codebase and this is intended.

Signed-off-by: Raito Bezarius <masterancpp@gmail.com>
2024-11-14 22:57:40 +01:00
855bde2a4c chore(worker): introduce an abstraction for streaming-based publish workers
Some things doesn't need to receive data, just to push!

Signed-off-by: Raito Bezarius <masterancpp@gmail.com>
2024-11-14 22:56:48 +01:00
f68e332c1f feat: make the AMQP based event streamer
This is inspired from the debug listener but pipes things into the
exchange with `abc` as a routing key (should be fixed!!).

Signed-off-by: Raito Bezarius <masterancpp@gmail.com>
2024-11-14 22:56:48 +01:00
42546e5bc7 feat: add a debug Gerrit event listener
This should be piped into `ofborgctl listen gerrit-events` or something
later on.

Signed-off-by: Raito Bezarius <masterancpp@gmail.com>
2024-11-14 22:25:16 +01:00
ba4b005719 feat: add Gerrit SSH API
Make also the event-streamer use it.

Signed-off-by: Raito Bezarius <masterancpp@gmail.com>
2024-11-14 20:38:33 +01:00
705adbb8e4 feat: add an overlay output
Signed-off-by: Raito Bezarius <masterancpp@gmail.com>
2024-11-14 19:04:08 +01:00
2db0eff088 feat: Gerrit HTTP API and partial VCS implementation
This implements the Gerrit surface of the VCS API async API via HTTP.

TODO:

- Event streamer should go somewhere else
- We need to replace the missing features

There's some impedence mismatch on IDs but this can be solved by harder
refactors.

Signed-off-by: Raito Bezarius <masterancpp@gmail.com>
2024-11-14 18:52:57 +01:00
34de912604 feat: generalize GitHub API into a VCS agnostic API
This generalizes all the GitHub specific API in a minimal amount of
changes.

Bump OfBorg to 0.90.0 as this is really not OfBorg anymore.

Signed-off-by: Raito Bezarius <masterancpp@gmail.com>
2024-11-05 22:19:51 +01:00
ae9e48630d feat: add pastebin internal RPC API
Extend SimpleWorker to take a AMQP channel.

Signed-off-by: Raito Bezarius <masterancpp@gmail.com>
2024-11-02 11:48:05 +01:00
83a7f35b52 feat: remove gists from this codebase
Bye bye, one piece of GitHub!

Signed-off-by: Raito Bezarius <masterancpp@gmail.com>
2024-11-02 11:47:54 +01:00
cf30f9017f feat: complete pastebin service
This is a full fledged internal pastebin service that no one can view
yet!

Signed-off-by: Raito Bezarius <masterancpp@gmail.com>
2024-10-30 23:12:16 +01:00
58b19c1e3b feat: add stats worker
Signed-off-by: Raito Bezarius <masterancpp@gmail.com>
2024-10-30 22:07:58 +01:00
9afb8ab698 fix: a typo in easylapin.rs
Signed-off-by: Raito Bezarius <masterancpp@gmail.com>
2024-10-30 22:07:53 +01:00
c1e0230858 feat: introduce ofborgctl for testing purposes
To test all our microservices and more!

Signed-off-by: Raito Bezarius <masterancpp@gmail.com>
2024-10-30 22:07:48 +01:00
3e8152fe99 feat: add a devshell based on vanilla Nix
Signed-off-by: Raito Bezarius <masterancpp@gmail.com>
2024-10-30 20:36:44 +01:00
431376f887 chore: rename pastebin-web in pastebin-worker
Signed-off-by: Raito Bezarius <masterancpp@gmail.com>
2024-10-30 20:07:33 +01:00
cd59258c8f feat: remove github binaries
Signed-off-by: Raito Bezarius <masterancpp@gmail.com>
2024-10-30 20:07:33 +01:00
928c60f6d5 feat: add a gerrit event streamer
Signed-off-by: Raito Bezarius <masterancpp@gmail.com>
2024-10-30 20:07:33 +01:00