diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index bcb64e986d58bf0710eab0a3e3282b31f645628b..2dc991277439943ef15a88043ae7726cc426edd5 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -1,6 +1,70 @@ -# Sample, test if it enabled CI in gitlab -build: - tags: - - kurisu - script: - - ls +stages: + - Initialization + - Configures + - Builds + - Finalization + +.main_tests: &main_tests + only: + - main + - merge_requests + +.breaking_tests: &breaking_tests + allow_failure: true + +################################################# +### Initialization and Finalization ############# +################################################# + +Env Sanitize: + <<: *main_tests + stage: Initialization + script: + - mkdir -p $HOME/$CI_PIPELINE_ID/{build.clang,build.gcc,install.clang,install.gcc} + - echo "Env is intialized" + +Env Finalize: + <<: *main_tests + stage: Finalization + allow_failure: true + when: on_success + script: + - rm -rf $HOME/$CI_PIPELINE_ID + +################################################# +### Configures ################################## +################################################# + +Configure with gcc: + <<: *main_tests + stage: Configures + script: + - cd $HOME/$CI_PIPELINE_ID/build.gcc + - ../configure --prefix=$HOME/$CI_PIPELINE_ID/build.gcc --with-debug --static-modules CC=gcc + +Configure with clang: + <<: *main_tests + stage: Configures + script: + - cd $HOME/$CI_PIPELINE_ID/build.clang + - ../configure --prefix=$HOME/$CI_PIPELINE_ID/build.clang --with-debug --static-modules CC=clang + +################################################# +### Builds ###################################### +################################################# + +Build with gcc: + <<: *main_tests + stage: Builds + script: + - cd $HOME/$CI_PIPELINE_ID/build.gcc + - make -j4 + - make install + +Build with clang: + <<: *main_tests + stage: Builds + script: + - cd $HOME/$CI_PIPELINE_ID/build.clang + - make -j4 + - make install