diff options
Diffstat (limited to '.gitlab-ci.yml')
-rw-r--r-- | .gitlab-ci.yml | 278 |
1 files changed, 278 insertions, 0 deletions
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml new file mode 100644 index 00000000..7f992502 --- /dev/null +++ b/.gitlab-ci.yml @@ -0,0 +1,278 @@ +stages: + - build + +check-admitted: + stage: build + image: coqorg/coq:8.12.2-ocaml-4.11.1-flambda + before_script: + - eval `opam config env` + - opam update + - opam install -y menhir + script: + - ./config_x86_64.sh + - make check-admitted + rules: + - if: '$CI_COMMIT_BRANCH == "kvx-work"' + when: always + - if: '$CI_COMMIT_BRANCH == "mppa-kvx"' + when: always + - if: '$CI_COMMIT_BRANCH == "master"' + when: always + - when: manual + +build_x86_64: + stage: build + image: coqorg/coq:8.12.2-ocaml-4.11.1-flambda + before_script: + - eval `opam config env` + - opam update + - opam install -y menhir + script: + - ./config_x86_64.sh + - make -j "$NJOBS" + - make -C test all test + - ulimit -s65536 && make -C test/monniaux/yarpgen + rules: + - if: '$CI_COMMIT_BRANCH == "kvx-work"' + when: always + - if: '$CI_COMMIT_BRANCH == "mppa-kvx"' + when: always + - if: '$CI_COMMIT_BRANCH == "master"' + when: always + - when: manual + +build_ia32: + stage: build + image: coqorg/coq:8.12.2-ocaml-4.11.1-flambda + before_script: + - sudo apt-get -o Acquire::Check-Valid-Until=false -o Acquire::Check-Date=false update + - sudo apt-get -y install gcc-multilib + - eval `opam config env` + - opam update + - opam install -y menhir + script: + - ./config_ia32.sh + - make -j "$NJOBS" + - make -C test all test + - ulimit -s65536 && make -C test/monniaux/yarpgen BITS=32 TARGET_CC='gcc -m32' + rules: + - if: '$CI_COMMIT_BRANCH == "kvx-work"' + when: always + - if: '$CI_COMMIT_BRANCH == "mppa-kvx"' + when: always + - if: '$CI_COMMIT_BRANCH == "master"' + when: always + - when: manual + +build_aarch64: + stage: build + image: coqorg/coq:8.12.2-ocaml-4.11.1-flambda + before_script: + - sudo apt-get -o Acquire::Check-Valid-Until=false -o Acquire::Check-Date=false update + - sudo apt-get -y install gcc-aarch64-linux-gnu qemu-user + - eval `opam config env` + - opam update + - opam install -y menhir + script: + - ./config_aarch64.sh + - make -j "$NJOBS" + - make -C test CCOMPOPTS='-static' SIMU='qemu-aarch64' EXECUTE='qemu-aarch64' all test + - ulimit -s65536 && make -C test/monniaux/yarpgen TARGET_CC='aarch64-linux-gnu-gcc' EXECUTE='qemu-aarch64' CCOMPOPTS='-static' TARGET_CFLAGS='-static' + rules: + - if: '$CI_COMMIT_BRANCH == "kvx-work"' + when: always + - if: '$CI_COMMIT_BRANCH == "mppa-kvx"' + when: always + - if: '$CI_COMMIT_BRANCH == "master"' + when: always + - when: manual + +build_arm: + stage: build + image: coqorg/coq:8.12.2-ocaml-4.11.1-flambda + before_script: + - sudo apt-get -o Acquire::Check-Valid-Until=false -o Acquire::Check-Date=false update + - sudo apt-get -y install gcc-arm-linux-gnueabi qemu-user + - eval `opam config env` + - opam update + - opam install -y menhir + script: + - ./config_arm.sh + - make -j "$NJOBS" + - make -C test CCOMPOPTS=-static SIMU='qemu-arm' EXECUTE='qemu-arm' all test + - ulimit -s65536 && make -C test/monniaux/yarpgen TARGET_CC='arm-linux-gnueabi-gcc' EXECUTE='qemu-arm' CCOMPOPTS='-static' TARGET_CFLAGS='-static' BITS=32 + rules: + - if: '$CI_COMMIT_BRANCH == "kvx-work"' + when: always + - if: '$CI_COMMIT_BRANCH == "mppa-kvx"' + when: always + - if: '$CI_COMMIT_BRANCH == "master"' + when: always + - when: manual + + +build_armhf: + stage: build + image: coqorg/coq:8.12.2-ocaml-4.11.1-flambda + before_script: + - sudo apt-get -o Acquire::Check-Valid-Until=false -o Acquire::Check-Date=false update + - sudo apt-get -y install gcc-arm-linux-gnueabihf qemu-user + - eval `opam config env` + - opam update + - opam install -y menhir + script: + - ./config_armhf.sh + - make -j "$NJOBS" + - make -C test CCOMPOPTS=-static SIMU='qemu-arm' EXECUTE='qemu-arm' all test + - ulimit -s65536 && make -C test/monniaux/yarpgen TARGET_CC='arm-linux-gnueabihf-gcc' EXECUTE='qemu-arm' CCOMPOPTS='-static' TARGET_CFLAGS='-static' BITS=32 + rules: + - if: '$CI_COMMIT_BRANCH == "kvx-work"' + when: always + - if: '$CI_COMMIT_BRANCH == "mppa-kvx"' + when: always + - if: '$CI_COMMIT_BRANCH == "master"' + when: always + - when: manual + +build_ppc: + stage: build + image: coqorg/coq:8.12.2-ocaml-4.11.1-flambda + before_script: + - sudo apt-get -o Acquire::Check-Valid-Until=false -o Acquire::Check-Date=false update + - sudo apt-get -y install gcc-powerpc-linux-gnu qemu-user + - eval `opam config env` + - opam update + - opam install -y menhir + script: + - ./config_ppc.sh + - make -j "$NJOBS" + rules: + - if: '$CI_COMMIT_BRANCH == "kvx-work"' + when: always + - if: '$CI_COMMIT_BRANCH == "mppa-kvx"' + when: always + - if: '$CI_COMMIT_BRANCH == "master"' + when: always + - when: manual + +build_ppc64: + stage: build + image: coqorg/coq:8.12.2-ocaml-4.11.1-flambda + before_script: + - sudo apt-get -o Acquire::Check-Valid-Until=false -o Acquire::Check-Date=false update + - sudo apt-get -y install gcc-powerpc64-linux-gnu + - eval `opam config env` + - opam update + - opam install -y menhir + script: + - ./config_ppc64.sh + - make -j "$NJOBS" + rules: + - if: '$CI_COMMIT_BRANCH == "kvx-work"' + when: always + - if: '$CI_COMMIT_BRANCH == "mppa-kvx"' + when: always + - if: '$CI_COMMIT_BRANCH == "master"' + when: always + - when: manual + +build_rv64: + stage: build + image: coqorg/coq:8.12.2-ocaml-4.11.1-flambda + before_script: + - sudo apt-get -o Acquire::Check-Valid-Until=false -o Acquire::Check-Date=false update + - sudo apt-get -y install gcc-riscv64-linux-gnu qemu-user + - eval `opam config env` + - opam update + - opam install -y menhir + script: + - ./config_rv64.sh + - make -j "$NJOBS" + - make -C test CCOMPOPTS=-static SIMU='qemu-riscv64' EXECUTE='qemu-riscv64' all test + - ulimit -s65536 && make -C test/monniaux/yarpgen TARGET_CC='riscv64-linux-gnu-gcc' EXECUTE='qemu-riscv64' CCOMPOPTS='-static' TARGET_CFLAGS='-static' + rules: + - if: '$CI_COMMIT_BRANCH == "kvx-work"' + when: always + - if: '$CI_COMMIT_BRANCH == "mppa-kvx"' + when: always + - if: '$CI_COMMIT_BRANCH == "master"' + when: always + - when: manual + +build_rv32: + stage: build + image: coqorg/coq:8.12.2-ocaml-4.11.1-flambda + before_script: + - sudo apt-get -o Acquire::Check-Valid-Until=false -o Acquire::Check-Date=false update + - sudo apt-get -y install gcc-riscv64-linux-gnu qemu-user + - eval `opam config env` + - opam update + - opam install -y menhir + script: + - ./config_rv32.sh -no-runtime-lib + - make -j "$NJOBS" + rules: + - if: '$CI_COMMIT_BRANCH == "kvx-work"' + when: always + - if: '$CI_COMMIT_BRANCH == "mppa-kvx"' + when: always + - if: '$CI_COMMIT_BRANCH == "master"' + when: always + - when: manual + +build_kvx: + stage: build + image: coqorg/coq:8.12.2-ocaml-4.11.1-flambda + before_script: + - sudo apt-get -o Acquire::Check-Valid-Until=false -o Acquire::Check-Date=false update + - sudo apt-get -y install sshpass openssh-client libzip4 lttng-tools liblttng-ctl-dev liblttng-ust-dev babeltrace + - ./.download_from_Kalray.sh + - rm -f download/*dkms*.deb download/*eclipse*.deb download/*llvm*.deb download/*board-mgmt* download/*oce-host* download/*pocl* download/*flash-util* download/*barebox* + - sudo dpkg -i download/*.deb + - rm -rf download + - eval `opam config env` + - opam update + - opam install -y menhir + script: + - source /opt/kalray/accesscore/kalray.sh && ./config_kvx.sh + - source /opt/kalray/accesscore/kalray.sh && make -j "$NJOBS" + - source /opt/kalray/accesscore/kalray.sh && make -C test CCOMPOPTS=-static SIMU='kvx-cluster -- ' EXECUTE='kvx-cluster -- ' all test + - source /opt/kalray/accesscore/kalray.sh && ulimit -s65536 && make -C test/monniaux/yarpgen TARGET_CC='kvx-cos-gcc' EXECUTE='kvx-cluster -- ' CCOMPOPTS='-static' TARGET_CFLAGS='-static' + rules: + - if: '$CI_COMMIT_BRANCH == "kvx-work"' + when: always + - if: '$CI_COMMIT_BRANCH == "mppa-kvx"' + when: always + - if: '$CI_COMMIT_BRANCH == "master"' + when: always + - when: manual + +pages: # TODO: change to "deploy" when "build" succeeds (or integrate with "build_kvx" above ?) + stage: build + image: coqorg/coq:8.12.2-ocaml-4.11.1-flambda + before_script: + - sudo apt-get -o Acquire::Check-Valid-Until=false -o Acquire::Check-Date=false update + - sudo apt-get -y install sshpass openssh-client libzip4 lttng-tools liblttng-ctl-dev liblttng-ust-dev babeltrace + - ./.download_from_Kalray.sh + - rm -f download/*dkms*.deb download/*eclipse*.deb download/*llvm*.deb download/*board-mgmt* download/*oce-host* download/*pocl* download/*flash-util* download/*barebox* + - sudo dpkg -i download/*.deb + - rm -rf download + - eval `opam config env` + - opam update + - opam install -y menhir + - opam repo add coq-released https://coq.inria.fr/opam/released + - opam install coq-coq2html + script: + - source /opt/kalray/accesscore/kalray.sh && ./config_kvx.sh + - source /opt/kalray/accesscore/kalray.sh && make -j "$NJOBS" + - source /opt/kalray/accesscore/kalray.sh && make documentation + - mkdir public + - cp -r doc/* public/ + - tools/fix_html_date.sh doc/index-kvx.html " (" ")" > public/index.html + - rm public/index-kvx.html + artifacts: + paths: + - public + rules: + - if: '$CI_COMMIT_BRANCH == "master"' + when: always |