# 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 . # # 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 doesn't work #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