-
Notifications
You must be signed in to change notification settings - Fork 15
/
Copy path.gitlab-ci.yml
135 lines (123 loc) · 3.56 KB
/
.gitlab-ci.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
variables:
SCHEDULER_PARAMETERS: "-N 1 -M escori -t 06:00:00 -q compile"
.setup-buildtest: &setup-buildtest
- module load python
- conda create -p $CI_PROJECT_DIR/.conda python=3.8 -y
- source activate buildtest
- git clone -b devel https://github.com/buildtesters/buildtest
- cd buildtest
- . setup.sh
- buildtest --help
- mkdir -p $HOME/.buildtest
.cleanup-buildtest: &cleanup-buildtest
- conda env remove -p $CI_PROJECT_DIR/.conda -y
stages:
- build
- test
validate_tests:
stage: build
tags: [cori]
rules:
- if: '$CI_PIPELINE_SOURCE == "web" || $CI_PIPELINE_SOURCE == "external_pull_request_event" || $CI_PIPELINE_SOURCE == "push"'
when: manual
before_script:
- *setup-buildtest
script:
- whoami
- cd $CI_PROJECT_DIR/
- cp $CI_PROJECT_DIR/config.yml $HOME/.buildtest/config.yml
- buildtest config validate
- buildtest buildspec find --rebuild --root $CI_PROJECT_DIR/buildspecs
- mkdir -p $CI_PROJECT_DIR/.artifacts
- cp $BUILDTEST_ROOT/var/{buildspec-cache.json,buildspec.error} $CI_PROJECT_DIR/.artifacts
- source deactivate
after_script:
- *cleanup-buildtest
artifacts:
paths:
- $CI_PROJECT_DIR/.artifacts
expire_in: 2 week
scheduled_system_check:
stage: test
only:
refs:
- schedules
variables:
- $DAILYCHECK == "True"
tags: [cori]
before_script:
- *setup-buildtest
script:
- whoami && ls -l
- git log --oneline -1
- echo $CI_PROJECT_DIR
- cd $CI_PROJECT_DIR
- cp $CI_PROJECT_DIR/config.yml $HOME/.buildtest/config.yml
- buildtest config validate
- buildtest buildspec find --rebuild --root $CI_PROJECT_DIR/buildspecs
- buildtest build --tags daily -ft daily
- buildtest report --filter state=FAIL
- mkdir $CI_PROJECT_DIR/.artifacts
#- cp $BUILDTEST_ROOT/buildtest.log $CI_PROJECT_DIR/.artifacts
- cp $BUILDTEST_ROOT/var/report.json $CI_PROJECT_DIR/.artifacts
- source deactivate
after_script:
- *cleanup-buildtest
artifacts:
paths:
- $CI_PROJECT_DIR/.artifacts
expire_in: 2 week
run_everything:
stage: test
tags: [cori]
only:
refs:
- web
when: manual
before_script:
- *setup-buildtest
script:
- cd $CI_PROJECT_DIR
- cp $CI_PROJECT_DIR/config.yml $HOME/.buildtest/config.yml
- buildtest config validate
- buildtest build -b buildspecs
- buildtest report --filter state=FAIL
- mkdir $CI_PROJECT_DIR/.artifacts
#- cp $BUILDTEST_ROOT/buildtest.log $CI_PROJECT_DIR/.artifacts
- cp $BUILDTEST_ROOT/var/report.json $CI_PROJECT_DIR/.artifacts
- source deactivate
after_script:
- *cleanup-buildtest
artifacts:
paths:
- $CI_PROJECT_DIR/.artifacts
e4s_tests:
stage: test
only:
refs:
- schedules
variables:
- $E4S == "True"
tags: [cori]
before_script:
- *setup-buildtest
script:
- whoami && ls -l
- git log --oneline -1
- echo $CI_PROJECT_DIR
- cd $CI_PROJECT_DIR
- cp $CI_PROJECT_DIR/config.yml $HOME/.buildtest/config.yml
- buildtest config validate
- buildtest buildspec find --rebuild --root $CI_PROJECT_DIR/buildspecs
- buildtest build --tags e4s
- buildtest report --filter state=FAIL
- mkdir $CI_PROJECT_DIR/.artifacts
#- cp $BUILDTEST_ROOT/buildtest.log $CI_PROJECT_DIR/.artifacts
- cp $BUILDTEST_ROOT/var/report.json $CI_PROJECT_DIR/.artifacts
- source deactivate
after_script:
- *cleanup-buildtest
artifacts:
paths:
- $CI_PROJECT_DIR/.artifacts
expire_in: 2 week