Commit Graph
95 Commits
Author SHA1 Message Date
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
Lars Wirzenius cced880813 chore: remove unused argument to report::build_report
Signed-off-by: Lars Wirzenius <liw@liw.fi>
2024-01-12 11:37:55 +02:00
Lars Wirzenius 9a3f4c99e1 fix: mangled source file
Signed-off-by: Lars Wirzenius <liw@liw.fi>
2024-01-10 18:23:35 +02:00
Lars Wirzenius fd2dd65ef2 fix: indicate time zone as UTC
Signed-off-by: Lars Wirzenius <liw@liw.fi>
2024-01-10 18:22:51 +02:00
Lars Wirzenius 30e297a725 feat: add a "last update" time stamp to the report page
Signed-off-by: Lars Wirzenius <liw@liw.fi>
2024-01-10 18:20:04 +02:00
Lars Wirzenius ed2678e2bb fix: headings start a new line, or are preceded by a newline
Signed-off-by: Lars Wirzenius <liw@liw.fi>
2024-01-10 18:05:07 +02:00
Lars Wirzenius 6627cd29e0 fix: undo rename of run info field id
Signed-off-by: Lars Wirzenius <liw@liw.fi>
2024-01-10 18:00:51 +02:00
Lars Wirzenius 87f91e2474 feat: allow setting max duration of a CI run
Signed-off-by: Lars Wirzenius <liw@liw.fi>
2024-01-10 17:38:05 +02:00
Lars Wirzenius ddfedf5985 refactor: don't write run info file unless requested
Also, rename id to run_id for clarity. Found this out the hard way
while debugging.

Signed-off-by: Lars Wirzenius <liw@liw.fi>
2024-01-10 17:38:05 +02:00
Lars Wirzenius 26f9982401 refactor: only expose the writeln method
Signed-off-by: Lars Wirzenius <liw@liw.fi>
2024-01-10 17:38:05 +02:00
Lars Wirzenius 703c5c5a7c refactor: drop the method that takes a String, leave the slice one
Signed-off-by: Lars Wirzenius <liw@liw.fi>
2024-01-10 17:38:05 +02:00
Lars Wirzenius 8e9b908b07 reactor: add methods to write lines
Signed-off-by: Lars Wirzenius <liw@liw.fi>
2024-01-10 17:38:05 +02:00