Commit Graph
116 Commits
Author SHA1 Message Date
Lars Wirzenius 495ddf1518 refactor: use the message helper from radicle-ci-broker
Reduce code in the native CI adapter by using library code from the
Radicle CI broker.

Signed-off-by: Lars Wirzenius <liw@liw.fi>
2025-01-10 16:54:52 +02:00
Lars Wirzenius 215dbf3d6b feat: log start time and duration in run log
Signed-off-by: Lars Wirzenius <liw@liw.fi>
2024-12-09 10:34:22 +02:00
Lars Wirzenius 27712152d9 feat: record adapter run ID in run log; add CSS to run log
Signed-off-by: Lars Wirzenius <liw@liw.fi>
2024-12-09 08:27:45 +02:00
Lars Wirzenius c4bb071a95 feat! drop support for limiting the duration of a CI run
This adapter is only ever run by the Radicle CI broker, and that can
now limit CI run duration itself. Thus having this adapter do it too
is pointless duplication.

Further, this removes the run time dependency on an external "timeout"
command, which turns out not to be portable: it isn't available on
Macs, by default.

Signed-off-by: Lars Wirzenius <liw@liw.fi>
2024-12-09 07:35:54 +02:00
Lars Wirzenius 5f021167e8 feat: add command line parsing to rad-ci, with --dry-run option
Signed-off-by: Lars Wirzenius <liw@liw.fi>
2024-12-09 07:24:12 +02:00
Lars Wirzenius f3d4e4a99b feat: add a time stamp to each log message
Thank-you:  Richard Levitte

Signed-off-by: Lars Wirzenius <liw@liw.fi>
2024-12-05 13:02:06 +02:00
Lars Wirzenius d1151856d5 chore: drop unused AdminLog methods
Signed-off-by: Lars Wirzenius <liw@liw.fi>
2024-12-05 09:29:18 +02:00
Lars Wirzenius 7dde548745 add rad-ci binary
Signed-off-by: Lars Wirzenius <liw@liw.fi>
2024-11-20 18:12:05 +02:00
Lars Wirzenius 3366fc9074 refactor: make code to create the preamble clearer
Signed-off-by: Lars Wirzenius <liw@liw.fi>
2024-11-11 12:17:23 +02:00
Lars Wirzenius 5f7eba89cf feat: move ToC to top, add all headings
Signed-off-by: Lars Wirzenius <liw@liw.fi>
2024-11-11 12:11:32 +02:00
Lars Wirzenius 6beae38618 chore: update html-page dependency to 0.4.0
Signed-off-by: Lars Wirzenius <liw@liw.fi>
2024-11-08 14:14:01 +02:00
Lars Wirzenius b7910c80a8 chore: update dependencies to current versions
Signed-off-by: Lars Wirzenius <liw@liw.fi>
2024-11-07 15:40:19 +02:00
Lars Wirzenius 1488501bed feat: combine stdout and stderr into one stream
This makes it easier, for me, to follow the output. It's more like
what I see in the terminal if I run the commands directly. If this
turns out to be bad for others, I'll revert.

Signed-off-by: Lars Wirzenius <liw@liw.fi>
2024-07-26 16:18:48 +03:00
Lars Wirzenius 7947dd6571 feat: return URL to build log if base URL is configured
Signed-off-by: Lars Wirzenius <liw@liw.fi>
2024-06-10 16:22:58 +03:00
Lars Wirzenius 7f6aff9795 feat: allow an optional base URL in the configuration file
Signed-off-by: Lars Wirzenius <liw@liw.fi>
2024-06-10 15:32:20 +03:00
Lars Wirzenius 63fb66f468 feat: add --show-config to write out configuration as JSON
Signed-off-by: Lars Wirzenius <liw@liw.fi>
2024-06-10 15:22:27 +03:00
Lars Wirzenius 17acd1c703 feat: add --version option
Signed-off-by: Lars Wirzenius <liw@liw.fi>
2024-06-10 15:12:03 +03:00
Lars Wirzenius c462567153 feat: log repo and commit to admin log
They're in the build log too, and come from the trigger message, but
it's helpful for debugging to log them clearly.

Signed-off-by: Lars Wirzenius <liw@liw.fi>
2024-06-06 15:52:04 +03:00
Lars Wirzenius ddb0603dcd fix: pass on request to run log, harder
Signed-off-by: Lars Wirzenius <liw@liw.fi>
2024-05-14 18:02:53 +03:00
Lars Wirzenius 153c4fdcc5 fix: pass in request to run log
Signed-off-by: Lars Wirzenius <liw@liw.fi>
2024-05-14 17:53:34 +03:00
Lars Wirzenius 7e4a761035 feat: log request message to run log
Signed-off-by: Lars Wirzenius <liw@liw.fi>
2024-05-14 17:43:26 +03:00
Lars Wirzenius ee90b919ae chore: update html-page dependency to version 0.2.0
Signed-off-by: Lars Wirzenius <liw@liw.fi>
2024-04-11 09:45:57 +03:00
Lars Wirzenius eaeb89b3bf feat: depend on radicle-ci-broker via crates.io, plus fixes
The CI broker has dropped the RunResult::Error variant, so drop any
use of that. The Request::version field has been added, so deal with
that.

Signed-off-by: Lars Wirzenius <liw@liw.fi>
2024-04-03 16:18:00 +03:00
Lars Wirzenius 8fd5e71c4b fix: display native.yaml as a PRE
Signed-off-by: Lars Wirzenius <liw@liw.fi>
2024-03-31 18:56:12 +03:00
Lars Wirzenius dd7496fa70 add timestamps for every commancd run
Signed-off-by: Lars Wirzenius <liw@liw.fi>
2024-03-31 17:03:40 +03:00
Lars Wirzenius 89f0b970e3 feat: run "git show" to show the commit being built
Signed-off-by: Lars Wirzenius <liw@liw.fi>
2024-03-31 16:40:28 +03:00
Lars Wirzenius 8c74e710b2 feat: turn of advice about detached head
Previously, every run log would contain:

    Note: switching to 'HEAD^'.

    You are in 'detached HEAD' state. You can look around, make experimental
    changes and commit them, and you can discard any commits you make in this
    state without impacting any branches by switching back to a branch.

    If you want to create a new branch to retain commits you create, you may
    do so (now or later) by using -c with the switch command. Example:

      git switch -c <new-branch-name>

    Or undo this operation with:

      git switch -

    Turn off this advice by setting config variable advice.detachedHead to false

    HEAD is now at 2d0d98e feat: add branch or patch information to run log

This should now be gone.

Signed-off-by: Lars Wirzenius <liw@liw.fi>
2024-03-31 16:21:28 +03:00
Lars Wirzenius 332cf7eea7 feat: add repository name to run log
Signed-off-by: Lars Wirzenius <liw@liw.fi>
2024-03-31 16:15:14 +03:00
Lars Wirzenius 2d0d98ea2f feat: add branch or patch information to run log
Signed-off-by: Lars Wirzenius <liw@liw.fi>
2024-03-31 16:02:39 +03:00
Lars Wirzenius 830ddedc2d feat: add .radicle/native.yaml to run log
Signed-off-by: Lars Wirzenius <liw@liw.fi>
2024-03-31 15:25:44 +03:00
Lars Wirzenius 15884006b2 add runspec to RunLog
Signed-off-by: Lars Wirzenius <liw@liw.fi>
2024-03-31 15:14:41 +03:00
Lars Wirzenius 8bd8b9b21b refactor: drop use of RunInfo
The run log replaces all uses of RunInfo now that the CI broker builds
report pages.

Signed-off-by: Lars Wirzenius <liw@liw.fi>
2024-03-31 15:08:03 +03:00
Lars Wirzenius 2fa62ab846 feat: add a table of contents to the run log
Signed-off-by: Lars Wirzenius <liw@liw.fi>
2024-03-31 14:51:56 +03:00
Lars Wirzenius 7746b37c33 chore: drop unused report module
The CI broker produces reports now.

Signed-off-by: Lars Wirzenius <liw@liw.fi>
2024-03-31 12:02:49 +03:00
Lars Wirzenius b98bd3cc15 chore: drop unused NativeMessageError::RemoveDir variant 2024-03-14 11:42:55 +02:00
Lars Wirzenius 76d5cc4a3a fix: return failure for command run by CI failing
If any command run by CI for a repository fails, set the run to failed
in the run info builder.

Also, we were hiding that failure with later errors, if, say, updating
a log file or removing temporary files failed, so don't do that.
2024-03-14 11:42:55 +02:00
Lars Wirzenius 6e2d748267 feat: make Config and RunSpec serializable
We'll soon be adding tests that write these to files, and that needs
them to be serializable.
2024-03-14 11:42:24 +02:00
Lars Wirzenius f3a3c61b57 feat! don't write a report to index.html
CI broker will be writing it in the future.

Signed-off-by: Lars Wirzenius <liw@liw.fi>
2024-03-04 16:55:21 +02:00
Lars Wirzenius 1bb93c51b2 adapt to new trigger message structure in broker 2024-02-02 15:58:55 +02:00
Lars Wirzenius 3a7c8b668d fix: cope with heartwood's Id->RepoId rename
Signed-off-by: Lars Wirzenius <liw@liw.fi>
2024-01-23 17:35:46 +02:00
Lars Wirzenius 49f6711e22 feat: put last-updated time stamp to top
Signed-off-by: Lars Wirzenius <liw@liw.fi>
2024-01-22 10:08:14 +02:00
Lars Wirzenius a41e347952 fix: don't reverse
Signed-off-by: Lars Wirzenius <liw@liw.fi>
2024-01-22 10:06:57 +02:00
Lars Wirzenius 1c1ae27e36 fix: use sorted runs
Signed-off-by: Lars Wirzenius <liw@liw.fi>
2024-01-22 10:05:57 +02:00
Lars Wirzenius 370f70fb24 fix: reverse order of runs
Signed-off-by: Lars Wirzenius <liw@liw.fi>
2024-01-22 09:49:52 +02:00
Lars Wirzenius c4d4fe11e1 feat: order runs newest first
Signed-off-by: Lars Wirzenius <liw@liw.fi>
2024-01-22 09:42:44 +02:00
Lars Wirzenius 0354e5a0e7 fix: set run id in run info
Signed-off-by: Lars Wirzenius <liw@liw.fi>
2024-01-16 19:56:22 +02:00
Lars Wirzenius 294db7449d fix: set run log filename
Signed-off-by: Lars Wirzenius <liw@liw.fi>
2024-01-16 19:53:34 +02:00
Lars Wirzenius decc8e979c fix: filename for run log
Signed-off-by: Lars Wirzenius <liw@liw.fi>
2024-01-16 19:41:55 +02:00
Lars Wirzenius 00b96b88cd fix: where run info is stored
Signed-off-by: Lars Wirzenius <liw@liw.fi>
2024-01-16 19:36:55 +02:00
Lars Wirzenius 211bb3a7d1 refactor: use engine in main
Also introduce exit codes: 0 for success, 1 for problem in the
repository under test, 2 for engine problem.

Signed-off-by: Lars Wirzenius <liw@liw.fi>
2024-01-16 19:20:27 +02:00