forked from vieter-v/vieter
feat(cron): upload logs after build
parent
e79d18100f
commit
ea4c4fce16
|
@ -73,7 +73,8 @@ pub fn create_build_image(base_image string) ?string {
|
||||||
return image.id
|
return image.id
|
||||||
}
|
}
|
||||||
|
|
||||||
struct BuildResult {
|
pub struct BuildResult {
|
||||||
|
pub:
|
||||||
start_time time.Time
|
start_time time.Time
|
||||||
end_time time.Time
|
end_time time.Time
|
||||||
exit_code int
|
exit_code int
|
||||||
|
|
|
@ -3,6 +3,7 @@ module daemon
|
||||||
import time
|
import time
|
||||||
import sync.stdatomic
|
import sync.stdatomic
|
||||||
import build
|
import build
|
||||||
|
import os
|
||||||
|
|
||||||
const (
|
const (
|
||||||
build_empty = 0
|
build_empty = 0
|
||||||
|
@ -77,13 +78,20 @@ fn (mut d Daemon) run_build(build_index int, sb ScheduledBuild) {
|
||||||
// 0 means success, 1 means failure
|
// 0 means success, 1 means failure
|
||||||
mut status := 0
|
mut status := 0
|
||||||
|
|
||||||
build.build_repo(d.client.address, d.client.api_key, d.builder_images.last(), &sb.repo) or {
|
res := build.build_repo(d.client.address, d.client.api_key, d.builder_images.last(),
|
||||||
|
&sb.repo) or {
|
||||||
d.ldebug('build_repo error: $err.msg()')
|
d.ldebug('build_repo error: $err.msg()')
|
||||||
status = 1
|
status = 1
|
||||||
|
|
||||||
|
build.BuildResult{}
|
||||||
}
|
}
|
||||||
|
|
||||||
if status == 0 {
|
if status == 0 {
|
||||||
d.linfo('finished build: $sb.repo.url $sb.repo.branch')
|
d.linfo('finished build: $sb.repo.url $sb.repo.branch; uploading logs...')
|
||||||
|
|
||||||
|
build_arch := os.uname().machine
|
||||||
|
d.client.add_build_log(sb.repo.id, res.start_time, res.end_time, build_arch, res.exit_code,
|
||||||
|
res.logs) or { d.lerror('Failed to upload logs for $sb.repo.url $sb.repo.arch') }
|
||||||
} else {
|
} else {
|
||||||
d.linfo('failed build: $sb.repo.url $sb.repo.branch')
|
d.linfo('failed build: $sb.repo.url $sb.repo.branch')
|
||||||
}
|
}
|
||||||
|
|
|
@ -2,7 +2,6 @@ module docker
|
||||||
|
|
||||||
import json
|
import json
|
||||||
import net.urllib
|
import net.urllib
|
||||||
import regex
|
|
||||||
import time
|
import time
|
||||||
|
|
||||||
struct Container {
|
struct Container {
|
||||||
|
|
Loading…
Reference in New Issue