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
44 lines
1.8 KiB
Docker
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
|