1003 Commits
Author SHA1 Message Date
Lars Wirzenius 00affabff8 chore: set authors in Cargo.toml
Signed-off-by: Lars Wirzenius <liw@liw.fi>
2024-04-03 09:37:57 +03:00
Lars Wirzenius 5d7efc43fa chore: cargo update
Signed-off-by: Lars Wirzenius <liw@liw.fi>
2024-04-03 09:37:46 +03:00
Lars Wirzenius 8770e40bab docs: tweak statement on production readiness
But really only test triggering of CI.

Signed-off-by: Lars Wirzenius <liw@liw.fi>
2024-04-02 10:01:09 +03:00
Lars Wirzenius 1e0c9ed755 feat! add version field to request messages
Each request message has a field "version" set to an integer. An
adapter can check that it gets the version of the message it knows how
to handle.

Signed-off-by: Lars Wirzenius <liw@liw.fi>
2024-04-02 09:32:17 +03:00
Lars Wirzenius 601abc94d3 feat! drop the RunResult::Error variant
It was never very clear how Failure and Error actually differ, and
making the choice was thus unnecessarily difficult for an adapter
implementation. Having just Failure is simpler.

We'll re-introduce other variants if there are actual use cases and
things aren't vague.

Signed-off-by: Lars Wirzenius <liw@liw.fi>
2024-04-02 09:18:42 +03:00
Lars Wirzenius 68fd1877e6 chore: depend on the radicle crate via crates.io
If nothing else, this is necessary for publishing the broker to
crates.io.

Signed-off-by: Lars Wirzenius <liw@liw.fi>
2024-03-31 11:22:36 +03:00
Lars Wirzenius d4f7475ab8 docs: update README, add licenses
Signed-off-by: Lars Wirzenius <liw@liw.fi>
2024-03-31 11:16:58 +03:00
Lars Wirzenius ed9df5a86e feat: show result of latest run on front page
Signed-off-by: Lars Wirzenius <liw@liw.fi>
2024-03-31 10:57:38 +03:00
Lars Wirzenius f9196a2c9a fix: allow Whence::Patch revision to be optional
Signed-off-by: Lars Wirzenius <liw@liw.fi>
2024-03-19 17:48:50 +02:00
Lars Wirzenius 10bdac0768 refactor: pagegen.rs
Signed-off-by: Lars Wirzenius <liw@liw.fi>
2024-03-19 17:26:50 +02:00
Lars Wirzenius 42603ef31f feat: add patch revisions to report pages
Signed-off-by: Lars Wirzenius <liw@liw.fi>
2024-03-19 17:07:42 +02:00
Lars Wirzenius 3285c0d407 feat: show JSON status on HTML report front page
Also, prettify the JSON.

Signed-off-by: Lars Wirzenius <liw@liw.fi>
2024-03-19 12:41:27 +02:00
Lars Wirzenius 0935bbdbbe feat: adjust logging to stderr via pretty_env_logger
Signed-off-by: Lars Wirzenius <liw@liw.fi>
2024-03-18 18:16:05 +02:00
Lars Wirzenius 706d92b9c2 docs(README.md): update
Signed-off-by: Lars Wirzenius <liw@liw.fi>
2024-03-18 16:16:19 +02:00
Lars Wirzenius 30c7d59e68 docs: bring architecture document up to date
Various updates to bring the text of the architecture document up to
date with what has been implemented. Most of the speculative "we will
probably do it like this" parts have been dropped. Various fixes have
been made.

Signed-off-by: Lars Wirzenius <liw@liw.fi>
2024-03-18 15:58:07 +02:00
Lars Wirzenius 4740c81c0e fix: make who in Whence variants optional
This should allow us to deal with old run record in the database.

Signed-off-by: Lars Wirzenius <liw@liw.fi>
2024-03-18 12:07:59 +02:00
Lars Wirzenius 1c64e2eb04 feat: show who made patch/commit CI is run for
Signed-off-by: Lars Wirzenius <liw@liw.fi>
2024-03-18 10:54:19 +02:00
Lars Wirzenius c0c48fd3c0 feat: add run count for each repo on front page
Signed-off-by: Lars Wirzenius <liw@liw.fi>
2024-03-15 16:42:18 +02:00
Lars Wirzenius 88e4af565a feat: refresh front page 300 seconds (5 min)
Signed-off-by: Lars Wirzenius <liw@liw.fi>
2024-03-15 16:33:30 +02:00
Lars Wirzenius de9c54ece4 feat: refersh front page every 10 seconds
Signed-off-by: Lars Wirzenius <liw@liw.fi>
2024-03-15 16:26:15 +02:00
Lars Wirzenius 4c504912e3 feat: add Request::try_from_str for tests
Specifically, radicle-native-ci tests.

Signed-off-by: Lars Wirzenius <liw@liw.fi>
2024-03-12 17:30:35 +02:00
Michalis Zampetakis de44786001 Docs: Adds db section in main Readme 2024-03-08 08:36:40 +02:00
Lars Wirzenius 23be5b2133 feat! make list of CI runs in broker be persistent
This means they won't vanish when the broker is restarted.

BREAKING CHANGE: the configuration files MUST now have a field "db"
that is a path to the database file to use. The file will be created
if needed.

Signed-off-by: Lars Wirzenius <liw@liw.fi>
2024-03-06 19:36:26 +02:00
Lars Wirzenius 173231d46c tests: add Radicle native CI file to run CI on collaborating nodes
Signed-off-by: Lars Wirzenius <liw@liw.fi>
2024-03-05 18:38:17 +02:00
Lars Wirzenius eac7f53dff fix: serialize EventType to lowercase
Signed-off-by: Lars Wirzenius <liw@liw.fi>
2024-03-05 18:36:21 +02:00
Lars Wirzenius 6260b8117e refactor: reorder imports
Signed-off-by: Lars Wirzenius <liw@liw.fi>
2024-03-05 18:36:13 +02:00
Lars Wirzenius 68b589ce37 feat: use an enum for event types
Stringly typing isn't checked by the compiler.

Signed-off-by: Lars Wirzenius <liw@liw.fi>
2024-03-05 18:13:16 +02:00
Lars Wirzenius fee8700dc8 feat: add a RequestBuilder to create Request messages
A builder interface is easier to use I find.

Signed-off-by: Lars Wirzenius <liw@liw.fi>
2024-03-05 18:01:57 +02:00
Lars Wirzenius 65c2cbfd92 fix(src/event.rs): remove unnecessary link target in doc comment
Signed-off-by: Lars Wirzenius <liw@liw.fi>
2024-03-05 17:32:51 +02:00
Lars Wirzenius dbc269b2a1 fix: use node's own alias in report page titles
Signed-off-by: Lars Wirzenius <liw@liw.fi>
2024-03-05 16:27:05 +02:00
Lars Wirzenius fd672cbdf7 chore: format code
Signed-off-by: Lars Wirzenius <liw@liw.fi>
2024-03-05 16:04:18 +02:00
Lars Wirzenius 3c2c2c2494 fix: avoid unnecessary return at the end of a function
Signed-off-by: Lars Wirzenius <liw@liw.fi>
2024-03-05 12:57:39 +02:00
Lars Wirzenius a4d6e64dd2 fix: add "branch" to pattern match
Signed-off-by: Lars Wirzenius <liw@liw.fi>
2024-03-05 12:56:37 +02:00
Michalis Zampetakis 472ca9ba8a Adds branch name for push events 2024-03-05 12:55:06 +02:00
Lars Wirzenius f0cb3d2944 fix: call to create patch in test to use COB cache
Signed-off-by: Lars Wirzenius <liw@liw.fi>
2024-03-04 19:01:41 +02:00
Lars Wirzenius 7861fdff9e fix: update Cargo.lock to drop radicle-native-ci
Signed-off-by: Lars Wirzenius <liw@liw.fi>
2024-03-04 18:50:13 +02:00
Lars Wirzenius 6877e2c702 chore: drop unused dependency on radicle-native-ci
Signed-off-by: Lars Wirzenius <liw@liw.fi>
2024-03-04 18:44:17 +02:00
Lars Wirzenius d9aafdc87c fix: link to run log from native CI
We used to have two IDs for each CI run: one assigned by the broker
and one by the adapter. The native CI adapter writes logs to a
directory named by the id it chose itself: it doesn't know the on
chosen by the broker. The broker was generating a report page that
links to a run log using the broker-chosen id. Oops.

Drop the id chosen by the broker, it doesn't serve any useful purpose
anymore.

Signed-off-by: Lars Wirzenius <liw@liw.fi>
2024-03-04 18:12:52 +02:00
Lars Wirzenius 443bf0b184 feat! generate HTML report pages
Instead of only a single JSON file, updated every so often, also
generate HTML pages that show CI broker status, and lists every
repository for which the broker has run CI.

This currently assumes the native CI adapter, but that can be fixed to
be more generic later.

Signed-off-by: Lars Wirzenius <liw@liw.fi>
2024-03-04 16:43:51 +02:00
Lars Wirzenius d96861408c fix: update status page atomically
Signed-off-by: Lars Wirzenius <liw@liw.fi>
2024-02-20 09:41:28 +02:00
Lars Wirzenius 43b434fadd feat: allow config file to set a status page update interval
Default is now 10 seconds.

Signed-off-by: Lars Wirzenius <liw@liw.fi>
2024-02-20 09:36:01 +02:00
Lars Wirzenius 5d3aa44a92 feat: update status page in a background thread
Previously, we updated the status page only when we got a new broker
event, or after a CI run finished. This made it unsuitable as a "is
the broker alive?" service.

Signed-off-by: Lars Wirzenius <liw@liw.fi>
2024-02-19 20:54:47 +02:00
Lars Wirzenius 2dafe88a84 fix: list formatting
Signed-off-by: Lars Wirzenius <liw@liw.fi>
2024-02-16 14:18:37 +02:00
Lars Wirzenius 729e054222 fix: formatting of list
Signed-off-by: Lars Wirzenius <liw@liw.fi>
2024-02-16 14:16:44 +02:00
Lars Wirzenius 24fb53b395 docs: clarify wording
Signed-off-by: Lars Wirzenius <liw@liw.fi>
2024-02-16 13:54:54 +02:00
Lars Wirzenius d6be37d7ee feat: update a status page, if configured
Signed-off-by: Lars Wirzenius <liw@liw.fi>
2024-02-15 18:36:00 +02:00
Lars Wirzenius 15ddf5d0e7 chore: add deb packaging
Signed-off-by: Lars Wirzenius <liw@liw.fi>
2024-02-12 12:17:22 +02:00
Lars Wirzenius ab5197b7e4 fix: use git dependency on radicle, drop features
With this, importing radicle::prelude::RepoId works for me again.

Signed-off-by: Lars Wirzenius <liw@liw.fi>
2024-02-08 17:24:32 +02:00
Lars Wirzenius 0e80ed89e2 fix: import RepoId from identity module
rust-analyzer gets confused for me when it's imported from prelude.

Signed-off-by: Lars Wirzenius <liw@liw.fi>
2024-02-05 13:26:19 +02:00
Lars Wirzenius b483ab914d style: add note to errors.rs about module specific error types
Signed-off-by: Lars Wirzenius <liw@liw.fi>
2024-02-05 13:24:48 +02:00