emsdk install tot-upstream will install the very latest build from emscripten-releases. These builds are useful for emscripten github CI. There isn't a latest or lkgr for emscripten-releases currently. What this does instead is get the git repo, and check if builds exist for the latest commits there, returning the latest of those. This also makes us not update the emscripten-version.txt file if we are not an actual version. That is, for a tot build we leave that file unchanged in the emscripten checkout. There is also a tot-fastcomp for fastcomp.
54 lines
2.2 KiB
Docker
54 lines
2.2 KiB
Docker
# For travis
|
|
FROM buildpack-deps:xenial
|
|
SHELL ["/bin/bash", "-c"]
|
|
ENV DEBIAN_FRONTEND=noninteractive LANG=C.UTF-8
|
|
RUN mkdir -p /root/emsdk/
|
|
COPY . /root/emsdk/
|
|
|
|
RUN cd /root/ \
|
|
&& echo "int main() {}" > hello_world.cpp \
|
|
&& apt-get update \
|
|
&& apt-get install -y python python3 cmake build-essential openjdk-9-jre-headless \
|
|
&& /root/emsdk/emsdk update-tags \
|
|
&& echo "test latest" \
|
|
&& /root/emsdk/emsdk install latest \
|
|
&& /root/emsdk/emsdk activate latest \
|
|
&& source /root/emsdk/emsdk_env.sh --build=Release \
|
|
&& emcc hello_world.cpp \
|
|
&& echo "test upstream (waterfall)" \
|
|
&& /root/emsdk/emsdk install latest-upstream \
|
|
&& /root/emsdk/emsdk activate latest-upstream \
|
|
&& source /root/emsdk/emsdk_env.sh --build=Release \
|
|
&& emcc hello_world.cpp \
|
|
&& python -c "import os ; assert open(os.path.expanduser('~/.emscripten')).read().count('LLVM_ROOT') == 1" \
|
|
&& python -c "import os ; assert 'upstream' in open(os.path.expanduser('~/.emscripten')).read()" \
|
|
&& echo "test fastcomp (waterfall)" \
|
|
&& /root/emsdk/emsdk install latest-fastcomp \
|
|
&& /root/emsdk/emsdk activate latest-fastcomp \
|
|
&& source /root/emsdk/emsdk_env.sh --build=Release \
|
|
&& emcc hello_world.cpp \
|
|
&& emcc hello_world.cpp -s WASM=0 \
|
|
&& emcc --clear-cache \
|
|
&& echo "test latest-releases-upstream" \
|
|
&& python2 /root/emsdk/emsdk install latest-releases-upstream \
|
|
&& /root/emsdk/emsdk activate latest-releases-upstream \
|
|
&& source /root/emsdk/emsdk_env.sh --build=Release \
|
|
&& emcc hello_world.cpp \
|
|
&& echo "test latest-releases-fastcomp" \
|
|
&& python3 /root/emsdk/emsdk install latest-releases-fastcomp \
|
|
&& /root/emsdk/emsdk activate latest-releases-fastcomp \
|
|
&& source /root/emsdk/emsdk_env.sh --build=Release \
|
|
&& emcc hello_world.cpp \
|
|
&& echo "test tot-upstream" \
|
|
&& /root/emsdk/emsdk install tot-upstream \
|
|
&& /root/emsdk/emsdk activate tot-upstream \
|
|
&& source /root/emsdk/emsdk_env.sh --build=Release \
|
|
&& emcc hello_world.cpp \
|
|
&& echo "test tot-fastcomp" \
|
|
&& /root/emsdk/emsdk install tot-fastcomp \
|
|
&& /root/emsdk/emsdk activate tot-fastcomp \
|
|
&& source /root/emsdk/emsdk_env.sh --build=Release \
|
|
&& emcc hello_world.cpp \
|
|
&& echo "test binaryen source build" \
|
|
&& /root/emsdk/emsdk install --build=Release binaryen-master-64bit
|