Use docker to build the Javascript wrapper

This commit is contained in:
Jorrit Wronski
2018-10-24 09:01:43 +02:00
committed by Ian Bell
parent db6ad8d435
commit e00a31f1ef
2 changed files with 8 additions and 8 deletions

View File

@@ -607,20 +607,14 @@ def fortranFactory(buildID=None):
def javascript_slave(platform, cmake_args = [], cmake_env = {}, build_args = []):
working_folder = "build/Javascript"
from buildbot.process.properties import WithProperties
# Create the factory to add the actions to
factory = getBaseFactory()
# Remove the temporary folder for installs
factory.addStep(RemoveDirectory(dir="build/install_root", haltOnFailure = False))
factory.addStep(ShellCommand(command="cmake .. -DCOOLPROP_JAVASCRIPT_MODULE=ON -DCMAKE_TOOLCHAIN_FILE=${EMSCRIPTEN}/cmake/Modules/Platform/Emscripten.cmake",
factory.addStep(ShellCommand(command="docker run --rm -v $(pwd):/src:z trzeci/emscripten bash /src/wrappers/Javascript/docker_build.sh",
workdir= working_folder,
haltOnFailure = True))
factory.addStep(ShellCommand(command=["cmake", "--build", ".", "--target", "install"]+build_args, workdir = working_folder, haltOnFailure = True))
factory.addStep(DirectoryUpload(slavesrc="install_root", masterdest=master_loc_rel, url="binaries", compress="bz2"))
fixPermissions(factory)
return factory
@@ -1056,7 +1050,7 @@ c['builders'].append(
c['builders'].append(
BuilderConfig(name="Javascript-linux",
slavenames=["linux-slave"],
slavenames=["LIN-IPU-worker"],
factory = javascript_slave(platform = 'linux')
)
)

View File

@@ -0,0 +1,6 @@
#!/bin/bash
mkdir -p /src/Javascript
cd /src/Javascript
cmake .. -DCOOLPROP_JAVASCRIPT_MODULE=ON -DCMAKE_TOOLCHAIN_FILE=${EMSCRIPTEN}/cmake/Modules/Platform/Emscripten.cmake
cmake --build . --target install
exit 0