## © 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=${REPO_USER}" > reporc
    - echo "REPO_PASS=${REPO_PASS}" >> reporc
    - sudo su
    - /vagrant/scripts/test/fixtures.sh create -f /vagrant/src/test/clmctest/rspec.json
    - lxc-attach -n test-runner
    - cd /vagrant/src/test
    - python setup.py sdist --dist-dir=../../build
    - cd ../../src/service
    - python setup.py sdist --dist-dir=../../build
    - pip3 install /vagrant/build/clmctest-SNAPSHOT.tar.gz
    - pip3 install /vagrant/build/clmcservice-SNAPSHOT.tar.gz
    - pytest -s --pyargs clmctest.scripts
    - pytest -s --pyargs clmcservice.tests  
    - pytest -s --pyargs clmctest.inputs
    - pytest -s --pyargs clmctest.monitoring
  when: on_success      
  
clean:
  stage: clean
  only:
    - schedules    
  script: 
    - sudo /vagrant/scripts/test/fixtures.sh destroy -f /vagrant/src/test/clmctest/rspec.json
  when: always       
