Add required Infrastructure for Gitlab merges
[gromacs.git] / admin / ci-templates / .regressiontest-template.yml
blobad9c052e34fa900617156990ea6408f498f5d94b
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
6   variables:
7     KUBERNETES_CPU_LIMIT: 1
8     KUBERNETES_CPU_REQUEST: 1
9     KUBERNETES_MEMORY_LIMIT: 2Gi
10   only:
11     refs:
12       - web
13       - pushes
14       - merge_requests
15       - schedules
16   except:
17     variables:
18       - $GROMACS_RELEASE
19 # Always clone the default version for this branch, release-2020 in this case
20   script:
21     - export REGTESTBRANCH=release-2020
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 $REGTESTBRANCH"
35     - mv gmx-regressiontests.tar.gz ..
36     - cd ..
37   artifacts:
38     paths:
39       - gmx-regressiontests.tar.gz
41 .regressiontests-release-template:
42   image: biophysics/gcc-gromacs
43   stage: release-package
45   variables:
46     KUBERNETES_CPU_LIMIT: 1
47     KUBERNETES_CPU_REQUEST: 1
48     KUBERNETES_MEMORY_LIMIT: 2Gi
49   only:
50     refs:
51       - web
52       - schedules
53       - triggers
54     variables:
55       - $GROMACS_RELEASE
56   script:
57     - VERSION=`cat version.json |
58         python3 -c "import json,sys; print(json.load(sys.stdin)['version'])"`
59     - REGTESTNAME="regressiontests-"$VERSION
60     - if [[ $GROMACS_RELEASE != "true" ]] ; then
61           REGTESTNAME=$REGTESTNAME-dev ;
62       fi
63     - export REGTESTBRANCH=release-2020
64     - if [[ $CI_COMMIT_REF_NAME == "master" || $CI_COMMIT_REF_NAME == "release-20"[1-2][0-9] ]] ; then
65          export REGTESTBRANCH=$CI_COMMIT_REF_NAME ;
66       fi
67     - if [[ ! -d regressiontests ]] ; then
68         mkdir regressiontests ;
69         cd regressiontests ;
70         git init ;
71         cd .. ;
72       fi
73     - cd regressiontests
74     - git fetch https://gitlab.com/gromacs/gromacs-regressiontests.git $REGTESTBRANCH
75     - git checkout -qf FETCH_HEAD
76     - git clean -ffdxq
77     - git gc
78     - git archive -o $REGTESTNAME.tar.gz --prefix $REGTESTNAME/ -9 HEAD
79     - mv $REGTESTNAME.tar.gz ..
80     - echo "Build regressiontests for branch  $REGTESTBRANCH"
81     - cd ..
82   artifacts:
83     paths:
84       - regressiontests-*.tar.gz