File: gitlab-ci-ubuntu.yml

package info (click to toggle)
ns3 3.47-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 106,848 kB
  • sloc: cpp: 633,577; python: 15,491; ansic: 6,773; makefile: 1,959; sh: 1,021; pascal: 632; javascript: 167; perl: 102
file content (221 lines) | stat: -rw-r--r-- 5,103 bytes parent folder | download
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
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
# NS3 CI script for ubuntu

# Any scheduled pipeline for Ubuntu should define a variable, named
# "RELEASE", that has a value "weekly". Also, the variable "UBUNTU" should be
# set to True.

# Please take a look at .gitlab-ci.yml to check the dependencies of Ubuntu jobs.

# Ubuntu base
.weekly-base-ubuntu:
  extends: .base-build
  rules:
    - if: $RELEASE == "weekly"
    - if: $CI_PIPELINE_SOURCE == 'merge_request_event'
      allow_failure: true
  before_script:
    - apt update
    - apt upgrade -y
    - DEBIAN_FRONTEND=noninteractive apt install -y
      $COMPILER cmake ninja-build ccache
      python3 python3-dev
      gsl-bin libgsl-dev $LIBGSL
      libboost-all-dev
      libgtk-3-dev
      libfl-dev
      $LIBXML2 libxml2-dev
      libopenmpi-dev openmpi-bin openmpi-common openmpi-doc
      libsqlite3-dev sqlite3
      libeigen3-dev
      qtbase5-dev qtchooser qt5-qmake qtbase5-dev-tools
      ssh git

weekly-ubuntu:
  rules:
    - if: $RELEASE == "weekly"
    - if: $CI_PIPELINE_SOURCE == 'merge_request_event'
      when: manual
      allow_failure: true
  stage: pre-build
  script:
    - echo "Starting Ubuntu jobs"

# Ubuntu 22.04 (Until April 2027)
weekly-build-ubuntu-22.04-debug:
  extends: .weekly-base-ubuntu
  needs: ["weekly-ubuntu"]
  image: ubuntu:22.04
  stage: build
  variables:
    MODE: debug
    LIBGSL: libgsl27
    LIBXML2: libxml2
    COMPILER: g++

weekly-build-ubuntu-22.04-default:
  extends: .weekly-base-ubuntu
  needs: ["weekly-ubuntu"]
  image: ubuntu:22.04
  stage: build
  variables:
    MODE: default
    LIBGSL: libgsl27
    LIBXML2: libxml2
    COMPILER: g++

weekly-build-ubuntu-22.04-optimized:
  extends: .weekly-base-ubuntu
  needs: ["weekly-ubuntu"]
  image: ubuntu:22.04
  stage: build
  variables:
    MODE: optimized
    LIBGSL: libgsl27
    LIBXML2: libxml2
    COMPILER: g++

weekly-test-ubuntu-22.04-default:
  extends: .weekly-base-ubuntu
  image: ubuntu:22.04
  stage: test
  needs: ["weekly-build-ubuntu-22.04-default"]
  dependencies:
    - weekly-build-ubuntu-22.04-default
  variables:
    MODE: default
    LIBGSL: libgsl27
    LIBXML2: libxml2
    COMPILER: g++

weekly-test-ubuntu-22.04-optimized:
  extends: .weekly-base-ubuntu
  image: ubuntu:22.04
  stage: test
  needs: ["weekly-build-ubuntu-22.04-optimized"]
  dependencies:
    - weekly-build-ubuntu-22.04-optimized
  variables:
    MODE: optimized
    LIBGSL: libgsl27
    LIBXML2: libxml2
    COMPILER: g++

# Ubuntu 24.04 (Until April 2029)
weekly-build-ubuntu-24.04-debug:
  extends: .weekly-base-ubuntu
  needs: ["weekly-ubuntu"]
  image: ubuntu:24.04
  stage: build
  variables:
    MODE: debug
    LIBGSL: libgsl27
    LIBXML2: libxml2
    COMPILER: g++

weekly-build-ubuntu-24.04-default:
  extends: .weekly-base-ubuntu
  needs: ["weekly-ubuntu"]
  image: ubuntu:24.04
  stage: build
  variables:
    MODE: default
    LIBGSL: libgsl27
    LIBXML2: libxml2
    COMPILER: g++

weekly-build-ubuntu-24.04-optimized:
  extends: .weekly-base-ubuntu
  needs: ["weekly-ubuntu"]
  image: ubuntu:24.04
  stage: build
  variables:
    MODE: optimized
    LIBGSL: libgsl27
    LIBXML2: libxml2
    COMPILER: g++

weekly-test-ubuntu-24.04-default:
  extends: .weekly-base-ubuntu
  image: ubuntu:24.04
  stage: test
  needs: ["weekly-build-ubuntu-24.04-default"]
  dependencies:
    - weekly-build-ubuntu-24.04-default
  variables:
    MODE: default
    LIBGSL: libgsl27
    LIBXML2: libxml2
    COMPILER: g++

weekly-test-ubuntu-24.04-optimized:
  extends: .weekly-base-ubuntu
  image: ubuntu:24.04
  stage: test
  needs: ["weekly-build-ubuntu-24.04-optimized"]
  dependencies:
    - weekly-build-ubuntu-24.04-optimized
  variables:
    MODE: optimized
    LIBGSL: libgsl27
    LIBXML2: libxml2
    COMPILER: g++

# Ubuntu Rolling (latest released, might be non-LTS)
weekly-build-ubuntu-rolling-debug:
  extends: .weekly-base-ubuntu
  needs: ["weekly-ubuntu"]
  image: ubuntu:rolling
  stage: build
  variables:
    MODE: debug
    LIBGSL: libgsl28
    LIBXML2: libxml2-16
    COMPILER: g++

weekly-build-ubuntu-rolling-default:
  extends: .weekly-base-ubuntu
  needs: ["weekly-ubuntu"]
  image: ubuntu:rolling
  stage: build
  variables:
    MODE: default
    LIBGSL: libgsl28
    LIBXML2: libxml2-16
    COMPILER: g++

weekly-build-ubuntu-rolling-optimized:
  extends: .weekly-base-ubuntu
  needs: ["weekly-ubuntu"]
  image: ubuntu:rolling
  stage: build
  variables:
    MODE: optimized
    LIBGSL: libgsl28
    LIBXML2: libxml2-16
    COMPILER: g++

weekly-test-ubuntu-rolling-default:
  extends: .weekly-base-ubuntu
  image: ubuntu:rolling
  stage: test
  needs: ["weekly-build-ubuntu-rolling-default"]
  dependencies:
    - weekly-build-ubuntu-rolling-default
  variables:
    MODE: default
    LIBGSL: libgsl28
    LIBXML2: libxml2-16
    COMPILER: g++

weekly-test-ubuntu-rolling-optimized:
  extends: .weekly-base-ubuntu
  image: ubuntu:rolling
  stage: test
  needs: ["weekly-build-ubuntu-rolling-optimized"]
  dependencies:
    - weekly-build-ubuntu-rolling-optimized
  variables:
    MODE: optimized
    LIBGSL: libgsl28
    LIBXML2: libxml2-16
    COMPILER: g++