From 6ae3f038bcbe272049ef66bd5d3d44ac5dab2c37 Mon Sep 17 00:00:00 2001
From: Kubat <mael.martin31@gmail.com>
Date: Thu, 30 Jul 2020 09:19:26 +0200
Subject: [PATCH] CI: Basic CI, just to check builds and configures

---
 .gitlab-ci.yml | 76 ++++++++++++++++++++++++++++++++++++++++++++++----
 1 file changed, 70 insertions(+), 6 deletions(-)

diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index bcb64e98..2dc99127 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
-- 
GitLab