Merge commit d30f2cb6 from release-2020 into master
[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   image: biophysics/gcc-gromacs
46   stage: release-package
47
48   variables:
49     KUBERNETES_CPU_LIMIT: 1
50     KUBERNETES_CPU_REQUEST: 1
51     KUBERNETES_MEMORY_LIMIT: 2Gi
52   only:
53     refs:
54       - schedules
55       - web
56       - triggers
57     variables:
58       - $GROMACS_RELEASE
59   script:
60     - VERSION=`cat version.json |
61         python3 -c "import json,sys; print(json.load(sys.stdin)['version'])"`
62     - REGTESTNAME="regressiontests-"$VERSION
63     - if [[ $GROMACS_RELEASE != "true" ]] ; then
64           REGTESTNAME=$REGTESTNAME-dev ;
65       fi
66     - export REGTESTBRANCH=master
67     - if [[ $CI_COMMIT_REF_NAME == "master" || $CI_COMMIT_REF_NAME == "release-20"[1-2][0-9] ]] ; then
68          export REGTESTBRANCH=$CI_COMMIT_REF_NAME ;
69       fi
70     - if [[ ! -d regressiontests ]] ; then
71         mkdir regressiontests ;
72         cd regressiontests ;
73         git init ;
74         cd .. ;
75       fi
76     - cd regressiontests
77     - git fetch https://gitlab.com/gromacs/gromacs-regressiontests.git $REGTESTBRANCH
78     - git checkout -qf FETCH_HEAD
79     - git clean -ffdxq
80     - git gc
81     - git archive -o $REGTESTNAME.tar.gz --prefix $REGTESTNAME/ -9 HEAD
82     - mv $REGTESTNAME.tar.gz ..
83     - echo "Build regressiontests for branch  $REGTESTBRANCH"
84     - cd ..
85   artifacts:
86     paths:
87       - regressiontests-*.tar.gz