Commit Graph
105 Commits
Author SHA1 Message Date
Lars Wirzenius f307ac433d chore: prepare release 0.24.0 2025-12-09 15:54:05 +02:00
Lars Wirzenius 21db3db163 feat: add "cibtool cob" to add runs to a job COB 2025-12-05 16:13:05 +02:00
Lars Wirzenius 8413204baf chore: drop depedency on anyhow 2025-11-28 16:37:51 +02:00
Lars Wirzenius 1a329c791a chore: drop unused dependency on ctor 2025-11-25 12:58:43 +02:00
Lars Wirzenius d75150dd4e chore: drop unused dependency sqlite3-sys
We depend on it indirectly, but don't use it directly, so drop it.
2025-11-25 12:54:43 +02:00
Lars Wirzenius 8fbe2d8c5c chore: drop unused dependency valuable 2025-11-25 12:52:45 +02:00
Lars Wirzenius 25c9f0df22 chore: bump dependency on Subplot
We don't need the subplot-build dependency at all any more. It's being
deprecated upstream and we don't use it.
2025-11-25 12:28:17 +02:00
Lars Wirzenius 460f08e661 chore: prepare release 0.23.0 2025-11-25 10:27:06 +02:00
Lars Wirzenius 01bad3406e chore: prepare for release 0.22.0 2025-11-12 15:47:39 +02:00
Lars Wirzenius dd9347b8ac refactor(src/queueproc.rs): simplify thread structure
Change the queue processing to spawn a new thread for each new event
to process (run adapters for).

Previously we had N long-lived threads, where N is set in the
configuration setting `concurrent_adapters`. This is awkward if we
want to reload configuration, which is an open feature request.

The new structure is also a lot simpler, which hopefully means it'll
be more reliable.
2025-10-10 08:48:24 +03:00
Lars Wirzenius 1845c2bbec chore: prepare release 0.21.0 2025-09-24 09:28:37 +03:00
Lars Wirzenius aa70e645b3 chore: bump MSRV so it's correct
Verified with `cargo msrv verify`
2025-09-23 12:03:15 +03:00
Lars Wirzenius 0d4387abfc fix: version number 2025-09-19 14:52:51 +03:00
Lars Wirzenius aa5e1eb008 chore: upgrade dependencies, fix problems found
Signed-off-by: Lars Wirzenius <liw@liw.fi>
2025-09-19 14:34:45 +03:00
Lars Wirzenius 16e534d2fb chore: switch serde YAML parsing to serde-norway
serde-yaml was orphaned, so I switched to serde-yml, which is now
unmaintained and depends on libyml with a security issue. The new
replacement seems to be serde-norway.

May be worth thinking about not using YAML in the future.

Signed-off-by: Lars Wirzenius <liw@liw.fi>
2025-09-15 09:05:38 +03:00
Lars Wirzenius d981727b8d chore: prepare release 0.20.0
Signed-off-by: Lars Wirzenius <liw@liw.fi>
2025-09-09 18:20:27 +03:00
Lars Wirzenius 27317200c1 fix: max_run_time setting in cib
The cib configuration setting max_run_time didn't always work, because
its implementation only killed the adapter, not any child processes of
the adapter. We fix this by running the adapter in its own process
group, and killing the whole group if the time runs out.

In addition, the timeoutcmd.rs module (and the ChildProcess type) is
simplified, by making the deadline mandatory. It is no longer possible
to run an adapter without a timeout. This makes sense, as it'd not be
useful to allow an adapter to run indefinitely. The old behavior can
be simulated by setting a very long timeout, such as a year.

Signed-off-by: Lars Wirzenius <liw@liw.fi>
2025-09-01 11:49:56 +03:00
Lars Wirzenius df22a8e11a chore: prepare release 0.19.1
Signed-off-by: Lars Wirzenius <liw@liw.fi>
2025-07-28 10:02:25 +03:00
Lars Wirzenius 93dd7c49e2 chore: bump dependencies on radicle and radicle-job
No code changes needed.

Signed-off-by: Lars Wirzenius <liw@liw.fi>
2025-07-24 13:36:36 +03:00
Lars Wirzenius 2f56e46398 chore: prepare release 0.19.0
Signed-off-by: Lars Wirzenius <liw@liw.fi>
2025-07-15 15:13:10 +03:00
Lars Wirzenius 6a4c026075 feat: add module for creating or updating job COBs
This is a convenience wrapper around `radicle-job`.

Signed-off-by: Lars Wirzenius <liw@liw.fi>
2025-07-14 09:32:03 +03:00
Lars Wirzenius ce5e5945de chore: add dependency on radicle-job
Bump MSRV to 1.84, because `radicle-job` needs that.

Signed-off-by: Lars Wirzenius <liw@liw.fi>
2025-07-14 09:26:07 +03:00
Lars Wirzenius 3b71380d86 chore: prepare release 0.18.0
No big changes.

Signed-off-by: Lars Wirzenius <liw@liw.fi>
2025-06-04 10:39:31 +03:00
Lars Wirzenius abffecf17d chore: update dependencies on radicle, radicle-crypto, fix problem
Drop now-unnecessary import from src/test.rs.

Signed-off-by: Lars Wirzenius <liw@liw.fi>
2025-06-03 10:23:35 +03:00
Lars Wirzenius 4fd7d2a61b fix: typo in Cargo.toml
Signed-off-by: Lars Wirzenius <liw@liw.fi>
2025-05-19 17:48:09 +03:00
Lars Wirzenius 83aa0b0a0a chore: prepare release version 0.17.1
Signed-off-by: Lars Wirzenius <liw@liw.fi>
2025-05-19 17:45:23 +03:00
Lars Wirzenius 46963aaa4f chore: prepare release 0.17.0
Signed-off-by: Lars Wirzenius <liw@liw.fi>
2025-05-19 12:33:49 +03:00
Lars Wirzenius 768af45e7e chore: prepare release 0.16.0
Signed-off-by: Lars Wirzenius <liw@liw.fi>
2025-04-17 17:31:01 +03:00
Lars Wirzenius 5a83c3d9d4 chore: prepare release 0.15.1
Signed-off-by: Lars Wirzenius <liw@liw.fi>
2025-03-26 08:40:42 +02:00
Lars Wirzenius 19575f49f2 chore: prepare release 0.15.0
Signed-off-by: Lars Wirzenius <liw@liw.fi>
2025-03-25 08:37:07 +02:00
Lars Wirzenius bcbd2ffcfa chore: prepare release 0.14.0
Signed-off-by: Lars Wirzenius <liw@liw.fi>
2025-03-24 12:31:05 +02:00
Lars Wirzenius 515cf386ab chore: prepare release 0.13.1
Signed-off-by: Lars Wirzenius <liw@liw.fi>
2025-03-05 10:12:35 +02:00
Lars Wirzenius e167d05e04 feat: msg::helper::runcmd takes a non-empty argv vector
This makes is the empty-argv mistake that much easier to avoid.

Signed-off-by: Lars Wirzenius <liw@liw.fi>
2025-03-04 12:14:29 +02:00
Lars Wirzenius 3fffb2fcdc chore: prepare release 0.13.0
Signed-off-by: Lars Wirzenius <liw@liw.fi>
2025-02-18 10:19:43 +02:00
Fintan Halpenny 3edb0ed017 chore: rountrip property test for EventFilter
Introduce the use of the `qcheck` crate to generate examples of `EventFilter`,
so that a YAML roundtrip test can be added.
2025-01-30 15:00:54 +02:00
Lars Wirzenius 64e76a97a8 chore: prepare release 0.12.0
Signed-off-by: Lars Wirzenius <liw@liw.fi>
2025-01-29 11:08:29 +02:00
Lars Wirzenius 14d7b5322b chore: prepare release 0.11.1
Signed-off-by: Lars Wirzenius <liw@liw.fi>
2025-01-09 18:58:13 +02:00
Lars Wirzenius e9f51c5c93 chore: bump version in Cargo.toml/lock, debian/changelog
Signed-off-by: Lars Wirzenius <liw@liw.fi>
2025-01-07 14:05:20 +02:00
Lars Wirzenius 11c002d9c5 chore: bump dependency on subplotlib, subplot-build
Signed-off-by: Lars Wirzenius <liw@liw.fi>
2025-01-03 16:01:12 +02:00
Lars Wirzenius 01d60563ea chore: bump dedendency on serde-yml
Signed-off-by: Lars Wirzenius <liw@liw.fi>
2025-01-03 15:59:31 +02:00
Lars Wirzenius 52dba0ca85 chore: bump dependency on duration-str
Signed-off-by: Lars Wirzenius <liw@liw.fi>
2025-01-03 15:56:30 +02:00
Lars Wirzenius 69b6db769e chore: bump dependency on anyhow
Signed-off-by: Lars Wirzenius <liw@liw.fi>
2025-01-03 15:54:55 +02:00
Lars Wirzenius 6dc8f8e202 chore: prepare release 0.10.0
Signed-off-by: Lars Wirzenius <liw@liw.fi>
2024-12-05 08:47:12 +02:00
Lars Wirzenius 2e2236aea7 fix: use node id from ref name as originating node id
Change CI event creation to set the `from_node` field to the node id
in the Git ref being updated. Previously we set it to the `remote`
field in the node event, but that is id of the node from which our
local node got the `RefsUpdated` event, not the node where the change
was originally made.

Signed-off-by: Lars Wirzenius <liw@liw.fi>
2024-12-05 08:20:04 +02:00
Lars Wirzenius 46651b7fa5 chore: bump dependency on radicle to 0.14.0
Signed-off-by: Lars Wirzenius <liw@liw.fi>
2024-12-05 08:20:04 +02:00
Lars Wirzenius cf395350ea feat: use the tracing crate for structured logging
Switch from the "slog" family of crates for structured logging to the
"tracing" family. There should be no significant changes to the log
messages, so I don't consider this to be a breaking change.

The benefit of this change is that it opens up the possibility to add
extra fields to the log messages as JSON values, instead of strings
that contain the values as JSON.

With slog we currently have this message::

  {"msg":"broker database: /home/_rad/ci-broker.db"}

With slog or tracing we can change this to:

  {"msg":"open database", "filename": "/home/_rad/ci-broker.db"}

With tracing we can have this:

  {"msg":"open database","db":{"type":"sqlite","filename":"/home/_rad/ci-broker.db","size":12765}}

which would be, formatted prettily

  {
    "msg": "open database",
    "db": {
      "type": "sqlite",
      "filename": "/home/_rad/ci-broker.db",
      "size": 12765
    }
  }

Such extra fields can then be easily queried or otherwise processed
with programs, much more easily than having such programs parse text
fields as JSON before they can be processed.

Doing this with slog is supposed to be possible, but I have failed to
get it to work. The slog and tracing families of libraries seem
otherwise similar for our purposes.

Signed-off-by: Lars Wirzenius <liw@liw.fi>
2024-11-26 18:57:25 +02:00
Lars Wirzenius 70f1ba7de5 chore: prepare release 0.9.0
Signed-off-by: Lars Wirzenius <liw@liw.fi>
2024-11-21 10:19:56 +02:00
Lars Wirzenius 4caab2118c feat: generate RSS feeds for all, failed CI runs
This is primarily a stop-gap measure so I can have some notification
of CI runs, without having to manually check the report page. It may
also be useful for other people, who do not use Radicle themselves,
but are interested in CI runs on Radicle nodes.

Signed-off-by: Lars Wirzenius <liw@liw.fi>
2024-11-13 18:06:19 +02:00
Lars Wirzenius 43c076c22e feat: generate sample adapter messages with cibtool
This is meant only for generating documentation, but might be useful
for others.

Signed-off-by: Lars Wirzenius <liw@liw.fi>
2024-11-13 09:45:29 +02:00
Lars Wirzenius 869b451728 chore: prepare release 0.8.0
Signed-off-by: Lars Wirzenius <liw@liw.fi>
2024-11-08 10:17:11 +02:00