| |
between releases.
|
| |
|
| |
|
| + |
## Version 0.11.0, released 2025-01-07
|
| + |
|
| + |
* The CI broker no longer crashes if it fails to create a trigger
|
| + |
message from a CI event. Previously, if there was some problem, such
|
| + |
as a repository getting deleted between the CI event being added to
|
| + |
the event queue and it getting picked up for processing, the CI
|
| + |
broker would crash. The idea was that if the trigger message can't
|
| + |
be created, the event can't be processed in a useful manner, and so
|
| + |
it's better to give up. What really happened is that systemd or
|
| + |
another system would re-start the CI broker, which would pick up the
|
| + |
same event, and again fail to create trigger message, resulting in
|
| + |
another crash.
|
| + |
|
| + |
Now the CI broker will log the failure, delete the problematic event
|
| + |
from the event queue, and then continue with the next event. This
|
| + |
makes the CI broker more robust.
|
| + |
|
| + |
* Some log messages have "extra data" in separate fields, instead of
|
| + |
the free-form message field. The separate fields are typically text
|
| + |
with values in the Rust debug format, so they're still not very
|
| + |
easily consumed by other programs, but they're at least easier to
|
| + |
see.
|
| + |
|
| + |
* Log messages related to a specific CI run now include the broker run
|
| + |
ID as an extra field. This makes it easier to extract all the
|
| + |
messages related to a specific CI run.
|
| + |
|
| + |
* Most log messages now have an extra `msg_id` field that contains the
|
| + |
type of message, such as `AdapterConfig`, `BrokerRunStart`, or
|
| + |
`CibEndSuccess`. The full list is in the `src/logger.rs` source
|
| + |
file.
|
| + |
|
| + |
* The `cibtool log` subcommand can extract `cib` log messages from the
|
| + |
systemd journal:
|
| + |
|
| + |
~~~
|
| + |
sudo journalctl -S today -u radicle-ci-broker -o json | cibtool log --log-level info
|
| + |
~~~
|
| + |
|
| + |
The output of `cibtool log` is JSON, which is reasonably easy to
|
| + |
post-process by another program, such as `jq` or a small Python
|
| + |
script.
|
| + |
|
| + |
|
| |
## Version 0.10.0, released 2024-12-05
|
| |
|
| |
Bug fix:
|