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
----- | ----- | ----- | ----- | -----
![success](success.png) | 54 | 37 | 73 | 67
![fail](fail.png) | 29 | 47 | 11 | 17
![unknown](unknown.png) | 1 | 0 | 0 | 0
total | 84 | 84 | 84 | 84
| | archlinux | fedora | trusty | xenial |
| ----- | ----- | ----- | ----- | ----- |
| ![success](success.png) | 50 | 40 | 68 | 67 |
| ![fail](fail.png) | 33 | 44 | 16 | 17 |
| ![unknown](unknown.png) | 1 | 0 | 0 | 0 |
| total | 84 | 84 | 84 | 84 |
| archlinux | fedora | trusty | xenial
----- | ----- | ----- | ----- | -----
afl | ![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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
gdb | ![success](success.png) | ![success](success.png) | ![success](success.png) | ![success](success.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)
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)
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)
honggfuzz | ![success](success.png) | ![fail](fail.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)
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)
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)
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)
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)
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)
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)
pwndbg | ![success](success.png) | ![fail](fail.png) | ![success](success.png) | ![success](success.png)
pwntools | ![success](success.png) | ![fail](fail.png) | ![success](success.png) | ![fail](fail.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)
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)
qira | ![fail](fail.png) | ![fail](fail.png) | ![success](success.png) | ![fail](fail.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)
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)
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)
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)
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)
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)
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)
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)
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)
tor-browser | ![success](success.png) | ![fail](fail.png) | ![success](success.png) | ![success](success.png)
unicorn | ![success](success.png) | ![success](success.png) | ![success](success.png) | ![success](success.png)
veles | ![success](success.png) | ![fail](fail.png) | ![fail](fail.png) | ![success](success.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)
wcc | ![fail](fail.png) | ![fail](fail.png) | ![fail](fail.png) | ![fail](fail.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)
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)
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)
| | archlinux | fedora | trusty | xenial |
| ----- | ----- | ----- | ----- | ----- |
| 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) |
| 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) |
| 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) |
| 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) |
| 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) |
| 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) |
| 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) |
| 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) |
| 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) |
| 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) |
| 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) |
| 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) |
| foresight | ![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) |
| 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) |
| 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-partialhash | ![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) |
| 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) |
| 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) |
| 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) |
| 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) |
| 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) |
| 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) |
| preeny | ![fail](fail.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) | ![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) |
| 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) |
| 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) |
| 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) |
| 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) |
| 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) |
| 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) |
| 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) |
| 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) |
| 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) |
| 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) |
| testdisk | ![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) | ![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) |
| virtualsocket | ![success](success.png) | ![success](success.png) | ![success](success.png) | ![success](success.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) |
| 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) |
| 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) |
| 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
(
@ -9,15 +9,3 @@ do
travis logs --skip-completion-check --no-interactive "$i" | grep '^\[ACCOUNTING\]=====\[' | cut -d' ' -f2-5
done
) > $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 = []
fulltable.append("| " + " | ".join([""] + distros) + " |")
fulltable.append("| " + " | ".join(["-----"] * len(distros)) + " |")
fulltable.append("| " + " | ".join(["-----"] * (len(distros) + 1)) + " |")
summary = {}
for tool in tools:
@ -37,7 +37,7 @@ if __name__ == "__main__":
[tool] + ["![{0}]({0}.png)".format(x) for x in parts]) + " |")
summarytable.append("| " + " | ".join([""] + distros) + " |")
summarytable.append("| " + " | ".join(["-----"] * len(distros)) + " |")
summarytable.append("| " + " | ".join(["-----"] * (len(distros) + 1)) + " |")
for x in ["success", "fail", "unknown"]:
summarytable.append("| " + " | ".join(["![{0}]({0}.png)".format(