Commit graph

1483 commits

Author SHA1 Message Date
Ilya K 6348541982 fix: delete unused macro 2024-11-16 23:52:05 +03:00
Ilya K 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
Ilya K b561c15dcf wip: wire up otel
doesn't actually work? idk
2024-11-16 19:51:33 +03:00
Ilya K d3e5505812 refactor: upgrade everything to latest now that hubcaps is gone 2024-11-16 19:14:09 +03:00
Ilya K 801fddc210 fix: add cargo outdated and cargo-edit 2024-11-16 19:13:23 +03:00
Ilya K 96d583f34e refactor: excise the remaining github code 2024-11-16 19:13:23 +03:00
Ilya K f40ac345fc fix: one must imagine clippy happy 2024-11-16 17:54:14 +03:00
Ilya K 0af623a929 fix: fail tests when make-change fails
It fails now, because it doesn't exist.
2024-11-16 17:54:14 +03:00
Ilya K 5f88312e53 fix: fix no-op test
Thanks clippy.
2024-11-16 17:54:14 +03:00
Ilya K 902bb59a47 hack: cfg out the tests that don't even compile 2024-11-16 17:51:39 +03:00
Ilya K e9afc0ea38 refactor: get rid of async-std 2024-11-16 17:49:07 +03:00
Ilya K f9eeb14d8c fix: set RUSTC_LIB_SRC for language server 2024-11-16 17:32:08 +03:00
Ilya K 3cca89dd0f fix: gitignore direnv 2024-11-16 17:32:00 +03:00
raito 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
raito 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
raito 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
raito 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
raito 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
raito 705adbb8e4 feat: add an overlay output
Signed-off-by: Raito Bezarius <masterancpp@gmail.com>
2024-11-14 19:04:08 +01:00
raito 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
raito 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
raito 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
raito 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
raito 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
raito 58b19c1e3b feat: add stats worker
Signed-off-by: Raito Bezarius <masterancpp@gmail.com>
2024-10-30 22:07:58 +01:00
raito 9afb8ab698 fix: a typo in easylapin.rs
Signed-off-by: Raito Bezarius <masterancpp@gmail.com>
2024-10-30 22:07:53 +01:00
raito 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
raito 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
raito 431376f887 chore: rename pastebin-web in pastebin-worker
Signed-off-by: Raito Bezarius <masterancpp@gmail.com>
2024-10-30 20:07:33 +01:00
raito cd59258c8f feat: remove github binaries
Signed-off-by: Raito Bezarius <masterancpp@gmail.com>
2024-10-30 20:07:33 +01:00
raito 928c60f6d5 feat: add a gerrit event streamer
Signed-off-by: Raito Bezarius <masterancpp@gmail.com>
2024-10-30 20:07:33 +01:00
raito e365acc085 feat: add a pastebin log collector
This will replace the Gist feature, a GitHub-only thing.

Signed-off-by: Raito Bezarius <masterancpp@gmail.com>
2024-10-30 20:07:33 +01:00
raito 8406768fbb treewide: first generalization design for VCS
- add myself as author
- update dependencies

I will be doing a lot of work to get somewhere…

Signed-off-by: Raito Bezarius <masterancpp@gmail.com>
2024-10-30 20:07:33 +01:00
raito 829b4d2c45 feat: support environment variables in password-file option
This way, we can do `$CREDENTIALS_DIRECTORY/rabbitmq-password`.

Signed-off-by: Raito Bezarius <masterancpp@gmail.com>
2024-10-28 15:57:02 +01:00
Pierre Bourdon 8cdae352b0
flake: update to a recent nixpkgs 2024-07-07 01:08:58 +02:00
Pierre Bourdon c8a94aaca7
flake: provide a default package now that PHP is gone 2024-07-07 01:04:31 +02:00
Pierre Bourdon be0a5f5627
treewide: remove PHP code
The webhook receiver will be rewritten for Gerrit support anyway, so
we'll move it into the Rust part instead.
2024-07-07 00:58:25 +02:00
Cole Helbling 1d74f577a1 php: update svanderburg/composer2nix and php-amqplib/php-amqplib 2024-05-19 16:41:18 -07:00
Cole Helbling 0cd3543bc1 fixup: flake-compat 2024-05-19 16:41:18 -07:00
Cole Helbling 5d4d9c3904 Drop unused installation_id parameter
We auto-discover the correct installation ID absed on the repostory
context.
2024-05-19 16:41:18 -07:00
Cole Helbling 2aeca1fb72 Get GitHub token from file instead of static string 2024-05-19 16:41:18 -07:00
Cole Helbling aa70c3db6e Get rabbitmq password from file instead of static string 2024-05-19 16:41:18 -07:00
Cole Helbling 9254a448b7 Use rustls instead of openssl 2024-05-19 16:41:18 -07:00
Cole Helbling 8ba47c1e06 factoids.toml: remove
As far as I can tell, this hasn't been used anywhere in years.
2024-05-19 16:40:16 -07:00
Harsh Shandilya 3fd6b66cd3 README: remove stale advice about cargo2nix 2024-03-29 07:46:43 -07:00
Cole Helbling eb120ff74c build: send Ack if HEAD failed to fetch
Nothing we can do.
2024-02-01 20:14:09 -08:00
Cole Helbling f6159fbdd2 clone: also cleanup checkout with git gc 2024-02-01 20:14:09 -08:00
Cole Helbling bd6b7f8846 Support multiple evaluators on a single machine 2024-02-01 20:14:09 -08:00
Sergei Trofimovich 7db074df7b ofborg/src/maintainers.nix: look up files pointed by "pos" attribute
Sometimes most of attributes for a package are defined outside the file
that defines it. Examples are `openjdk` and `nix`.

At least `openjdk` defined `pos` attribute to guide `nix edit` to open
the right file. Let's extend `ofborg` to do the same.

Before the change (with `pos` applied to `nix_2_3`):

    $ printf '[["nix_2_3"]]' > attrs.json; \
      printf '["pkgs/tools/package-management/nix/default.nix"]' > paths.json; \
      nix-instantiate --eval maintainers.nix --arg changedattrsjson ./attrs.json --arg changedpathsjson ./paths.json
    { }

After the change:

    $ printf '[["nix_2_3"]]' > attrs.json; \
      printf '["pkgs/tools/package-management/nix/default.nix"]' > paths.json; \
      nix-instantiate --eval maintainers.nix --arg changedattrsjson ./attrs.json --arg changedpathsjson ./paths.json
    { flokli = <CODE>; raitobezarius = <CODE>; }
2024-01-16 10:19:23 -08:00
Cole Helbling de415d3729 eval/nixpkgs: add note about why the extra curly braces are necessary 2023-09-15 11:19:19 -07:00