forked from libos-nuse/frankenlibc
-
Notifications
You must be signed in to change notification settings - Fork 5
/
.travis.yml
113 lines (110 loc) · 3.76 KB
/
.travis.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
language: c
cache: ccache
filter_secrets: false
git:
submodules: false
branches:
except:
- /^dev/
stages:
- test
- downstream
jobs:
include:
- stage: test
os: linux
dist: xenial
compiler: clang
env:
- ARCH=amd64
- stage: test
os: linux
dist: xenial
compiler: gcc
env:
- ARCH=amd64
- stage: test
os: osx
osx_image: xcode10.1
compiler: clang
env: DEPLOY=skip
- ARCH=amd64
before_install:
- mkdir -p ~/.local/bin
- mkdir ~/junit
- export PATH=/usr/local/opt/ccache/libexec:$HOME/.local/bin:$PATH
- HOMEBREW_NO_AUTO_UPDATE=1 brew install gnu-sed ccache e2fsprogs
- HOMEBREW_NO_AUTO_UPDATE=1 brew install binutils jq
- pip install --user yamlish junit_xml
- ln -sf /usr/local/bin/gsed ~/.local/bin/sed
- ln -sf /usr/local/bin/gdate ~/.local/bin/date
- ln -sf /usr/local/bin/gcp ~/.local/bin/cp
- ln -sf /usr/local/opt/e2fsprogs/sbin/mkfs.ext4 ~/.local/bin/
- ln -sf /usr/local/opt/binutils/bin/objcopy ~/.local/bin/objcopy
- stage: test
os: osx
osx_image: xcode10.2
compiler: clang
env:
- ARCH=amd64
before_install:
- mkdir -p ~/.local/bin
- mkdir ~/junit
- export PATH=/usr/local/opt/ccache/libexec:$HOME/.local/bin:$PATH
- HOMEBREW_NO_AUTO_UPDATE=1 brew install gnu-sed ccache e2fsprogs
- HOMEBREW_NO_AUTO_UPDATE=1 brew install binutils jq
- pip install --user yamlish junit_xml
- ln -sf /usr/local/bin/gsed ~/.local/bin/sed
- ln -sf /usr/local/bin/gdate ~/.local/bin/date
- ln -sf /usr/local/bin/gcp ~/.local/bin/cp
- ln -sf /usr/local/opt/e2fsprogs/sbin/mkfs.ext4 ~/.local/bin/
- ln -sf /usr/local/opt/binutils/bin/objcopy ~/.local/bin/objcopy
- stage: test
arch: arm64
os: linux
dist: xenial
compiler: arm-linux-gnueabihf-gcc
filter_secrets: false # https://travis-ci.community/t/arm64-required-filter-secrets-false/5403/2
env:
- ARCH=arm
before_install:
- sudo dpkg --add-architecture armhf
- sudo apt-get update || true
- sudo apt-get install libc6:armhf crossbuild-essential-armhf bc jq
- stage: test
arch: arm64
os: linux
dist: xenial
compiler: gcc
env:
- ARCH=arm64
before_install:
- sudo apt-get update || true
- sudo apt-get install bc jq
- stage: downstream
before_script:
script: bash -e ./.travis-trigger.sh ukontainer/rumprun-packages lkl-musl
os: linux
if: branch = lkl-musl-macho
before_script:
- travis_wait 30 git submodule update --init
- export -f travis_fold
script:
- sudo mkdir -p /opt/rump && sudo chown -R $USER /opt/
- for file in `find patches/ -maxdepth 1 -type f` ; do patch -p1 < $file ; done
- for file in `find patches/$TRAVIS_OS_NAME/ -maxdepth 1 -type f` ; do patch -p1 < $file ; done
- travis_fold start "build.sh"
- ./build.sh -j2 -d /opt/rump -q -k linux notest
- travis_fold end "build.sh"
- travis_fold start "tests"
- RUMPDIR=/opt/rump RUMPOBJ=`pwd`/rumpobj make -C tests run
- travis_fold end "tests"
- if [ "$TRAVIS_REPO_SLUG" == "ukontainer/frankenlibc" ] ; then bash -e ./.travis-deploy.sh $DEPLOY ; fi
- travis_fold start "build.sh_tiny"
- KCONFIG=tinyconfig ./build.sh -j2 -d /opt/rump-tiny -o rumpobj-tiny -q -k linux notest
- travis_fold end "build.sh_tiny"
- travis_fold start "tests_tiny"
- RUMPDIR=/opt/rump-tiny RUMPOBJ=`pwd`/rumpobj-tiny make -C tests run
- travis_fold end "tests_tiny"
- echo $TRAVIS_REPO_SLUG
- if [ "$TRAVIS_REPO_SLUG" == "ukontainer/frankenlibc" ] ; then DESTDIR=/opt/rump-tiny bash -e ./.travis-deploy.sh $DEPLOY ; fi