forked from CloudPadovana/caos-collector
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy path.gitlab-ci.yml
114 lines (102 loc) · 2.44 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
################################################################################
#
# caos-collector - CAOS collector
#
# Copyright © 2017 INFN - Istituto Nazionale di Fisica Nucleare (Italy)
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
#
# Author: Fabrizio Chiarello <fabrizio.chiarello@pd.infn.it>
#
################################################################################
image: python:2.7
stages:
- test
- release
- docker-build
- docker-test
- docker-release
variables: &variables
CI_DEBUG_TRACE: "false"
.test_template: &test_template
stage: test
variables: &test_template_variables
<<: *variables
before_script:
- ci-tools/prepare.sh
test:
<<: *test_template
script:
- tox -e py27
coverage:
<<: *test_template
script:
- tox -e coverage
artifacts:
paths:
- cover
coverage: '/TOTAL\s+\d+\s+\d+\s+(\d+\.?\d*)%/'
pep8:
<<: *test_template
script:
- tox -e pep8
allow_failure: true
release:
stage: release
variables:
<<: *variables
before_script:
- ci-tools/prepare.sh
script:
- ci-tools/release-build.sh
artifacts:
paths:
- releases/caos_collector-$(ci-tools/git-semver-pbr.sh)-py2-none-any.whl
.docker_template: &docker_template
image: docker:stable
services:
- docker:stable-dind
tags:
- docker-dind
variables: &docker_template_variables
<<: *variables
DO_DOCKER_LOGIN: "true"
before_script:
- docker info
- apk add --no-cache bash git
docker-build:
<<: *docker_template
stage: docker-build
variables:
<<: *docker_template_variables
DO_DOCKER_PUSH: "true"
dependencies:
- release
script:
- ci-tools/docker-build.sh
docker-test:
<<: *docker_template
stage: docker-test
script:
- ci-tools/docker-test.sh
docker-release:
<<: *docker_template
stage: docker-release
variables:
<<: *docker_template_variables
DO_DOCKER_PUSH: "true"
script:
- ci-tools/docker-release.sh
only:
- tags