summaryrefslogtreecommitdiffstats
path: root/.gitlab-ci.yml
diff options
context:
space:
mode:
Diffstat (limited to '.gitlab-ci.yml')
-rw-r--r--.gitlab-ci.yml125
1 files changed, 125 insertions, 0 deletions
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
new file mode 100644
index 0000000..9b0d261
--- /dev/null
+++ b/.gitlab-ci.yml
@@ -0,0 +1,125 @@
+stages:
+- Coding Standards
+- Unit-Tests with DB
+
+PSR2 CS Test:
+ stage: Coding Standards
+ tags:
+ - xenial
+ script:
+ - phpcs --report-width=auto --report-full --report-gitblame --report-summary -p --standard=PSR2 --extensions=php --encoding=utf-8 -w -s library/Director/ library/vendor/ipl/ application/ *.php test
+
+CentOS 7/MySQL:
+ stage: Unit-Tests with DB
+ tags:
+ - centos7
+ - director
+ variables:
+ DIRECTOR_TESTDB: "director_test_${CI_BUILD_ID}_${CI_RUNNER_ID}"
+ DIRECTOR_TESTDB_RES: "Director MySQL TestDB"
+ before_script:
+ - mysql -u root -e "CREATE DATABASE $DIRECTOR_TESTDB"
+ after_script:
+ - mysql -u root -e "DROP DATABASE $DIRECTOR_TESTDB"
+ script:
+ - phpunit --verbose
+
+CentOS 7/PostgreSQL:
+ stage: Unit-Tests with DB
+ tags:
+ - centos7
+ - director
+ variables:
+ DIRECTOR_TESTDB: "director_test_${CI_BUILD_ID}_${CI_RUNNER_ID}"
+ DIRECTOR_TESTDB_RES: "Director PostgreSQL TestDB"
+ DIRECTOR_TESTDB_USER: "director_${CI_BUILD_ID}_${CI_RUNNER_ID}"
+ before_script:
+ - psql postgres -q -c "CREATE DATABASE $DIRECTOR_TESTDB WITH ENCODING 'UTF8';"
+ - psql $DIRECTOR_TESTDB -q -c "CREATE USER $DIRECTOR_TESTDB_USER WITH PASSWORD 'testing'; GRANT ALL PRIVILEGES ON DATABASE $DIRECTOR_TESTDB TO $DIRECTOR_TESTDB_USER; CREATE EXTENSION pgcrypto;"
+ after_script:
+ - psql postgres -c "DROP DATABASE $DIRECTOR_TESTDB"
+ - psql postgres -c "DROP USER $DIRECTOR_TESTDB_USER"
+ script:
+ - phpunit --verbose
+
+#CentOS 6/MySQL:
+# stage: Unit-Tests with DB
+# tags:
+# - centos6
+# - director
+# variables:
+# DIRECTOR_TESTDB: "director_test_${CI_BUILD_ID}_${CI_RUNNER_ID}"
+# DIRECTOR_TESTDB_RES: "Director MySQL TestDB"
+# before_script:
+# - mysql -u root -e "CREATE DATABASE $DIRECTOR_TESTDB"
+# after_script:
+# - mysql -u root -e "DROP DATABASE $DIRECTOR_TESTDB"
+# script:
+# - phpunit
+
+Jessie/MySQL:
+ stage: Unit-Tests with DB
+ tags:
+ - jessie
+ - director
+ variables:
+ DIRECTOR_TESTDB: "director_test_${CI_BUILD_ID}_${CI_RUNNER_ID}"
+ DIRECTOR_TESTDB_RES: "Director MySQL TestDB"
+ before_script:
+ - mysql -u root -e "CREATE DATABASE $DIRECTOR_TESTDB"
+ after_script:
+ - mysql -u root -e "DROP DATABASE $DIRECTOR_TESTDB"
+ script:
+ - phpunit --verbose
+
+Jessie/PostgreSQL:
+ stage: Unit-Tests with DB
+ tags:
+ - jessie
+ - director
+ variables:
+ DIRECTOR_TESTDB: "director_test_${CI_BUILD_ID}_${CI_RUNNER_ID}"
+ DIRECTOR_TESTDB_RES: "Director PostgreSQL TestDB"
+ DIRECTOR_TESTDB_USER: "director_${CI_BUILD_ID}_${CI_RUNNER_ID}"
+ before_script:
+ - psql postgres -q -c "CREATE DATABASE $DIRECTOR_TESTDB WITH ENCODING 'UTF8';"
+ - psql $DIRECTOR_TESTDB -q -c "CREATE USER $DIRECTOR_TESTDB_USER WITH PASSWORD 'testing'; GRANT ALL PRIVILEGES ON DATABASE $DIRECTOR_TESTDB TO $DIRECTOR_TESTDB_USER; CREATE EXTENSION pgcrypto;"
+ after_script:
+ - psql postgres -c "DROP DATABASE $DIRECTOR_TESTDB"
+ - psql postgres -c "DROP USER $DIRECTOR_TESTDB_USER"
+ script:
+ - phpunit --verbose
+
+Xenial/MySQL:
+ stage: Unit-Tests with DB
+ tags:
+ - xenial
+ - director
+ variables:
+ DIRECTOR_TESTDB: "director_test_${CI_BUILD_ID}_${CI_RUNNER_ID}"
+ DIRECTOR_TESTDB_RES: "Director MySQL TestDB"
+ before_script:
+ - mysql -u root -e "CREATE DATABASE $DIRECTOR_TESTDB"
+ after_script:
+ - mysql -u root -e "DROP DATABASE $DIRECTOR_TESTDB"
+ script:
+ - phpunit --verbose
+
+Xenial/PostgreSQL:
+ stage: Unit-Tests with DB
+ tags:
+ - ubuntu
+ - director
+ variables:
+ DIRECTOR_TESTDB: "director_test_${CI_BUILD_ID}_${CI_RUNNER_ID}"
+ DIRECTOR_TESTDB_RES: "Director PostgreSQL TestDB"
+ DIRECTOR_TESTDB_USER: "director_${CI_BUILD_ID}_${CI_RUNNER_ID}"
+ before_script:
+ - psql postgres -q -c "CREATE DATABASE $DIRECTOR_TESTDB WITH ENCODING 'UTF8';"
+ - psql $DIRECTOR_TESTDB -q -c "CREATE USER $DIRECTOR_TESTDB_USER WITH PASSWORD 'testing'; GRANT ALL PRIVILEGES ON DATABASE $DIRECTOR_TESTDB TO $DIRECTOR_TESTDB_USER; CREATE EXTENSION pgcrypto;"
+ after_script:
+ - psql postgres -c "DROP DATABASE $DIRECTOR_TESTDB"
+ - psql postgres -c "DROP USER $DIRECTOR_TESTDB_USER"
+ script:
+ - phpunit --verbose
+