123 lines
3.7 KiB
YAML
123 lines
3.7 KiB
YAML
# Configuration for Continous Integration
|
|
#
|
|
# Copyright (C) 2017 AleaJactaEst
|
|
#
|
|
# This program is free software: you can redistribute it and/or modify
|
|
# it under the terms of the GNU General Public License as published by
|
|
# the Free Software Foundation, either version 3 of the License, or
|
|
# (at your option) any later version.
|
|
#
|
|
# This program is distributed in the hope that it will be useful,
|
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
# GNU General Public License for more details.
|
|
#
|
|
# You should have received a copy of the GNU General Public License
|
|
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
#
|
|
# Example to execute locally:
|
|
# gitlab-runner exec docker linux_test
|
|
|
|
|
|
|
|
stages:
|
|
- build
|
|
- test
|
|
- deploy
|
|
|
|
## Build
|
|
linux_source_package:
|
|
stage: build
|
|
tags:
|
|
- Docker
|
|
image: amd64/debian:9
|
|
script:
|
|
# Prepare environment
|
|
- apt-get update
|
|
- apt-get -y upgrade
|
|
- apt-get install -y python3 python3-setuptools python3-virtualenv python3-stdeb python3-all python3-coverage python3-pep8 python3-sphinx python3-pip graphviz python3-bcrypt python3-wheel
|
|
# Action
|
|
- make sdist
|
|
artifacts:
|
|
name: "khanat-$(echo $CI_BUILD_REF | head -c 7 )-$CI_PIPELINE_ID-pymanager-package-src"
|
|
paths:
|
|
- dist
|
|
|
|
linux_package:
|
|
stage: build
|
|
tags:
|
|
- Docker
|
|
image: amd64/debian:9
|
|
script:
|
|
# Prepare environment
|
|
- apt-get update
|
|
- apt-get -y upgrade
|
|
- apt-get install -y python3 python3-setuptools python3-virtualenv python3-stdeb python3-all python3-coverage python3-pep8 python3-sphinx python3-pip graphviz python3-bcrypt python3-wheel
|
|
# Action
|
|
- make bdist
|
|
artifacts:
|
|
name: "khanat-$(echo $CI_BUILD_REF | head -c 7 )-$CI_PIPELINE_ID-pymanager-package"
|
|
paths:
|
|
- dist
|
|
|
|
linux_package_wheel:
|
|
stage: build
|
|
tags:
|
|
- Docker
|
|
image: amd64/debian:9
|
|
script:
|
|
# Prepare environment
|
|
- apt-get update
|
|
- apt-get -y upgrade
|
|
- apt-get install -y python3 python3-setuptools python3-virtualenv python3-stdeb python3-all python3-coverage python3-pep8 python3-sphinx python3-pip graphviz python3-bcrypt python3-wheel
|
|
# Action
|
|
- python3 setup.py bdist_wheel --universal
|
|
artifacts:
|
|
name: "khanat-$(echo $CI_BUILD_REF | head -c 7 )-$CI_PIPELINE_ID-pymanager-package-whl"
|
|
paths:
|
|
- dist
|
|
expire_in: 1 week
|
|
|
|
## Test
|
|
linux_test:
|
|
stage: test
|
|
tags:
|
|
- Docker
|
|
image: amd64/debian:9
|
|
script:
|
|
# Prepare environment
|
|
- apt-get update
|
|
- apt-get -y upgrade
|
|
- apt-get install -y python3 python3-setuptools python3-virtualenv python3-stdeb python3-all python3-coverage python3-pep8 python3-sphinx python3-pip graphviz python3-bcrypt python3-wheel
|
|
# Action
|
|
- make test
|
|
|
|
linux_coverage:
|
|
stage: test
|
|
tags:
|
|
- Docker
|
|
image: amd64/debian:9
|
|
script:
|
|
# Prepare environment
|
|
- apt-get update
|
|
- apt-get -y upgrade
|
|
- apt-get install -y python3 python3-setuptools python3-virtualenv python3-stdeb python3-all python3-coverage python3-pep8 python3-sphinx python3-pip graphviz python3-bcrypt python3-wheel
|
|
# Action
|
|
- make coverage
|
|
|
|
codequality:
|
|
image: docker:latest
|
|
variables:
|
|
DOCKER_DRIVER: overlay
|
|
services:
|
|
- docker:dind
|
|
script:
|
|
- docker pull codeclimate/codeclimate
|
|
- docker run --env CODECLIMATE_CODE="$PWD" --volume "$PWD":/code --volume /var/run/docker.sock:/var/run/docker.sock --volume /tmp/cc:/tmp/cc codeclimate/codeclimate:0.69.0 init
|
|
- docker run --env CODECLIMATE_CODE="$PWD" --volume "$PWD":/code --volume /var/run/docker.sock:/var/run/docker.sock --volume /tmp/cc:/tmp/cc codeclimate/codeclimate:0.69.0 analyze -f json > codeclimate.json || true
|
|
artifacts:
|
|
paths: [codeclimate.json]
|
|
|
|
|
|
## Deploy
|
|
|