Files
ci-emsdk/Dockerfile
Alon Zakai e2434062a8 Prepare for emscripten-releases (#237)
Updated to our current initial plan here:

* Add emscripten-releases-tags.txt which is a JSON file with a map of tag name to git hash in the emscripten-releases repo. Right now this file is just checked in here; in the future we may make the emsdk update it from git tags with update-tags etc.
* That file contains a "latest" tag, which is fetched for when getting latest-releases-[upstream|fastcomp]. We may want that to eventually be updated based on the latest green stuff on the bots perhaps.
* Rename the current sdk-[upstream|fastcomp]-* etc. to sdk-waterfall-[upstream\|fastcomp]-*. Then we'll have sdk-releases-[upstream|fastcomp]-* etc. This is just an internal name change - emsdk install latest-upstream still works as before, and still uses the waterfall (so we don't break our github CI).
* Add support for emsdk install latest-releases-[upstream\|fastcomp]
* Add a test using the actual emscripten-releases builds
2019-05-22 17:23:04 -07:00

44 lines
1.8 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 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" \
&& /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" \
&& /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 binaryen source build" \
&& /root/emsdk/emsdk install --build=Release binaryen-master-64bit