Consolidate documentation templates.
[alexxy/gromacs.git] / admin / ci-templates / .regressiontest-template.yml
1 # Set up to only fetch the files and prepare everything for merge requests
2 .regressiontests-template:
3   image: biophysics/gcc-gromacs
4   stage: configure-build
5
6   variables:
7     KUBERNETES_CPU_LIMIT: 1
8     KUBERNETES_CPU_REQUEST: 1
9     KUBERNETES_MEMORY_LIMIT: 2Gi
10   only:
11     refs:
12       - merge_requests
13       - schedules
14       - web
15   except:
16     variables:
17       - $GROMACS_RELEASE
18 # Always clone the default version for this branch, master in this case
19   script:
20     - export REGTESTBRANCH=master
21     - if [ ! -z $CI_MERGE_REQUEST_TARGET_BRANCH_NAME ] ; then
22         if [[ ! -d regressiontests ]] ; then
23           mkdir regressiontests ;
24           cd regressiontests ;
25           git init ;
26           cd .. ;
27         fi ;
28         cd regressiontests ;
29         git fetch https://gitlab.com/gromacs/gromacs-regressiontests.git $REGTESTBRANCH ;
30         git checkout -qf FETCH_HEAD ;
31         git clean -ffdxq ;
32         git gc ;
33         git archive -o gmx-regressiontests.tar.gz --prefix regressiontests/ -9 HEAD;
34         echo "Build regressiontests for branch $CI_MERGE_REQUEST_TARGET_BRANCH_NAME";
35         cd ..;
36       else
37         touch regressiontests;
38         tar czf gmx-regressiontests.tar.gz regressiontests ;
39       fi;
40   artifacts:
41     paths:
42       - gmx-regressiontests.tar.gz
43
44 .regressiontests-release-template:
45   # Docker image uploaded to dockerhub by user eriklindahl
46   # TODO: Get DockerFile for admin/dockerfiles
47   image: biophysics/gcc-gromacs
48   stage: release-package
49
50   variables:
51     KUBERNETES_CPU_LIMIT: 1
52     KUBERNETES_CPU_REQUEST: 1
53     KUBERNETES_MEMORY_LIMIT: 2Gi
54   only:
55     refs:
56       - schedules
57       - web
58       - triggers
59     variables:
60       - $GROMACS_RELEASE
61   script:
62     - VERSION=`cat version.json |
63         python3 -c "import json,sys; print(json.load(sys.stdin)['version'])"`
64     - REGTESTNAME="regressiontests-"$VERSION
65     - if [[ $GROMACS_RELEASE != "true" ]] ; then
66           REGTESTNAME=$REGTESTNAME-dev ;
67       fi
68     - export REGTESTBRANCH=master
69     - if [[ $CI_COMMIT_REF_NAME == "master" || $CI_COMMIT_REF_NAME == "release-20"[1-2][0-9] ]] ; then
70          export REGTESTBRANCH=$CI_COMMIT_REF_NAME ;
71       fi
72     - if [[ ! -d regressiontests ]] ; then
73         mkdir regressiontests ;
74         cd regressiontests ;
75         git init ;
76         cd .. ;
77       fi
78     - cd regressiontests
79     - git fetch https://gitlab.com/gromacs/gromacs-regressiontests.git $REGTESTBRANCH
80     - git checkout -qf FETCH_HEAD
81     - git clean -ffdxq
82     - git gc
83     - git archive -o $REGTESTNAME.tar.gz --prefix $REGTESTNAME/ -9 HEAD
84     - mv $REGTESTNAME.tar.gz ..
85     - echo "Build regressiontests for branch  $REGTESTBRANCH"
86     - cd ..
87   artifacts:
88     paths:
89       - regressiontests-*.tar.gz