forked from forseti-security/forseti-security
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy path.travis.yml
43 lines (36 loc) · 1.63 KB
/
.travis.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
# Copyright 2017 The Forseti Security Authors. All rights reserved.
#
# 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.
sudo: required
language: python
python:
- "2.7"
services:
- docker
before_install:
# Build the Forseti base image containing all the dependencies.
- docker build -t forseti/base -f scripts/docker/base .
# Build the Forseti image containing the dependencies and code.
- docker build -t forseti/build -f scripts/docker/forseti --no-cache .
# Required for codecov.io to export coverage within a Docker container.
- "CI_ENV=`bash <(curl -s https://codecov.io/env)`"
# Start the container for testing and code verification.
- docker run $CI_ENV -it -d --name build forseti/build /bin/bash
script:
# Run code coverage.
- docker exec -it build /bin/sh -c "coverage run --source='google.cloud.security' --omit='__init__.py' -m unittest discover -s . -p '*_test.py'"
# Check code compliance.
- docker exec -it build /bin/sh -c "pylint --rcfile=pylintrc google/ scripts/gcp_setup/"
after_success:
# Execute codecov inside the docker container. Need to export env for codecov.io upload.
- docker exec -it build /bin/sh -c "codecov"