diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml new file mode 100644 index 0000000..69c97bb --- /dev/null +++ b/.gitlab-ci.yml @@ -0,0 +1,128 @@ +stages: + - build-toolchain + - embench + - dhrystone + - coremark + - compliance-test + #- util_timing_rpt + +build-toolchain: + tags: + - new-taiga-ci + stage: build-toolchain + script: + - echo $CI_PROJECT_NAMESPACE + - echo $CI_PROJECT_PATH + - echo $CI_PROJECT_ROOT_NAMESPACE + - echo $CI_PROJECT_TITLE + - module load LANG/PYTHON/3.7.6 + - pip3 install meson + # create the taiga project file hierachy + - cd .. + - rm -rf taiga-project + #- cp -r $CI_PROJECT_TITLE taiga + - cp -r project-0 taiga # only used for local tests + - git clone https://gitlab.com/sfu-rcl/taiga-project.git + - mv -f taiga taiga-project/ + - cd taiga-project + - source settings.sh + - git clone https://github.com/gcc-mirror/gcc.git --branch releases/gcc-10 --single-branch tool-chain/gcc + - git clone https://gitlab.com/sfu-rcl/taiga-picolibc.git --branch master --single-branch tool-chain/picolibc + - git clone http://git.veripool.org/git/verilator --branch master --single-branch tool-chain/verilator + - git clone https://sourceware.org/git/binutils-gdb.git --branch binutils-2_35-branch --single-branch tool-chain/binutils-gdb + - git clone https://sourceware.org/git/newlib-cygwin.git --branch master --single-branch tool-chain/newlib-cygwin + - cd tool-chain/gcc + - ./contrib/download_prerequisites + - cd $TAIGA_PROJECT_ROOT + - ./build-tool-chain.sh + - cp -rf $TAIGA_PROJECT_ROOT/tool-chain $CI_PROJECT_DIR #needed for caching + cache: + key: tool-chain-cache + paths: + - tool-chain/ + +embench: + tags: + - new-taiga-ci + stage: embench + script: + # create the taiga project file hierachy + - cp -rf tool-chain ../taiga-project/tool-chain + - cd .. + #- rm -rf taiga-project + #- git clone https://gitlab.com/sfu-rcl/taiga-project.git + #- cp -r project-0 taiga + ##- cp -r Taiga-dev taiga + #- mv -f taiga taiga-project/ + - cd taiga-project + - source settings.sh + - git clone https://gitlab.com/sfu-rcl/taiga-embench.git --branch taiga-picolibc --single-branch benchmarks/embench + - make build-embench + - make run-embench-verilator + cache: + key: tool-chain-cache + paths: + - tool-chain/ + +compliance-test: + tags: + - new-taiga-ci + stage: compliance-test + script: + - cp -rf tool-chain ../taiga-project/tool-chain + - cd .. + - cd taiga-project + - git clone https://gitlab.com/sfu-rcl/taiga-riscv-compliance.git --branch taiga-sim --single-branch benchmarks/riscv-compliance + - source settings.sh + - make run-compliance-tests-verilator + cache: + key: tool-chain + paths: + - tool-chain/RISCV-compiler/ + + +dhrystone: + tags: + - new-taiga-ci + stage: dhrystone + script: + - cp -rf tool-chain ../taiga-project/tool-chain + - cd .. + - cd taiga-project + - git clone https://gitlab.com/sfu-rcl/taiga-dhrystone.git --branch master --single-branch benchmarks/taiga-dhrystone + - source settings.sh + - make run run-dhrystone-verilator + cache: + key: toolchain + paths: + - tool-chain/RISCV-compiler/ + + +coremark: + tags: + - new-taiga-ci + stage: coremark + script: + - cp -rf tool-chain ../taiga-project/tool-chain + - cd .. + - cd taiga-project + - git clone https://gitlab.com/sfu-rcl/taiga-coremark.git --branch master --single-branch benchmarks/taiga-coremark + - source settings.sh + - make run run-coremark-verilator + cache: + key: toolchain + paths: + - tool-chain/RISCV-compiler/ + + +#util_timing_rpt-test: + #tags: + #- new-taiga-ci + #stage: util_timing_rpt + #script: + #- cd .. + #- cd taiga-project + #- git clone https://gitlab.com/sfu-rcl/taiga-coremark.git --branch master --single-branch benchmarks/taiga-coremark + #- source settings.sh + #- source /exports/rcl-tools/Vivado/Vivado/2019.2/settings64.sh + #- bash taiga/tools/PPA.sh