travis buildstatus: switched to makefile for running things

This commit is contained in:
Michael Rodler 2017-09-27 12:37:31 +00:00 committed by Yan
parent 407952f696
commit b3e09e7400
7 changed files with 138 additions and 125 deletions

1
_buildstatus/.gitignore vendored Normal file
View file

@ -0,0 +1 @@
logs/

View file

@ -1,93 +1,93 @@
| archlinux | fedora | trusty | xenial | | archlinux | fedora | trusty | xenial |
----- | ----- | ----- | ----- | ----- | ----- | ----- | ----- | ----- | ----- |
![success](success.png) | 54 | 37 | 73 | 67 | ![success](success.png) | 50 | 40 | 68 | 67 |
![fail](fail.png) | 29 | 47 | 11 | 17 | ![fail](fail.png) | 33 | 44 | 16 | 17 |
![unknown](unknown.png) | 1 | 0 | 0 | 0 | ![unknown](unknown.png) | 1 | 0 | 0 | 0 |
total | 84 | 84 | 84 | 84 | total | 84 | 84 | 84 | 84 |
| archlinux | fedora | trusty | xenial | | archlinux | fedora | trusty | xenial |
----- | ----- | ----- | ----- | ----- | ----- | ----- | ----- | ----- | ----- |
afl | ![success](success.png) | ![fail](fail.png) | ![success](success.png) | ![success](success.png) | afl | ![fail](fail.png) | ![fail](fail.png) | ![fail](fail.png) | ![fail](fail.png) |
android-sdk | ![success](success.png) | ![fail](fail.png) | ![success](success.png) | ![success](success.png) | android-sdk | ![success](success.png) | ![fail](fail.png) | ![success](success.png) | ![success](success.png) |
angr | ![fail](fail.png) | ![fail](fail.png) | ![fail](fail.png) | ![success](success.png) | angr | ![fail](fail.png) | ![fail](fail.png) | ![fail](fail.png) | ![fail](fail.png) |
apktool | ![success](success.png) | ![success](success.png) | ![success](success.png) | ![success](success.png) | apktool | ![success](success.png) | ![success](success.png) | ![success](success.png) | ![success](success.png) |
barf | ![fail](fail.png) | ![fail](fail.png) | ![success](success.png) | ![success](success.png) | barf | ![fail](fail.png) | ![fail](fail.png) | ![success](success.png) | ![success](success.png) |
beef | ![fail](fail.png) | ![fail](fail.png) | ![fail](fail.png) | ![fail](fail.png) | beef | ![fail](fail.png) | ![fail](fail.png) | ![fail](fail.png) | ![fail](fail.png) |
bindead | ![fail](fail.png) | ![fail](fail.png) | ![success](success.png) | ![fail](fail.png) | bindead | ![fail](fail.png) | ![fail](fail.png) | ![success](success.png) | ![fail](fail.png) |
binwalk | ![success](success.png) | ![success](success.png) | ![success](success.png) | ![success](success.png) | binwalk | ![success](success.png) | ![success](success.png) | ![success](success.png) | ![success](success.png) |
burpsuite | ![success](success.png) | ![success](success.png) | ![success](success.png) | ![success](success.png) | burpsuite | ![success](success.png) | ![success](success.png) | ![success](success.png) | ![success](success.png) |
capstone | ![fail](fail.png) | ![success](success.png) | ![success](success.png) | ![success](success.png) | capstone | ![fail](fail.png) | ![success](success.png) | ![success](success.png) | ![success](success.png) |
checksec | ![success](success.png) | ![success](success.png) | ![success](success.png) | ![success](success.png) | checksec | ![success](success.png) | ![success](success.png) | ![success](success.png) | ![success](success.png) |
codereason | ![fail](fail.png) | ![fail](fail.png) | ![success](success.png) | ![success](success.png) | codereason | ![fail](fail.png) | ![fail](fail.png) | ![success](success.png) | ![success](success.png) |
commix | ![success](success.png) | ![success](success.png) | ![success](success.png) | ![success](success.png) | commix | ![success](success.png) | ![success](success.png) | ![success](success.png) | ![success](success.png) |
cribdrag | ![success](success.png) | ![success](success.png) | ![success](success.png) | ![success](success.png) | cribdrag | ![success](success.png) | ![success](success.png) | ![success](success.png) | ![success](success.png) |
df | ![success](success.png) | ![fail](fail.png) | ![success](success.png) | ![success](success.png) | df | ![success](success.png) | ![fail](fail.png) | ![success](success.png) | ![success](success.png) |
dirb | ![success](success.png) | ![fail](fail.png) | ![success](success.png) | ![success](success.png) | dirb | ![success](success.png) | ![fail](fail.png) | ![success](success.png) | ![success](success.png) |
dirsearch | ![success](success.png) | ![success](success.png) | ![success](success.png) | ![success](success.png) | dirsearch | ![success](success.png) | ![success](success.png) | ![success](success.png) | ![success](success.png) |
dislocker | ![fail](fail.png) | ![fail](fail.png) | ![success](success.png) | ![success](success.png) | dislocker | ![fail](fail.png) | ![fail](fail.png) | ![success](success.png) | ![success](success.png) |
elfkickers | ![success](success.png) | ![success](success.png) | ![success](success.png) | ![success](success.png) | elfkickers | ![success](success.png) | ![success](success.png) | ![success](success.png) | ![success](success.png) |
elfparser | ![fail](fail.png) | ![fail](fail.png) | ![success](success.png) | ![success](success.png) | elfparser | ![fail](fail.png) | ![fail](fail.png) | ![success](success.png) | ![success](success.png) |
evilize | ![success](success.png) | ![success](success.png) | ![success](success.png) | ![success](success.png) | evilize | ![success](success.png) | ![success](success.png) | ![success](success.png) | ![success](success.png) |
exetractor | ![success](success.png) | ![success](success.png) | ![success](success.png) | ![success](success.png) | exetractor | ![success](success.png) | ![success](success.png) | ![success](success.png) | ![success](success.png) |
featherduster | ![success](success.png) | ![fail](fail.png) | ![success](success.png) | ![success](success.png) | featherduster | ![success](success.png) | ![fail](fail.png) | ![success](success.png) | ![success](success.png) |
firmware-mod-kit | ![success](success.png) | ![fail](fail.png) | ![success](success.png) | ![success](success.png) | firmware-mod-kit | ![success](success.png) | ![fail](fail.png) | ![success](success.png) | ![success](success.png) |
foresight | ![success](success.png) | ![success](success.png) | ![success](success.png) | ![success](success.png) | foresight | ![success](success.png) | ![success](success.png) | ![success](success.png) | ![success](success.png) |
gdb | ![success](success.png) | ![success](success.png) | ![success](success.png) | ![success](success.png) | gdb | ![fail](fail.png) | ![fail](fail.png) | ![success](success.png) | ![success](success.png) |
gdb-heap | ![fail](fail.png) | ![fail](fail.png) | ![fail](fail.png) | ![fail](fail.png) | gdb-heap | ![fail](fail.png) | ![fail](fail.png) | ![fail](fail.png) | ![fail](fail.png) |
gef | ![success](success.png) | ![success](success.png) | ![success](success.png) | ![success](success.png) | gef | ![success](success.png) | ![success](success.png) | ![success](success.png) | ![success](success.png) |
hash-identifier | ![fail](fail.png) | ![fail](fail.png) | ![success](success.png) | ![success](success.png) | hash-identifier | ![fail](fail.png) | ![fail](fail.png) | ![success](success.png) | ![success](success.png) |
hashkill | ![fail](fail.png) | ![fail](fail.png) | ![success](success.png) | ![fail](fail.png) | hashkill | ![fail](fail.png) | ![fail](fail.png) | ![success](success.png) | ![fail](fail.png) |
hashpump | ![success](success.png) | ![fail](fail.png) | ![success](success.png) | ![success](success.png) | hashpump | ![success](success.png) | ![fail](fail.png) | ![success](success.png) | ![success](success.png) |
hashpump-partialhash | ![success](success.png) | ![fail](fail.png) | ![success](success.png) | ![success](success.png) | hashpump-partialhash | ![success](success.png) | ![fail](fail.png) | ![success](success.png) | ![success](success.png) |
honggfuzz | ![success](success.png) | ![fail](fail.png) | ![success](success.png) | ![success](success.png) | honggfuzz | ![success](success.png) | ![fail](fail.png) | ![fail](fail.png) | ![success](success.png) |
jdgui | ![success](success.png) | ![success](success.png) | ![success](success.png) | ![success](success.png) | jdgui | ![success](success.png) | ![success](success.png) | ![success](success.png) | ![success](success.png) |
keystone | ![success](success.png) | ![fail](fail.png) | ![success](success.png) | ![success](success.png) | keystone | ![fail](fail.png) | ![fail](fail.png) | ![fail](fail.png) | ![fail](fail.png) |
libheap | ![success](success.png) | ![success](success.png) | ![success](success.png) | ![success](success.png) | libheap | ![success](success.png) | ![success](success.png) | ![success](success.png) | ![success](success.png) |
littleblackbox | ![fail](fail.png) | ![fail](fail.png) | ![success](success.png) | ![success](success.png) | littleblackbox | ![fail](fail.png) | ![fail](fail.png) | ![success](success.png) | ![success](success.png) |
mitmproxy | ![fail](fail.png) | ![fail](fail.png) | ![success](success.png) | ![success](success.png) | mitmproxy | ![fail](fail.png) | ![fail](fail.png) | ![success](success.png) | ![success](success.png) |
msieve | ![success](success.png) | ![fail](fail.png) | ![success](success.png) | ![success](success.png) | msieve | ![success](success.png) | ![fail](fail.png) | ![success](success.png) | ![success](success.png) |
panda | ![fail](fail.png) | ![fail](fail.png) | ![fail](fail.png) | ![fail](fail.png) | panda | ![fail](fail.png) | ![fail](fail.png) | ![fail](fail.png) | ![fail](fail.png) |
pathgrind | ![fail](fail.png) | ![fail](fail.png) | ![fail](fail.png) | ![fail](fail.png) | pathgrind | ![fail](fail.png) | ![fail](fail.png) | ![fail](fail.png) | ![fail](fail.png) |
pdf-parser | ![success](success.png) | ![success](success.png) | ![success](success.png) | ![success](success.png) | pdf-parser | ![success](success.png) | ![success](success.png) | ![success](success.png) | ![success](success.png) |
peda | ![success](success.png) | ![success](success.png) | ![success](success.png) | ![success](success.png) | peda | ![success](success.png) | ![success](success.png) | ![success](success.png) | ![success](success.png) |
peepdf | ![success](success.png) | ![success](success.png) | ![success](success.png) | ![success](success.png) | peepdf | ![success](success.png) | ![success](success.png) | ![success](success.png) | ![success](success.png) |
pemcrack | ![success](success.png) | ![fail](fail.png) | ![success](success.png) | ![success](success.png) | pemcrack | ![success](success.png) | ![fail](fail.png) | ![success](success.png) | ![success](success.png) |
pkcrack | ![success](success.png) | ![success](success.png) | ![success](success.png) | ![success](success.png) | pkcrack | ![success](success.png) | ![success](success.png) | ![success](success.png) | ![success](success.png) |
preeny | ![fail](fail.png) | ![fail](fail.png) | ![success](success.png) | ![success](success.png) | preeny | ![fail](fail.png) | ![fail](fail.png) | ![success](success.png) | ![success](success.png) |
pwndbg | ![success](success.png) | ![fail](fail.png) | ![success](success.png) | ![success](success.png) | pwndbg | ![success](success.png) | ![success](success.png) | ![fail](fail.png) | ![success](success.png) |
pwntools | ![success](success.png) | ![fail](fail.png) | ![success](success.png) | ![fail](fail.png) | pwntools | ![success](success.png) | ![success](success.png) | ![success](success.png) | ![success](success.png) |
python-paddingoracle | ![success](success.png) | ![success](success.png) | ![success](success.png) | ![success](success.png) | python-paddingoracle | ![success](success.png) | ![success](success.png) | ![success](success.png) | ![success](success.png) |
python-pin | ![fail](fail.png) | ![fail](fail.png) | ![success](success.png) | ![fail](fail.png) | python-pin | ![fail](fail.png) | ![fail](fail.png) | ![success](success.png) | ![fail](fail.png) |
pyvmmonitor | ![success](success.png) | ![success](success.png) | ![success](success.png) | ![success](success.png) | pyvmmonitor | ![success](success.png) | ![success](success.png) | ![success](success.png) | ![success](success.png) |
qemu | ![unknown](unknown.png) | ![fail](fail.png) | ![success](success.png) | ![success](success.png) | qemu | ![unknown](unknown.png) | ![fail](fail.png) | ![success](success.png) | ![success](success.png) |
qira | ![fail](fail.png) | ![fail](fail.png) | ![success](success.png) | ![fail](fail.png) | qira | ![fail](fail.png) | ![fail](fail.png) | ![fail](fail.png) | ![fail](fail.png) |
radare2 | ![success](success.png) | ![success](success.png) | ![success](success.png) | ![success](success.png) | radare2 | ![success](success.png) | ![success](success.png) | ![success](success.png) | ![success](success.png) |
reveng | ![fail](fail.png) | ![fail](fail.png) | ![fail](fail.png) | ![fail](fail.png) | reveng | ![success](success.png) | ![success](success.png) | ![success](success.png) | ![success](success.png) |
ropper | ![fail](fail.png) | ![success](success.png) | ![success](success.png) | ![success](success.png) | ropper | ![fail](fail.png) | ![success](success.png) | ![success](success.png) | ![success](success.png) |
rp++ | ![success](success.png) | ![success](success.png) | ![success](success.png) | ![success](success.png) | rp++ | ![success](success.png) | ![success](success.png) | ![success](success.png) | ![success](success.png) |
scrdec18 | ![success](success.png) | ![success](success.png) | ![success](success.png) | ![success](success.png) | scrdec18 | ![success](success.png) | ![success](success.png) | ![success](success.png) | ![success](success.png) |
shellnoob | ![success](success.png) | ![success](success.png) | ![success](success.png) | ![success](success.png) | shellnoob | ![success](success.png) | ![success](success.png) | ![success](success.png) | ![success](success.png) |
shellsploit | ![fail](fail.png) | ![success](success.png) | ![success](success.png) | ![success](success.png) | shellsploit | ![fail](fail.png) | ![success](success.png) | ![success](success.png) | ![success](success.png) |
snowman | ![fail](fail.png) | ![fail](fail.png) | ![success](success.png) | ![success](success.png) | snowman | ![fail](fail.png) | ![fail](fail.png) | ![success](success.png) | ![success](success.png) |
sonic-visualizer | ![fail](fail.png) | ![fail](fail.png) | ![fail](fail.png) | ![fail](fail.png) | sonic-visualizer | ![fail](fail.png) | ![fail](fail.png) | ![fail](fail.png) | ![fail](fail.png) |
sqlmap | ![success](success.png) | ![fail](fail.png) | ![success](success.png) | ![success](success.png) | sqlmap | ![success](success.png) | ![fail](fail.png) | ![success](success.png) | ![success](success.png) |
ssh_decoder | ![success](success.png) | ![success](success.png) | ![success](success.png) | ![success](success.png) | ssh_decoder | ![success](success.png) | ![success](success.png) | ![success](success.png) | ![success](success.png) |
sslsplit | ![success](success.png) | ![fail](fail.png) | ![success](success.png) | ![success](success.png) | sslsplit | ![fail](fail.png) | ![fail](fail.png) | ![success](success.png) | ![success](success.png) |
steganabara | ![success](success.png) | ![success](success.png) | ![success](success.png) | ![success](success.png) | steganabara | ![success](success.png) | ![success](success.png) | ![success](success.png) | ![success](success.png) |
stegdetect | ![fail](fail.png) | ![fail](fail.png) | ![success](success.png) | ![fail](fail.png) | stegdetect | ![fail](fail.png) | ![fail](fail.png) | ![success](success.png) | ![fail](fail.png) |
stegsolve | ![success](success.png) | ![success](success.png) | ![success](success.png) | ![success](success.png) | stegsolve | ![success](success.png) | ![success](success.png) | ![success](success.png) | ![success](success.png) |
subbrute | ![success](success.png) | ![success](success.png) | ![success](success.png) | ![success](success.png) | subbrute | ![success](success.png) | ![success](success.png) | ![success](success.png) | ![success](success.png) |
taintgrind | ![fail](fail.png) | ![fail](fail.png) | ![fail](fail.png) | ![fail](fail.png) | taintgrind | ![fail](fail.png) | ![fail](fail.png) | ![fail](fail.png) | ![fail](fail.png) |
testdisk | ![success](success.png) | ![fail](fail.png) | ![success](success.png) | ![success](success.png) | testdisk | ![success](success.png) | ![fail](fail.png) | ![success](success.png) | ![success](success.png) |
tor-browser | ![success](success.png) | ![fail](fail.png) | ![success](success.png) | ![success](success.png) | tor-browser | ![fail](fail.png) | ![fail](fail.png) | ![fail](fail.png) | ![fail](fail.png) |
unicorn | ![success](success.png) | ![success](success.png) | ![success](success.png) | ![success](success.png) | unicorn | ![success](success.png) | ![success](success.png) | ![fail](fail.png) | ![success](success.png) |
veles | ![success](success.png) | ![fail](fail.png) | ![fail](fail.png) | ![success](success.png) | veles | ![fail](fail.png) | ![fail](fail.png) | ![fail](fail.png) | ![success](success.png) |
villoc | ![fail](fail.png) | ![fail](fail.png) | ![success](success.png) | ![fail](fail.png) | villoc | ![fail](fail.png) | ![fail](fail.png) | ![success](success.png) | ![fail](fail.png) |
virtualsocket | ![success](success.png) | ![success](success.png) | ![success](success.png) | ![success](success.png) | virtualsocket | ![success](success.png) | ![success](success.png) | ![success](success.png) | ![success](success.png) |
wcc | ![fail](fail.png) | ![fail](fail.png) | ![fail](fail.png) | ![fail](fail.png) | wcc | ![success](success.png) | ![success](success.png) | ![fail](fail.png) | ![success](success.png) |
xortool | ![success](success.png) | ![success](success.png) | ![success](success.png) | ![success](success.png) | xortool | ![success](success.png) | ![success](success.png) | ![success](success.png) | ![success](success.png) |
xrop | ![success](success.png) | ![fail](fail.png) | ![fail](fail.png) | ![fail](fail.png) | xrop | ![success](success.png) | ![fail](fail.png) | ![success](success.png) | ![success](success.png) |
xspy | ![fail](fail.png) | ![fail](fail.png) | ![success](success.png) | ![success](success.png) | xspy | ![fail](fail.png) | ![fail](fail.png) | ![success](success.png) | ![success](success.png) |
yafu | ![success](success.png) | ![success](success.png) | ![success](success.png) | ![success](success.png) | yafu | ![success](success.png) | ![success](success.png) | ![success](success.png) | ![success](success.png) |
z3 | ![fail](fail.png) | ![success](success.png) | ![success](success.png) | ![success](success.png) | z3 | ![fail](fail.png) | ![success](success.png) | ![success](success.png) | ![success](success.png) |
zsteg | ![success](success.png) | ![fail](fail.png) | ![success](success.png) | ![fail](fail.png) | zsteg | ![success](success.png) | ![fail](fail.png) | ![success](success.png) | ![fail](fail.png) |

View file

@ -0,0 +1,31 @@
#!/bin/bash
DOCKERIMAGE=ctf-tools-travisbuildcheck
GITDIR=`git rev-parse --show-toplevel`
all: image logs stats
image:
docker build -t $(DOCKERIMAGE) .
logs:
docker run --rm -it \
-v $(GITDIR):/gitdata:rw,z \
-v $(GITDIR)/_buildstatus/logs/:/logs/:rw,z \
$(DOCKERIMAGE) \
/gitdata/bin/travis-ci-status/fetch_latest_timingdata.inside-docker.sh
stats:
docker run --rm -it \
-v $(GITDIR):/gitdata:rw,z \
-v $(GITDIR)/_buildstatus/logs/:/logs/:rw,z \
$(DOCKERIMAGE) \
bash -c \
"/gitdata/bin/travis-ci-status/make_build_status_md.py /logs/travis.log > /gitdata/_buildstatus/index.md"
travisyml:
docker run --rm -it \
-v $(GITDIR):/gitdata:rw,z \
-v $(GITDIR)/_buildstatus/logs/:/logs/:rw,z \
$(DOCKERIMAGE) \
/gitdata/bin/travis-ci-status/gen_travis_yml.sh

View file

@ -1,6 +1,6 @@
#!/bin/bash #!/bin/bash -ex
tmpfile=$(mktemp) tmpfile=/logs/travis.log
# Fetch data # Fetch data
( (
@ -9,15 +9,3 @@ do
travis logs --skip-completion-check --no-interactive "$i" | grep '^\[ACCOUNTING\]=====\[' | cut -d' ' -f2-5 travis logs --skip-completion-check --no-interactive "$i" | grep '^\[ACCOUNTING\]=====\[' | cut -d' ' -f2-5
done done
) > $tmpfile ) > $tmpfile
# generate travis-ci data
(
cat /gitdata/.travis.yml.header
/gitdata/bin/travis-ci-status/make_binpacked_travis_ci_conf.py $tmpfile
cat /gitdata/.travis.yml.footer
) > /gitdata/.travis.yml
# generate build status data
/gitdata/bin/travis-ci-status/make_build_status_md.py $tmpfile > /gitdata/_buildstatus/index.md
rm -f $tmpfile

View file

@ -1,17 +0,0 @@
#!/bin/bash
dockerimage=ctf-tools-travisbuildcheck
gitdir=$(git rev-parse --show-toplevel)
if ! docker history $dockerimage &> /dev/null;
then
echo "Docker image \"$dockerimage\" does not exist. Run"
echo
echo " docker build -t $dockerimage ."
echo
echo "first, then retry this command."
exit 1
fi
docker run --rm -v $gitdir:/gitdata -ti $dockerimage /gitdata/bin/travis-ci-status/fetch_latest_timingdata.inside-docker.sh

View file

@ -0,0 +1,10 @@
#!/bin/bash -e
tmpfile=/logs/travis.log
# generate travis-ci data
(
cat /gitdata/.travis.yml.header
/gitdata/bin/travis-ci-status/make_binpacked_travis_ci_conf.py $tmpfile
cat /gitdata/.travis.yml.footer
) > /gitdata/.travis.yml

View file

@ -13,7 +13,7 @@ if __name__ == "__main__":
summarytable = [] summarytable = []
fulltable.append("| " + " | ".join([""] + distros) + " |") fulltable.append("| " + " | ".join([""] + distros) + " |")
fulltable.append("| " + " | ".join(["-----"] * len(distros)) + " |") fulltable.append("| " + " | ".join(["-----"] * (len(distros) + 1)) + " |")
summary = {} summary = {}
for tool in tools: for tool in tools:
@ -37,7 +37,7 @@ if __name__ == "__main__":
[tool] + ["![{0}]({0}.png)".format(x) for x in parts]) + " |") [tool] + ["![{0}]({0}.png)".format(x) for x in parts]) + " |")
summarytable.append("| " + " | ".join([""] + distros) + " |") summarytable.append("| " + " | ".join([""] + distros) + " |")
summarytable.append("| " + " | ".join(["-----"] * len(distros)) + " |") summarytable.append("| " + " | ".join(["-----"] * (len(distros) + 1)) + " |")
for x in ["success", "fail", "unknown"]: for x in ["success", "fail", "unknown"]:
summarytable.append("| " + " | ".join(["![{0}]({0}.png)".format( summarytable.append("| " + " | ".join(["![{0}]({0}.png)".format(