diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index a812edea17..ecd54e59f9 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -1,26 +1,25 @@ -# This file is a template, and might need editing before it works on your project. -# Official language image. Look for the different tagged releases at: -# https://hub.docker.com/r/library/rust/tags/ -image: "rust:latest" +image: "redoxos/redoxer" -# Optional: Pick zero or more services to be used on all builds. -# Only needed when using a docker container to run your tests in. -# Check out: http://docs.gitlab.com/ce/ci/docker/using_docker_images.html#what-is-a-service -#services: -# - mysql:latest -# - redis:latest -# - postgres:latest +stages: + - build + - test -# Optional: Install a C compiler, cmake and git into the container. -# You will often need this when you (or any of your dependencies) depends on C code. -#before_script: -#- apt-get update -yqq -#- apt-get install -yqq --no-install-recommends build-essential +cache: + paths: + - target/ -# Use cargo to test the project -test:cargo: - script: - - rustup toolchain add nightly - - rustup target add x86_64-unknown-redox --toolchain nightly - - rustup show # Print version info for debugging - - cargo +nightly check --verbose --target x86_64-unknown-redox +build:redox: + stage: build + script: redoxer build --verbose + +test:redox: + stage: test + dependencies: + - build:redox + script: + - redoxer build --verbose --examples + - redoxer exec --folder . -- sh -- ./redoxer.sh + event + main + unnamed + #TODO: shm diff --git a/redoxer.sh b/redoxer.sh new file mode 100755 index 0000000000..2bcdc680bd --- /dev/null +++ b/redoxer.sh @@ -0,0 +1,20 @@ +#!/bin/sh + +set -e + +old_path="file:/bin/ipcd" +new_path="target/x86_64-unknown-redox/debug/ipcd" +if [ -e "${new_path}" ] +then + mv -v "${new_path}" "${old_path}" + shutdown --reboot +fi + +while [ "$#" != "0" ] +do + example="$1" + shift + + echo "# ${example} #" + "target/x86_64-unknown-redox/debug/examples/${example}" +done