forked from fusiondirectory/fusiondirectory-plugins
-
Notifications
You must be signed in to change notification settings - Fork 0
/
.gitlab-ci.yml
131 lines (118 loc) · 3.75 KB
/
.gitlab-ci.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
# Specify docker image
image: debian:stretch
# Define variable to disable SSL verification of GIT
variables:
GIT_SSL_NO_VERIFY: "true"
stages:
- lint
- codestyle
- manpages
- transifex
- tarballs
## Stage lint
# PHP lint (jessie)
create_php_lint_rapport_jessie:
image: php:5.6.33-cli-jessie
stage: lint
only:
- branches
script:
- find . -type f -name '*.php' -o -name '*.inc' -print0 | xargs -0 -n1 php -l
# PHP lint (stretch)
create_php_lint_rapport_stretch:
image: php:cli-stretch
stage: lint
only:
- branches
script:
- find . -type f -name '*.php' -o -name '*.inc' -print0 | xargs -0 -n1 php -l
## Stage codestyle
# PHP codesniffer
create_php_code_sniffer_rapport:
stage: codestyle
only:
- branches
before_script:
- apt-get update -qq
- apt-get install -y -qq git php-cli php-codesniffer
script:
- git clone https://gitlab.fusiondirectory.org/fusiondirectory/dev-tools.git ../dev-tools
- find . -type f -name '*.php' -o -name '*.inc' > ./filelist
- phpcs --ignore=class_sieve.inc --standard=../dev-tools/php-codesniffer-rules/FDStandard/ruleset.xml --file-list=./filelist
# Sonar publishing
sonar_publish:
image: sonar-cli:3.1.0.1141
stage: codestyle
only:
- 1.3-dev
script:
- /home/sonar/*/bin/sonar-scanner
-D sonar.projectKey=fusiondirectory-plugins-dev
-D sonar.projectName=FusionDirectory-Plugins-Dev
-D sonar.projectVersion=1.3
-D sonar.sourceEncoding=UTF-8
-D sonar.exclusions='html/themes/legacy/**/*,include/class_xml.inc'
-D sonar.gitlab.project_id="$CI_PROJECT_PATH"
-D sonar.gitlab.commit_sha="$CI_COMMIT_SHA"
-D sonar.gitlab.ref_name="$CI_COMMIT_REF_NAME"
# Sonar preview
sonar_preview:
image: sonar-cli:3.1.0.1141
stage: codestyle
except:
- 1.3-dev
script:
- /home/sonar/*/bin/sonar-scanner
-D sonar.projectKey=fusiondirectory-plugins-dev
-D sonar.projectName=FusionDirectory-Plugins-Dev
-D sonar.projectVersion=1.3
-D sonar.sourceEncoding=UTF-8
-D sonar.exclusions='html/themes/legacy/**/*,include/class_xml.inc'
-D sonar.gitlab.project_id="$CI_PROJECT_PATH"
-D sonar.gitlab.commit_sha="$CI_COMMIT_SHA"
-D sonar.gitlab.ref_name="$CI_COMMIT_REF_NAME"
-D sonar.analysis.mode=preview
# fusiondirectory-update-locale
fusiondirectory-update-locale:
image: php:cli-stretch
stage: transifex
only:
- branches
before_script:
- apt-get update -qq
- apt-get install -y -qq gettext git
script:
- git clone https://gitlab.fusiondirectory.org/fusiondirectory/dev-tools.git ../dev-tools
- ../dev-tools/locale-scripts/fusiondirectory-update-locale-plugins
# Update transifex
update-transifex:
image: php:cli-stretch
stage: transifex
only:
- /^1.*$/
before_script:
- apt-get update -qq
- apt-get install -y -qq gettext git transifex-client
script:
- git clone https://gitlab.fusiondirectory.org/fusiondirectory/dev-tools.git ../dev-tools
- echo $'[https://www.transifex.com]\nhostname = https://www.transifex.com\nusername = '"$TRANSIFEX_USER"$'\npassword = '"$TRANSIFEX_PASSWORD"$'\ntoken = '"$TRANSIFEX_API_TOKEN"$'\n' > ~/.transifexrc
- tx pull -a -f
- ../dev-tools/locale-scripts/fusiondirectory-update-locale-plugins
- tx push -f -s -t --skip --no-interactive
build-tarballs:
stage: tarballs
script:
- tar -cvzf fusiondirectory-plugins.tar.gz *
artifacts:
paths:
- fusiondirectory-plugins.tar.gz
expire_in: 1h
build-release:
stage: tarballs
only:
- tags
script:
- tar -cvzf fusiondirectory-plugins-$(grep '%' Changelog.md | head -n1 | cut -d ' ' -f3 | tr -d '"').tar.gz *
artifacts:
paths:
- fusiondirectory-plugins-$(grep '%' Changelog.md | head -n1 | cut -d ' ' -f3 | tr -d '"').tar.gz