Skip to content

Commit f64d004

Browse files
committed
Adds Travis build script.
1 parent f0c7f9c commit f64d004

File tree

1 file changed

+63
-0
lines changed

1 file changed

+63
-0
lines changed

.travis.yml

Lines changed: 63 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,63 @@
1+
sudo: false
2+
language: python
3+
4+
addons:
5+
apt:
6+
packages:
7+
- coreutils
8+
- rsync
9+
10+
cache:
11+
directories:
12+
- "$HOME/gcloud/"
13+
14+
env:
15+
- PATH=$PATH:$HOME/gcloud/google-cloud-sdk/bin
16+
17+
git:
18+
submodules: false
19+
20+
before_install:
21+
- if [ ! -d $HOME/gcloud/google-cloud-sdk ]; then mkdir -p $HOME/gcloud && wget https://dl.google.com/dl/cloudsdk/release/google-cloud-sdk.tar.gz
22+
--directory-prefix=$HOME/gcloud && cd $HOME/gcloud && tar xzf google-cloud-sdk.tar.gz
23+
&& printf '\ny\n\ny\ny\n' | ./google-cloud-sdk/install.sh && cd $TRAVIS_BUILD_DIR;
24+
fi
25+
- ssh-keygen -q -f ~/.ssh/google_compute_engine -N ""
26+
- gcloud auth activate-service-account --key-file <(echo "$SERVICE_ACCOUNT" | base64 --decode)
27+
- gcloud config set project technical-tusk
28+
29+
install:
30+
- yes | gcloud compute instances delete travis-instance --zone us-central1-b || true
31+
- gcloud compute instances create travis-instance --zone us-central1-b --image ubuntu-14-04 --machine-type n1-highcpu-32 --boot-disk-size 64 --scopes compute-rw
32+
- |
33+
while [ 1 ]; do
34+
gcloud compute ssh travis-instance --zone us-central1-b --command 'exit 0' -- -o ConnectTimeout=10 > /dev/null 2>&1 && break
35+
sleep 1
36+
done
37+
- gcloud compute ssh travis-instance --zone us-central1-b --command 'at now +60 minute -f <(echo "yes | gcloud compute instances delete travis-instance --zone us-central1-b")'
38+
39+
script:
40+
- |
41+
rsync -avz -e "$(gcloud compute ssh --zone us-central1-b travis-instance --dry-run | sed s/'[^ ]*$'//)" . "$(gcloud compute ssh --zone us-central1-b travis-instance --dry-run | awk 'END {print $NF}'):~/openwrt-tessel"
42+
- |
43+
gcloud compute ssh travis-instance --zone us-central1-b --command '
44+
set -e
45+
set -x
46+
47+
sudo mkdir /tmp/ramdisk
48+
sudo chmod 777 /tmp/ramdisk
49+
sudo mount -t tmpfs -o size=14G tmpfs /tmp/ramdisk/
50+
51+
sudo apt-get update -qq
52+
sudo apt-get install -y software-properties-common
53+
sudo apt-add-repository -y ppa:terry.guo/gcc-arm-embedded
54+
sudo apt-get update -qq
55+
sudo apt-get install -y build-essential git-core g++ subversion libncurses-dev libssl-dev unzip gettext gcc-arm-none-eabi
56+
cp -rf ~/openwrt-tessel /tmp/ramdisk/openwrt-tessel
57+
cd /tmp/ramdisk/openwrt-tessel
58+
git submodule update --init --recursive
59+
make -j64 || make -j64 || make -j64 || make -j64 || make -j64 V=s
60+
'
61+
62+
#after_script:
63+
#- yes | gcloud compute instances delete travis-instance --zone us-central1-b || true

0 commit comments

Comments
 (0)