Commit Graph
106 Commits
Author SHA1 Message Date
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
Lars Wirzenius 52ba6a9081 refactor: add new engine to execute a CI run
In the old engine it's hard to follow how various errors are handled.
This new engine should make it clearer.

This isn't entirely a pure refactoring. It subtly changed how the
external behavior is, to fix problems.

Signed-off-by: Lars Wirzenius <liw@liw.fi>
2024-01-16 19:19:50 +02:00
Lars Wirzenius e786def6cd refactor: rename log or logfile to adminlog, for clarity
Signed-off-by: Lars Wirzenius <liw@liw.fi>
2024-01-15 18:09:16 +02:00
Lars Wirzenius 3a56190257 refactor: rename LogFile to AdminLog
Signed-off-by: Lars Wirzenius <liw@liw.fi>
2024-01-15 18:00:52 +02:00
Lars Wirzenius 7cab669cca improve error handling
Incl. fix tests.

Signed-off-by: Lars Wirzenius <liw@liw.fi>
2024-01-15 17:37:49 +02:00
Lars Wirzenius bd74aeeccc feat: show absolute path name for runcmd "in directory"
This is more helpful than ".".

Signed-off-by: Lars Wirzenius <liw@liw.fi>
2024-01-15 14:41:27 +02:00
Lars Wirzenius c949db7e6f fix: write the run log
It turns out that writing the to a file is sometimes a useful thing to
do. Who could've foreseen this. Well, they're using a paper bag on
their head as they're writing this commit message.

Signed-off-by: Lars Wirzenius <liw@liw.fi>
2024-01-15 14:41:27 +02:00
Lars Wirzenius 3a20cb66e6 feat! drop the env logging
We have a run log, aimed at the developer for whose project CI is run,
and the node admin log, aimed at the node admin. We don't need a third
log aimed at the developer of the native CI engine itself.

Signed-off-by: Lars Wirzenius <liw@liw.fi>
2024-01-15 14:38:58 +02:00
Lars Wirzenius 9225ef0d31 pass in RunLog, not filename for it
RunLog knows how to construct a whole log, rather than just writing
individual messages to it.

Signed-off-by: Lars Wirzenius <liw@liw.fi>
2024-01-15 14:38:00 +02:00
Lars Wirzenius 8be0bbd59d fix run log filename suffix
We're about to make HTML logs, to .html is the right suffix, not .txt.

Also drop a commented-out log message.

Signed-off-by: Lars Wirzenius <liw@liw.fi>
2024-01-15 14:36:02 +02:00
Lars Wirzenius aafb251254 feat: add a module to construct HTML run logs
Signed-off-by: Lars Wirzenius <liw@liw.fi>
2024-01-12 13:12:44 +02:00