diff options
Diffstat (limited to 'main/aports-build/report-build-errors.lua')
-rw-r--r-- | main/aports-build/report-build-errors.lua | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/main/aports-build/report-build-errors.lua b/main/aports-build/report-build-errors.lua new file mode 100644 index 0000000000..ee26b00979 --- /dev/null +++ b/main/aports-build/report-build-errors.lua @@ -0,0 +1,29 @@ +local publish = require("mqtt.publish") +local json = require("cjson") + +local hostname +local f = io.open("/proc/sys/kernel/hostname") +hostname = f:read() +f:close() + +local urlprefix=("http://build.alpinelinux.org/buildlogs/%s"):format(hostname) + +local m = {} + +function m.postbuild(aport, success, repodest, arch, logfile) + if not success then + local topic = ("build/%s/errors"):format(hostname) + local payload = json.encode{ + pkgname = aport.pkgname, + logurl = ("%s/%s/%s-%s-r%s.log"):format( + urlprefix, + (string.match(aport.dir,"[^/]+/[^/]+$")), + aport.pkgname, aport.pkgver, aport.pkgrel), + status = success + } + publish.single(topic, payload, nil, nil, "msg.alpinelinux.org") + end +end + +return m + |