Commit Graph
34 Commits
Author SHA1 Message Date
Fintan Halpenny ea565f777c chore: Release radicle-job 0.6.0 2026-05-07 08:45:24 +01:00
Fintan Halpenny b736670212 chore: Add test-log for automatic log output on test failures
Add test-log dev-dependency and import it in the test module so that
all #[test] functions automatically capture log output, displaying it
only when a test fails. Note that `RUST_LOG` needs to be set when
running the tests to see the log output.
2026-05-07 08:42:52 +01:00
Fintan Halpenny 9d951a17a5 chore: Add log crate with debug and warn statements
Add structured logging throughout the COB evaluation and mutation
paths to aid debugging:

- debug: job creation, root initialisation, op application, run
  insertion, finishing, and log-setting
- warn: no-op situations like duplicate runs, missing nodes, or
  missing UUIDs
2026-05-07 08:42:21 +01:00
Fintan Halpenny 536de30896 chore: Update radicle to 0.24.0
Update to `radicle-0.24.0`. This update introduces the change of the
`radicle::cob::store` API changes. The `Store` structure now requires
an `Access` parameter. This is fulfilled by `access::ReadOnly` or
`access::WriteAs`. `ReadOnly` is trivially constructed, and provides
read access to `Jobs`. `WriteAs` is constructed with the signer of the
node, and provides read and write access to `Jobs`. Since the signer
is provided at construction, it is no longer needed to be passed into
`Jobs` operations.

This necessarily updates the MSRV to 1.86.0 since transitive crates
required a later version.
2026-05-07 08:41:46 +01:00
Fintan Halpenny 4d37a30cb3 MSRV: Update to 1.85.1
The MSRV is found to be 1.85.1
2026-03-21 17:15:10 +00:00
Fintan Halpenny 13062baa49 Update to 0.5.2 2026-03-21 17:07:49 +00:00
Fintan Halpenny b3f5b1c3bf flake: add cargo-semver-checks 2026-03-21 17:02:51 +00:00
Fintan Halpenny 8dd498f2ef radicle: Update to 0.22 2026-03-21 16:58:57 +00:00
Fintan Halpenny 8799f728bc radicle-job: Release 0.5.1 2026-03-06 08:33:41 +00:00
Fintan Halpenny ea277ab590 chore: explicit to chrono-0.4.42
The crate uses [`DateTime::from_timestamp_secs`], which is introduced
in 0.4.42. Be explicit about requiring that version.

[`DateTime::from_timestamp_secs`]: https://docs.rs/chrono/0.4.42/chrono/struct.DateTime.html#method.from_timestamp_secs
2026-03-06 08:30:58 +00:00
Fintan Halpenny fd69685db8 fix: Use loop in FindByCommit::next to avoid stack overflow
Use an iterative loop with `return` and `continue` to avoid stack overflow.
A stack overflow could have occurred due to the recursion, and
potentially many jobs.
2026-03-06 08:30:58 +00:00
Fintan Halpenny 07feea6ea1 radicle-job: Release 0.5.0 2026-03-04 17:55:42 +00:00
Fintan Halpenny 57f2ad0757 chore: update to radicle to 0.21.0
Update the `radicle` crate to 0.21.0.

This requires the MSRV to be updated to 1.85.0.
2026-03-04 17:51:15 +00:00
Fintan Halpenny e37ff3447e cli: add timestamp to output
With the Run storing the timestamp, it can be added to the CLI output
as well.

When pretty printing the timestamp, `chrono` is used to have a
date-time format.
2025-12-28 15:16:29 +00:00
Fintan Halpenny c2697d7854 lib: add timestamp to Run
For each Run, the timestamp can be easily tracked using the
operation's timestamp. This field is added to Run to provide more
information to end users.
2025-12-28 15:15:18 +00:00
Fintan Halpenny 525dc9a9e4 Release 0.4.0 2025-10-20 11:49:17 +01:00
Fintan Halpenny 127f2e281a chore: Release radicle-job version 0.3.0 2025-08-15 11:34:39 +01:00
Fintan Halpenny 19df819950 chore: update CHANGELOG for v0.3.0 2025-08-15 11:34:00 +01:00
Fintan Halpenny 648bdb82e5 chore(nix): add cargo-release
Adding `cargo-release` for managing crate releases
2025-08-15 11:29:29 +01:00
Fintan Halpenny 857df23f49 chore: v0.2.0 crates release 2025-07-23 13:48:08 +01:00
Fintan Halpenny edf0eed0a5 chore: add CHANGELOG.md 2025-07-23 13:41:21 +01:00
Fintan Halpenny 841ea446c0 feat: add program to manipulate and inspect job COBs 2025-07-18 10:35:18 +01:00
Fintan Halpenny 4e85d1cef3 feat: display module
Adds a `display` module to hold types that are useful in tools that can display
data, e.g. a `rad-job` CLI
2025-07-18 08:39:11 +01:00
Fintan Halpenny 0c82a9a934 feat: add FindByCommit iterator
Introducing a `FindByCommit` iterator, which can be constructed using
`Jobs::find_by_commit`.

This allows the caller to supply a `git::Oid` and get back an `Iterator` of all
`Job`s that are running for that commit.
2025-07-18 08:39:11 +01:00
Fintan Halpenny 68cac715ac fix: add https:// to homepage 2025-06-12 11:30:21 +02:00
Fintan Halpenny 83edfbc761 fix: MSRV of 1.84
It would seem like the crate `base64ct` bumped their MSRV to 1.85 and added the
new edition:

- https://github.com/RustCrypto/formats/commit/ea10f3b1337faf08f14ba3e25edde10cad2dd07e
- https://github.com/RustCrypto/formats/pull/1859/files

This blocks us from publishing using `rust-version = 1.82`. We bump to `1.84` to
allow us to publish the crate.
2025-06-12 11:24:25 +02:00
Fintan Halpenny 94f74a8fd2 chore: add homepage and repository 2025-06-12 10:20:55 +02:00
Fintan Halpenny 5b86be0fbc chore: add README file 2025-06-12 08:09:34 +02:00
Fintan Halpenny 1ce12295c2 refactor: introduce JobId
Introduce a newtype `JobId` to differentiate it from the more general
`ObjectId`.
2025-06-11 08:29:10 +02:00
Fintan Halpenny e917ef069e fix: infallible action
The `action` method does not actually return any errors.

Change the return type to unit, and remove the unneccessary error handling.
2025-06-10 10:47:26 +02:00
Fintan Halpenny f9d9f1f182 fix: make Transaction private
For the time being, it is better to hide the `Transaction` type since actions
might need to stay fine-grained.
2025-06-10 10:47:26 +02:00
Fintan Halpenny 256242f1ff chore: radicle 0.15
Update the `radicle` dependency to `0.15`, fixing the required API changes.
2025-06-03 15:55:55 +02:00
Fintan Halpenny 8b8cb49458 chore: update to latest radicle
Use `refs/heads/master` to ensure the latest updates – including the
`Transaction::initial` changes. This is a stop-gap until a new version of
`radicle` is published to crates.io.
2025-05-14 14:03:12 +02:00
Fintan Halpenny d5685cb755 radicle-job
The genesis of the `Job` collaborative object
2025-03-26 14:52:20 +00:00