Skip to content
Snippets Groups Projects
.gitlab-ci.yml 3.78 KiB
Newer Older
Maiken's avatar
Maiken committed
## Please do not change this file. 
## Doing so will unfortunately create unnesseccary merge conflicts between branches and the fork, and nordugrid/arc version of this file. 
## To have the automatic builds work on your fork, check that the runner is enabled in your fork: Settings->CI/CD->Runner settings
Maiken's avatar
Maiken committed

Maiken's avatar
Maiken committed
stages:
  - rpms
  - deploy_and_test
Maiken's avatar
Maiken committed
  
make_rpms:
  stage: rpms
Maiken's avatar
Maiken committed
  image: maikenp/arc-build-centos6
Maiken's avatar
Maiken committed
  script: 
Maiken's avatar
Maiken committed
  - ./autogen.sh
  - ./configure
  - yum-builddep nordugrid-arc.spec -y
Maiken's avatar
Maiken committed
  - mkdir -p $CI_PROJECT_DIR/rpmbuild/{SOURCES,BUILD,RPMS,SRPMS}
  - echo "%_topdir $CI_PROJECT_DIR/rpmbuild" > ~/.rpmmacros
  - export VERSION=`cat VERSION`
  - make dist
  - cp "nordugrid-arc-${VERSION}.tar.gz" $CI_PROJECT_DIR/rpmbuild/SOURCES
  - rpmbuild -D "_topdir $CI_PROJECT_DIR/rpmbuild" -ba nordugrid-arc.spec
  - cd $CI_PROJECT_DIR
  tags:
Maiken's avatar
Maiken committed
    - general-shared 
Maiken's avatar
Maiken committed
  artifacts:
Maiken's avatar
Maiken committed
    paths:
    - $CI_PROJECT_DIR/rpmbuild/SRPMS/
    - $CI_PROJECT_DIR/rpmbuild/RPMS/noarch/
    - $CI_PROJECT_DIR/rpmbuild/RPMS/x86_64/
Maiken's avatar
Maiken committed
  allow_failure: false
Maiken's avatar
Maiken committed
 
deploy_staging:
  stage: deploy_and_test
Maiken's avatar
Maiken committed
  script:
    - echo "Deploying to staging server"
Maiken's avatar
Maiken committed
    - yum install -y time
Maiken's avatar
Maiken committed
    - echo "Preparing rpms for localinstall"
Maiken's avatar
Maiken committed
    - mkdir allrpms
    - cp rpmbuild/RPMS/noarch/* allrpms
    - cp rpmbuild/RPMS/x86_64/* allrpms
    - cd allrpms
Maiken's avatar
Maiken committed
    - echo "Doing localinstall"
Maiken's avatar
Maiken committed
    - yum localinstall *.rpm -y
Maiken's avatar
Maiken committed
     - echo "Installing CAs"
    - wget http://repository.egi.eu/sw/production/cas/1/current/repo-files/EGI-trustanchors.repo
    - mv EGI-trustanchors.repo /etc/yum.repos.d/
    - yum install ca_policy_igtf-classic ca_policy_igtf-misc ca_policy_igtf-slcs -y
Maiken's avatar
Maiken committed
    - echo "Generating test host certificate"
Maiken's avatar
Maiken committed
    - wget http://svn.nordugrid.org/trac/nordugrid/export/32500/contrib/certificate_generator/CertificateGenerator.py
    - python CertificateGenerator.py --CA autocertif --host 158.39.75.5 --validity 365
Maiken's avatar
Maiken committed
    - ls -lhrt
    - mv host* /etc/grid-security/
    - mv autocertif* /etc/grid-security/certificates
    - mv *.0 /etc/grid-security/certificates
    - ls -lhrt /etc/grid-security/
Maiken's avatar
Maiken committed
    - ls -lhrt /etc/rc.d/init.d
Maiken's avatar
Maiken committed
    - ls -lhrt /etc/arc.conf
    - sestatus
    - echo "validating arc.config and starting services"
Maiken's avatar
Maiken committed
    - /etc/rc.d/init.d/a-rex validate
    - /etc/rc.d/init.d/a-rex start
Maiken's avatar
Maiken committed
    #- /etc/rc.d/init.d/gridftpd start
    - echo 'Test-submit through local plugin '
    - arcproxy -C /etc/.globus/usercert.pem -K /etc/.globus/userkey.pem
    - arcsub -d 5 --direct -c 158.39.75.5 -S org.nordugrid.local /arc/arc-testing/hello.xrls
    - arcsub -d 5 --direct -c 158.39.75.5 -S org.nordugrid.local /arc/arc-testing/hello_inputfile.xrls
    - arcstat --all --long
    - arcinfo -c 158.39.75.5 -S org.nordugrid.local
    - echo "Skipping emies submission - not working yet."
    #- echo 'test-submit through emies plugin'
    #- arcsub -d 5 --direct -c 158.39.75.5 -S org.ogf.glue.emies.activitycreation /arc/arc-testing/hello.xrls
    #- arcsub -d 5 --direct -c 158.39.75.5 -S org.ogf.glue.emies.activitycreation /arc/arc-testing/hello_inputfile.xrls
    #- sleep 5m
Maiken's avatar
Maiken committed
    - /etc/rc.d/init.d/a-rex stop
    #- /etc/rc.d/init.d/gridftpd stop
    - ls -lhrt /var/www/html/arc-logs
    - ls -lhrt /var/www/html/arc-tests
Maiken's avatar
Maiken committed
    - cp -r /var/www/html/arc-logs $CI_PROJECT_DIR
    - cp -r /var/www/html/arc-tests $CI_PROJECT_DIR
Maiken's avatar
Maiken committed
  environment:
    name: staging
  artifacts:
    when: always
    paths:
Maiken's avatar
Maiken committed
     - $CI_PROJECT_DIR/arc-logs/
     - $CI_PROJECT_DIR/arc-tests/
Maiken's avatar
Maiken committed
  dependencies:
    - make_rpms
  tags:
    - deploy
Maiken's avatar
Maiken committed
  only: 
    - branches@nordugrid/arc
    - tags@nordugrid/arc
  allow_failure: true
Maiken's avatar
Maiken committed

##note-to-self: can also downlaod the rpms from latest job with wget 'https://source.coderefinery.org/nordugrid/arc/-/jobs/artifacts/master/download?job=make_rpms' -O artifacts.zip