diff options
author | Natanael Copa <ncopa@alpinelinux.org> | 2015-11-17 08:46:55 +0000 |
---|---|---|
committer | Natanael Copa <ncopa@alpinelinux.org> | 2015-11-17 08:47:40 +0000 |
commit | 94c6a0c04d64a54dc422b8a635e3601c375a3155 (patch) | |
tree | 39b6033b7bd3d09c4f452118a7daea6747f33d25 /main/aports-build | |
parent | b9e3afbeb66666215134345d7ac82d1bdea70fec (diff) | |
download | aports-94c6a0c04d64a54dc422b8a635e3601c375a3155.tar.bz2 aports-94c6a0c04d64a54dc422b8a635e3601c375a3155.tar.xz |
main/aports-build: add support for uploading logs
we need upload logs for arm builders
Diffstat (limited to 'main/aports-build')
-rw-r--r-- | main/aports-build/APKBUILD | 8 | ||||
-rw-r--r-- | main/aports-build/report-build-errors.lua | 28 |
2 files changed, 32 insertions, 4 deletions
diff --git a/main/aports-build/APKBUILD b/main/aports-build/APKBUILD index 88abf4f47c..335c18eb50 100644 --- a/main/aports-build/APKBUILD +++ b/main/aports-build/APKBUILD @@ -1,7 +1,7 @@ # Maintainer: Natanael Copa <ncopa@alpinelinux.org> pkgname=aports-build pkgver=1.0 -pkgrel=2 +pkgrel=3 pkgdesc="MQTT based build-on-git-push scripts for Alpine Linux" url="http://alpinelinux.org" arch="noarch" @@ -52,12 +52,12 @@ package() { md5sums="97aa48d5026684e77c4529c7622370a6 aports-build cb4807ea64c4368487786217db087bac aports-build.initd c02d90b2bb0c48e416b707caa8766c50 mqtt-exec.aports-build.confd -99bc8c6c791e1fcbd0b3590278940ccd report-build-errors.lua" +0d8b71f9e61cd56e03931f190acc702a report-build-errors.lua" sha256sums="414adee6f0a5c83c8b37d995fee36a7a8787eaab7bdc986fd512977f3412e16c aports-build 3e2d551f72273f37290db342a153abd377397483677a684645d22df7b8a8592f aports-build.initd 7d2001688c3776ffb53c422dee424bcf0346ae20f3df5c6c2f4944022b19cb4d mqtt-exec.aports-build.confd -77c3537e7ce908543a0bb6caa6ea87d056e88d25a950ed2173f0e1213d1dfc98 report-build-errors.lua" +e45389a6b078bf0683a1e8e5d153485b88de85b424cab9df81329e4ead4bccae report-build-errors.lua" sha512sums="5f30f736e31e04c7718ad5e44c02d8abf47c31baabd38c98bef8fe1e02444ceb49375151707e255c72a28e370c4e67d7a11f14555689b20a5a4e736cbe9c4fb4 aports-build 821035bda47152c341ec94bf960fa67e3377051826712ceb74f39103e6e422777b6e082231bfb87865653d2b93b7d3154cfc24abf65a52e3e66da69412dd7e41 aports-build.initd 93d26e2055dbb02e863bf76b64a549c100decec3fda612ce96ca1464e6d61befa9f57f202553a25cf323e67e266f532d19c7423ff070943a59b3973946d949fe mqtt-exec.aports-build.confd -3ee2c2f6244dc326ccb7706379c432053b8eef9639927c48301af934060f77f2cbcc6f04b6410fd5b7fdafacabe23b7f5eac33006a976f059c61baa7c9ef0af2 report-build-errors.lua" +bb5c0472acb1fc8ba846acd93748f914c38a8f322089ad2326a1b88406056541cadb58aadaa24488785a67c10d726e52dc9a74acbd389e9321dbce7468478a5c report-build-errors.lua" diff --git a/main/aports-build/report-build-errors.lua b/main/aports-build/report-build-errors.lua index 3145b15993..8809430a69 100644 --- a/main/aports-build/report-build-errors.lua +++ b/main/aports-build/report-build-errors.lua @@ -10,7 +10,35 @@ local urlprefix=("http://build.alpinelinux.org/buildlogs/%s"):format(hostname) local m = {} +--local logtarget="distfiles.alpinelinux.org:/var/cache/distfiles/buildlogs/"..hostname + +function shell_escape(args) + local ret = {} + for _,a in pairs(args) do + s = tostring(a) + if s:match("[^A-Za-z0-9_/:=-]") then + s = "'"..s:gsub("'", "'\\''").."'" + end + table.insert(ret,s) + end + return table.concat(ret, " ") +end + +function run(args) + local h = io.popen(shell_escape(args)) + local outstr = h:read("*a") + return h:close(), outstr +end + function m.postbuild(aport, success, repodest, arch, logfile) + -- upload log + local loghost,logdirprefix = (logtarget or ""):match("(.*):(.*)") + if logfile and loghost and logdirprefix then + local logdir = logdirprefix.."/"..aport:get_repo_name().."/"..aport.pkgname.."/" + run{"ssh", loghost, "mkdir", "-p", logdir} + run{"scp", logfile, loghost..":"..logdir} + end + if not success then local topic = ("build/%s/errors"):format(hostname) local payload = json.encode{ |