From ec7271ecad184e4d1ff1df7f5ced18bbe6455c7b Mon Sep 17 00:00:00 2001
From: Luan W <lvw15@inf.ufpr.br>
Date: Thu, 17 Aug 2017 10:44:42 -0300
Subject: [PATCH] SCRUM#230 .gitlab-ci.yml new job

---
 .build.sh      | 16 ++++++++++++++++
 .deploy.sh     |  7 +++++++
 .gitlab-ci.yml | 52 +++++++++++++++++++++++++++++---------------------
 3 files changed, 53 insertions(+), 22 deletions(-)
 create mode 100755 .build.sh
 create mode 100755 .deploy.sh

diff --git a/.build.sh b/.build.sh
new file mode 100755
index 0000000..804b1ba
--- /dev/null
+++ b/.build.sh
@@ -0,0 +1,16 @@
+#!/usr/bin/bash
+apt-get update && apt-get install -y devscripts
+CHANGELOG="package/debian/changelog"
+LINE=$(head -n 1 $CHANGELOG)
+PACKAGE=$(echo $LINE | cut -d' ' -f1)
+VERSION=$(echo $LINE | cut -d' ' -f2 | grep -o -E '[0-9]*\.[0-9]*\.[0-9]*')
+if [ $CI_JOB_NAME = "build_for_stable" ]; then
+  sed 's/testing; urgen/stable; urgen/' $CHANGELOG > $CHANGELOG
+fi
+tar --exclude=debian -czf ${PACKAGE}_${VERSION}.orig.tar.gz package/*
+cd package
+debuild -us -uc
+cd ../
+mkdir build/
+mv ${PACKAGE}* build/
+
diff --git a/.deploy.sh b/.deploy.sh
new file mode 100755
index 0000000..6939612
--- /dev/null
+++ b/.deploy.sh
@@ -0,0 +1,7 @@
+#!/usr/bin/bash
+
+apt-get update && apt-get install -y dput ssh
+eval $(ssh-agent -s)
+ssh-add <(echo "$PRIV_KEY")
+dput -u -f --config=dput.cf repo build/*.changes
+    
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index baff4ee..4df628a 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -4,7 +4,7 @@ stages:
     - test
     - deploy
 
-build:
+build_for_testing:
   stage: build
   artifacts:
     paths:
@@ -12,17 +12,17 @@ build:
   tags:
     - debian-packaging
   script:
-    - apt-get update && apt-get install -y devscripts 
-    - LINE=$(head -n 1 package/debian/changelog)
-    - PACKAGE=$(echo $LINE | cut -d' ' -f1)
-    - VERSION=$(echo $LINE | cut -d' ' -f2 | grep -o -E '[0-9]*\.[0-9]*\.[0-9]*')
-    - tar --exclude=debian -czf ${PACKAGE}_${VERSION}.orig.tar.gz package/*
-    - cd package 
-    - debuild -us -uc --lintian-opts --suppress-tags package-installs-apt-preferences
-    - cd ../
-    - mkdir build/
-    - mv ${PACKAGE}* build/
-    - echo "Estágio de Build finalizado."
+    - ./.build.sh
+
+build_for_stable:
+  stage: build
+  artifacts:
+    paths:
+      - build/
+  tags:
+    - debian-packaging
+  script:
+    - ./.build.sh
 
 test:
   stage: test
@@ -32,11 +32,10 @@ test:
   script:
     - apt-get update && apt-get install -y unattended-upgrades
     - dpkg -i build/*.deb
-    - echo "Estágio de Teste finalizado"
   dependencies:
-    - build
+    - build_for_testing
 
-deploy:
+deploy_for_testing:
   stage: deploy
   only:
     - master
@@ -44,11 +43,20 @@ deploy:
     - ubuntu
     - regular
   script:
-    - echo "Estágio de Deploy"
-    - apt-get update && apt-get install -y dput ssh
-    - eval $(ssh-agent -s)
-    - ssh-add <(echo "$PRIV_KEY")
-    - dput -u -f --config=dput.cf repo build/*.changes
-    - echo "Estágio de Deploy finalizado"
+    - ./.deploy.sh
   dependencies:
-    - build
+    - build_for_testing
+
+deploy_for_stable:
+  stage: deploy
+  when: manual
+  only:
+    - master
+  tags:
+    - ubuntu
+    - regular
+  script:
+    - ./.deploy.sh
+  dependencies:
+    - build_for_stable
+
-- 
GitLab