Skip to content

Commit a0c21cf

Browse files
author
Jason Mobarak
committed
Push to docker hub, build archs separately
- Push our base image to docker hub if it changes, don't build it every time - Build archs separately since they're sometimes running into build timeouts
1 parent c584b82 commit a0c21cf

File tree

5 files changed

+42
-10
lines changed

5 files changed

+42
-10
lines changed

.travis.sh

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
#!/bin/bash
2+
3+
if [ "$TRAVIS_PULL_REQUEST" != "false" ]; then
4+
file_names=`curl "https://api.github.com/repos/$TRAVIS_REPO_SLUG/pulls/$TRAVIS_PULL_REQUEST/files" | jq '.[] | .filename' | tr '\n' ' ' | tr '"' ' '`
5+
else
6+
file_names=`(git diff --name-only $TRAVIS_COMMIT_RANGE || echo "") | tr '\n' ' '`
7+
fi
8+
9+
if echo $file_names | grep -q "Dockerfile"; then
10+
./base.bash
11+
fi
12+
13+
./build.bash --arch=$ARCH
14+
[[ $ARCH = arm ]] && ./build_example.bash

.travis.yml

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -12,18 +12,18 @@ services:
1212

1313
before_install:
1414
- pip install --user --upgrade awscli
15-
- ./base.bash
15+
- apt-get install -y jq
1616

1717
script:
18-
- ./build.bash
19-
- ./build_example.bash
18+
- ./.travis.sh
2019

2120
after_success:
22-
- tar -C output -cJf "llvm-obfuscator-arm-x86.txz" .
23-
- ./publish.sh llvm-obfuscator-arm-x86.txz
21+
- travis_wait tar -C output -cJf "llvm-obfuscator-$ARCH.txz" .
22+
- ./publish.sh llvm-obfuscator-$ARCH.txz
2423

2524
env:
2625
global:
26+
- DOCKER_USER=swiftnav
2727
# Secure keys below are encrypted with travis encrypt gem
2828
# Example encryption: travis encrypt AWS_SECRET_ACCESS_KEY=foo
2929
# See https://docs.travis-ci.com/user/encryption-keys/
@@ -33,3 +33,7 @@ env:
3333
- secure: "I025brJmSPMRp2oAvEYRB/xzqhVNYFJRoQnV8CjdV8uHYXOquHZGFyzLOCT1lRRGJ81geqa5uhWJ6e36sKd9kgk4IXW+DH5aPpOzv2B8p8dJKITIjUP7OpnIRghCsnb8JMFWqZUZ3YhmYShQY/eVByNneAyGLIYh6gsQyfqvoodf0t6ExlgNBLvJPWYfOz+dwpx+zE2HRim1+RRfdOYVMsvTmu5rrHTHn1fWqCbQCjarpvphNFTlgKU2mhxOhcSo4HR8xsYE6GbLc+ysufRLAqTOTMMPg9THiOdJqc1ZtXEvaw0StUeTEbIJlQSAV/lydRvQb1npJHFffoWy1ZdZEIjuX5ZkQkDvh/8TR6AJtGd4QUH3hEKsA5LhUrxgSZRCUMW5JyqWyiu7wC2Q9n2kpKUaDQKL6YfzKpzRa7txCf6YTIoUbzI9797UJUO6fgGgOQJzYhOUsFV23YyOsLete1bRuQkRKl3tmlv+KuoUlxxVtaO2kMWh33CHeE9z986pf1jsiMoHzk1D+tnGtL4lotFK2gQv7Ws9XlsBog0fNuh80kZ4P/hVQAM9TShesR+ebAPLckr334V8zjEdkiyz251fATYL5V7DY2iAZMA187ynz1HgZEopob0Gkz0kcrVI3JAvM8sxmXAEBDmoqysm3gAOQoFDgmjgdQtJW/1RrUE="
3434
# GITHUB_TOKEN
3535
- secure: "XnCmNEVc2qh1nvKNhEn4/yaeQNWGlAGH/7lSaKjK3LoJDeP4w1rCPs9jghpPes+9rUNEh4e3ekmKGUGIqJwRuzQPWM+zHza4WK4oXs43rd2hyfhRb2y+niLpTNc+RuiGtLobyc3IX3HaUeN6Bf9x9R49/3jxY/+lgYKhQ29Pw25CumQvQQjq6SYRyhndnrXeLQ4LWzSYEPpwYSQ5F7VEDs7FN3tX0IvfJlN+SiP+f8DHdMqoyPOBnDdEodt/erMcO7gm9inhZ6hWvGSJwi5nLd+SI2qlHFgRAFRugPe0kk2FBiBHpGYBPE7cJzKStJrQGQz7dVGgHwcgJrp5T9//HZtp2LH5iGNue+mdDeMtX5zShY+UhvXEX5/nnREHFz/9IFvz57MHqrEjjyxufOVHBnJM/5NVroKxgwUyxojSQZYxNKqzs046nVPHn5QWaseoeC1vxZ6XfxeMjv1Y/9L7OJfFgf4EFukhS/oPv/szrKBiKeBWTq36yQa2Fi+K/UNsE/IzD3RxftOSqz2Nev6fjl/t+keSFtJH/GWskmaKD+vuMkFSKeg8SXE+yZspkkFzAImCiQI5vWJhzzQK/qjoLonvrtwXObqXQU3JY7LfRZzNgNGXebWegw0DLFkAvoV8FxLCHhC+50eK5bob8UM0z7I02cibacim7iKmaP0G4W8="
36+
- secure: "hhoYAlpElWzp9zzPmofdGYk5mNn/L0SdT+x7L040MFk+8VKKtRbJId4LlRSNfIA+zxgylL56/Jnth10aR7yq9fOhoN0oXvZeIAycz4TnXsPlCFmk8h3gBTYpYhcQ0Hy/tFe4XTOjjZuLIRZZQPuR93VEL/r3iHk6RYkj6f2jy6WpwKFAia7/3ng1zDR5Ixa9T7SwIKUu6l2PIqBml7irT2x0RJxoPhh6/8ol8XqLHdRohGLksAfC5GDBp3WqmvYaBp3TkBzDhfG4lIxghBcHK0a02EYiC0EdPkpaa9IBtn5KcjPgtPwdY6Gq/Yx77fmrufxUoY1IK+nfrIlyAptzSUWssJuKzdXSPUMAtPyN3jm2L0wMgLwpcHwhzCUelDlPdvUM6GM+Jt+MK6H4QE79uQTC7lO7wtpNqnWqkFmqlhN8+/K93sjXtgqEm/aIUGp4WXGbCK5pKcq4Fd0j6LK5ytHAxP3HqobfxfQafeyDlP8c9/heQw8DHRK1Vgm/LO7uCi1i/GIadCf2OCSnT517mTUjTeg+N8q7x5tvD+pWcaijOlYeHgypoa2KveBsOZnLqOpYMYAnbk7Zq8BBJAv1dds+XFZYYGsV8fsr/TXuv4pKg3vj4MXhxsTWpvoTA7JEu1fCSqIjNcluvumpGlHRXLU/SchB/WTXwCEiAadrqcs="
37+
matrix:
38+
- ARCH=x86
39+
- ARCH=arm

Dockerfile.base renamed to Dockerfile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ FROM ubuntu:16.04
1313
RUN mkdir /work
1414
WORKDIR /work
1515

16-
RUN apt-get update \
16+
RUN apt-get update \
1717
&& apt-get install -y build-essential \
1818
bison \
1919
flex \

base.bash

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,4 +10,9 @@
1010
# EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED
1111
# WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A PARTICULAR PURPOSE.
1212

13-
docker build -f Dockerfile.base -t arm-llvm-obf:base .
13+
DOCKER_NAMETAG=swiftnav/arm-llvm-obf:4.0
14+
15+
docker build -f Dockerfile -t $DOCKER_NAMETAG .
16+
17+
docker login --username="$DOCKER_USER" --password="$DOCKER_PASS"
18+
docker push $DOCKER_NAMETAG

build.bash

Lines changed: 12 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -10,11 +10,12 @@
1010
# EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED
1111
# WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A PARTICULAR PURPOSE.
1212

13+
DOCKER_NAMETAG=swiftnav/arm-llvm-obf:4.0
14+
1315
set -x
1416
set -e
1517

1618
mkdir -p build
17-
mkdir -p "build-x86"
1819
mkdir -p output/opt
1920

2021
MAKE_PACKAGES=
@@ -26,14 +27,22 @@ while [[ $# -gt 0 ]]; do
2627
VERBOSE="-v"
2728
shift
2829
;;
30+
--arch=x86)
31+
ARCH="X86"
32+
shift
33+
;;
34+
--arch=arm)
35+
ARCH="ARM"
36+
shift
37+
;;
2938
esac
3039
done
3140

3241
CMAKE_COMMAND="\
3342
cmake -G Ninja \
3443
/work/obfuscator-llvm \
3544
-DCMAKE_INSTALL_PREFIX=/opt/llvm-obfuscator \
36-
-DLLVM_TARGETS_TO_BUILD=ARM\;X86 \
45+
-DLLVM_TARGETS_TO_BUILD=$ARCH \
3746
-DCMAKE_CXX_FLAGS='-DENDIAN_LITTLE=1' \
3847
-DCMAKE_C_COMPILER=/usr/bin/gcc \
3948
-DCMAKE_CXX_COMPILER=/bin/cpp_wrapper.py \
@@ -47,7 +56,7 @@ docker run -i -t --rm \
4756
-v $PWD/build:/work/build \
4857
-v $PWD/output/opt:/opt \
4958
-v $PWD/patches:/patches \
50-
arm-llvm-obf:base \
59+
"$DOCKER_NAMETAG" \
5160
/bin/bash -c "cd /work/obfuscator-llvm \
5261
&& $PATCH_COMMAND \
5362
&& cd /work/build \

0 commit comments

Comments
 (0)