Skip to content
Snippets Groups Projects
.gitlab-ci.yml 2.38 KiB
## © University of Southampton IT Innovation Centre, 2018
##
## Copyright in this software belongs to University of Southampton
## IT Innovation Centre of Gamma House, Enterprise Road, 
## Chilworth Science Park, Southampton, SO16 7NS, UK.
##
## This software may not be used, sold, licensed, transferred, copied
## or reproduced in whole or in part in any manner or form or in or
## on any media by any person other than in accordance with the terms
## of the Licence Agreement supplied with the software, or otherwise
## without the prior written consent of the copyright owners.
##
## This software is distributed WITHOUT ANY WARRANTY, without even the
## implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
## PURPOSE, except where stated in the Licence Agreement supplied with
## the software.
##
##      Created By :            Michael Boniface
##      Created Date :          21-03-2018
##      Created for Project :   FLAME
stages:  
  - build
  - test
  - clean

build:tests:
  stage: build
  only:
    - schedules    
  script:  
    - cd src/test
    - python setup.py sdist --dist-dir=../../build
    - cd ../../src/service
    - python setup.py sdist --dist-dir=../../build
  artifacts:
    paths:
    - build/clmctest-SNAPSHOT.tar.gz
    - build/clmcservice-SNAPSHOT.tar.gz
    expire_in: 1 day

test:all:
  stage: test
  only:
    - schedules    
  dependencies: 
    - build:tests
  script: 
    - echo "REPO_USER=itinnov.flame.integration" >> reporc
    - echo "REPO_PASS=1tc3ntr3" >> reporc
    - vagrant --fixture=scripts -- up
    - vagrant --fixture=scripts -- ssh test-runner -- -tt "pip3 install /vagrant/build/clmctest-SNAPSHOT.tar.gz"
    - vagrant --fixture=scripts -- ssh test-runner -- -tt "pytest -s --pyargs clmctest.scripts"
    - vagrant --fixture=monitoring -- up
    - vagrant --fixture=monitoring -- ssh test-runner -- -tt "pytest -s --pyargs clmctest.monitoring"  
    - vagrant --fixture=monitoring -- ssh test-runner -- -tt "pip3 install /vagrant/build/clmcservice-SNAPSHOT.tar.gz"
    - vagrant --fixture=monitoring -- ssh test-runner -- -tt "pytest -s --pyargs clmcservice.tests"    
    - vagrant --fixture=inputs -- up
    - vagrant --fixture=inputs -- ssh test-runner -- -tt "pytest -s --pyargs clmctest.inputs"        
  when: on_success      
  
clean:
  stage: clean
  only:
    - schedules    
  script: 
    - python scripts/build/deleteallvms.py   
  when: always