variables: IMAGE: ubuntu:with-hermitcore GIT_SUBMODULE_STRATEGY: normal stages: - prepare - build - test # Stage: prepare ############################################################################## docker: stage: prepare script: - docker build -t ${IMAGE} . tags: - shell - linux # Stage: build ############################################################################## build: stage: build script: - mkdir -p build - cd build - cmake -DTOOLCHAIN_BIN_DIR=/opt/hermit/bin -DCMAKE_INSTALL_PREFIX=/opt/hermit .. - make image: ${IMAGE} tags: - docker artifacts: untracked: true expire_in: 1 week paths: - ./build # Stage: test ############################################################################## test: stage: test script: - lscpu - cd build - export TDIR=./local_prefix/opt/hermit/x86_64-hermit/extra - export FILES="$TDIR/tests/hello $TDIR/tests/hellof $TDIR/tests/hello++ $TDIR/tests/thr_hello $TDIR/tests/pi $TDIR/benchmarks/stream $TDIR/benchmarks/basic $TDIR/tests/signals $TDIR/tests/test-malloc $TDIR/tests/test-malloc-mt $TDIR/tests/argv_envp" - export PROXY=./local_prefix/opt/hermit/bin/proxy - for f in $FILES; do echo "check $f..."; HERMIT_ISLE=qemu HERMIT_CPUS=1 HERMIT_KVM=0 HERMIT_VERBOSE=1 timeout --kill-after=5m 5m $PROXY $f || exit 1; done - for f in $FILES; do echo "check $f..."; HERMIT_ISLE=qemu HERMIT_CPUS=2 HERMIT_KVM=0 HERMIT_VERBOSE=1 timeout --kill-after=5m 5m $PROXY $f || exit 1; done - HERMIT_ISLE=qemu HERMIT_CPUS=1 HERMIT_KVM=0 HERMIT_VERBOSE=1 HERMIT_APP_PORT=8000 $PROXY $TDIR/tests/server & - sleep 10 - curl http://127.0.0.1:8000/help - sleep 1 - curl http://127.0.0.1:8000/hello - sleep 1 - kill $! image: ${IMAGE} tags: - docker dependencies: - build