2 Feature: custom APT sources to build branches
3 As a Tails developer, when I build Tails, I'd be happy if
4 the proper APT sources were automatically picked depending
5 on which Git branch I am working on.
7 Scenario: build from an untagged stable branch where the config/APT_overlays.d directory is empty
8 Given I am working on the stable base branch
9 And the last version mentioned in debian/changelog is 1.0
10 And Tails 1.0 has not been released yet
11 And the config/APT_overlays.d directory is empty
12 When I successfully run tails-custom-apt-sources
13 Then I should see only the 'stable' suite
15 Scenario: build from an untagged stable branch where config/APT_overlays.d is not empty
16 Given I am working on the stable base branch
17 And the last version mentioned in debian/changelog is 1.0
18 And Tails 1.0 has not been released yet
19 And config/APT_overlays.d contains 'feature-foo'
20 And config/APT_overlays.d contains 'bugfix-bar'
21 When I successfully run tails-custom-apt-sources
22 Then I should see the 'stable' suite
23 And I should see the 'feature-foo' suite
24 And I should see the 'bugfix-bar' suite
25 But I should not see the '1.0' suite
27 Scenario: build from an untagged stable branch with no encoded time-based snapshot
28 Given I am working on the stable base branch
29 And Tails 0.10 has been released
30 And the last versions mentioned in debian/changelog are 0.10 and 1.0
31 And Tails 1.0 has not been released yet
32 And no frozen APT snapshot is encoded in config/APT_snapshots.d
33 When I successfully run "apt-snapshots-serials prepare-build"
34 And I run "apt-mirror debian"
36 When I run "apt-mirror torproject"
38 When I successfully run "apt-mirror debian-security"
39 Then I should see a time-based snapshot
41 Scenario: build from an untagged stable branch with encoded time-based snapshots
42 Given I am working on the stable base branch
43 And Tails 0.10 has been released
44 And the last versions mentioned in debian/changelog are 0.10 and 1.0
45 And Tails 1.0 has not been released yet
46 And frozen APT snapshots are encoded in config/APT_snapshots.d
47 When I successfully run "apt-snapshots-serials prepare-build"
48 And I successfully run "apt-mirror debian"
49 Then I should see a time-based snapshot
50 When I successfully run "apt-mirror torproject"
51 Then I should see a time-based snapshot
52 When I successfully run "apt-mirror debian-security"
53 Then I should see a time-based snapshot
55 Scenario: build from a tagged stable branch where the config/APT_overlays.d directory is empty
56 Given Tails 0.10 has been released
57 And the last version mentioned in debian/changelog is 0.10
58 And I am working on the stable base branch
59 And I checkout the 0.10 tag
60 And the config/APT_overlays.d directory is empty
61 When I successfully run tails-custom-apt-sources
62 Then I should see only the '0.10' suite
64 Scenario: build from a tagged stable branch where config/APT_overlays.d is not empty
65 Given Tails 0.10 has been released
66 And the last version mentioned in debian/changelog is 0.10
67 And I am working on the stable base branch
68 And I checkout the 0.10 tag
69 And config/APT_overlays.d contains 'feature-foo'
70 When I run tails-custom-apt-sources
73 Scenario: build from a tagged stable branch with no encoded time-based snapshot
74 Given I am working on the stable base branch
75 And Tails 0.10 has been released
76 And the last version mentioned in debian/changelog is 0.10
77 And no frozen APT snapshot is encoded in config/APT_snapshots.d
78 And I checkout the 0.10 tag
79 When I successfully run "apt-snapshots-serials prepare-build"
80 And I run "apt-mirror debian"
82 When I run "apt-mirror torproject"
84 When I successfully run "apt-mirror debian-security"
85 Then I should see the 0.10 tagged snapshot
87 Scenario: build from a tagged stable branch with encoded time-based snapshots
88 Given I am working on the stable base branch
89 And Tails 0.10 has been released
90 And the last version mentioned in debian/changelog is 0.10
91 And frozen APT snapshots are encoded in config/APT_snapshots.d
92 And I checkout the 0.10 tag
93 When I successfully run "apt-snapshots-serials prepare-build"
94 And I successfully run "apt-mirror debian"
95 Then I should see the 0.10 tagged snapshot
96 When I successfully run "apt-mirror torproject"
97 Then I should see the 0.10 tagged snapshot
98 When I successfully run "apt-mirror debian-security"
99 Then I should see the 0.10 tagged snapshot
101 Scenario: build from a bugfix branch without overlays for a stable release
102 Given Tails 0.10 has been released
103 And the last version mentioned in debian/changelog is 0.10.1
104 And Tails 0.10.1 has not been released yet
105 And I am working on the bugfix/disable_gdomap branch based on stable
106 And the config/APT_overlays.d directory is empty
107 When I successfully run tails-custom-apt-sources
108 Then I should see only the 'stable' suite
110 Scenario: build from a bugfix branch with overlays for a stable release
111 Given Tails 0.10 has been released
112 And the last version mentioned in debian/changelog is 0.10.1
113 And Tails 0.10.1 has not been released yet
114 And I am working on the bugfix/disable_gdomap branch based on stable
115 And config/APT_overlays.d contains 'bugfix-disable-gdomap'
116 And config/APT_overlays.d contains 'bugfix-bar'
117 When I successfully run tails-custom-apt-sources
118 Then I should see the 'stable' suite
119 And I should see the 'bugfix-disable-gdomap' suite
120 And I should see the 'bugfix-bar' suite
121 But I should not see the '0.10' suite
123 Scenario: build from a bugfix branch with no encoded time-based snapshot for a stable release
124 Given Tails 0.10 has been released
125 And the last version mentioned in debian/changelog is 0.10.1
126 And Tails 0.10.1 has not been released yet
127 And I am working on the bugfix/disable_gdomap branch based on stable
128 And no frozen APT snapshot is encoded in config/APT_snapshots.d
129 When I successfully run "apt-snapshots-serials prepare-build"
130 And I run "apt-mirror debian"
132 When I run "apt-mirror torproject"
134 When I successfully run "apt-mirror debian-security"
135 Then I should see a time-based snapshot
137 Scenario: build from a bugfix branch with encoded time-based snapshots for a stable release
138 Given Tails 0.10 has been released
139 And the last version mentioned in debian/changelog is 0.10.1
140 And Tails 0.10.1 has not been released yet
141 And I am working on the bugfix/disable_gdomap branch based on stable
142 And frozen APT snapshots are encoded in config/APT_snapshots.d
143 When I successfully run "apt-snapshots-serials prepare-build"
144 And I successfully run "apt-mirror debian"
145 Then I should see a time-based snapshot
146 When I successfully run "apt-mirror torproject"
147 Then I should see a time-based snapshot
148 When I successfully run "apt-mirror debian-security"
149 Then I should see a time-based snapshot
151 Scenario: build from an untagged testing branch where the config/APT_overlays.d directory is empty
152 Given I am working on the testing base branch
153 And the last version mentioned in debian/changelog is 0.11
154 And Tails 0.11 has not been released yet
155 And the config/APT_overlays.d directory is empty
156 When I successfully run tails-custom-apt-sources
157 Then I should see the 'testing' suite
158 And I should not see the '0.11' suite
159 And I should not see the 'feature-foo' suite
160 And I should not see the 'bugfix-bar' suite
162 Scenario: build from an untagged testing branch where config/APT_overlays.d is not empty
163 Given I am working on the testing base branch
164 And the last version mentioned in debian/changelog is 0.11
165 And Tails 0.11 has not been released yet
166 And config/APT_overlays.d contains 'feature-foo'
167 And config/APT_overlays.d contains 'bugfix-bar'
168 When I successfully run tails-custom-apt-sources
169 Then I should see the 'testing' suite
170 And I should see the 'feature-foo' suite
171 And I should see the 'bugfix-bar' suite
172 But I should not see the '0.11' suite
174 Scenario: build from an untagged testing branch with no encoded time-based snapshot
175 Given I am working on the testing base branch
176 And Tails 0.10 has been released
177 And the last versions mentioned in debian/changelog are 0.10 and 1.0
178 And Tails 1.0 has not been released yet
179 And no frozen APT snapshot is encoded in config/APT_snapshots.d
180 When I successfully run "apt-snapshots-serials prepare-build"
181 And I run "apt-mirror debian"
183 When I run "apt-mirror torproject"
185 When I successfully run "apt-mirror debian-security"
186 Then I should see a time-based snapshot
188 Scenario: build from an untagged testing branch with encoded time-based snapshots
189 Given I am working on the testing base branch
190 And Tails 0.10 has been released
191 And the last versions mentioned in debian/changelog are 0.10 and 1.0
192 And Tails 1.0 has not been released yet
193 And frozen APT snapshots are encoded in config/APT_snapshots.d
194 When I successfully run "apt-snapshots-serials prepare-build"
195 And I successfully run "apt-mirror debian"
196 Then I should see a time-based snapshot
197 When I successfully run "apt-mirror torproject"
198 Then I should see a time-based snapshot
199 When I successfully run "apt-mirror debian-security"
200 Then I should see a time-based snapshot
202 Scenario: build from a tagged testing branch where the config/APT_overlays.d directory is empty
203 Given I am working on the testing base branch
204 And the last version mentioned in debian/changelog is 0.11
205 And Tails 0.11 has been released
206 And the config/APT_overlays.d directory is empty
207 And I checkout the 0.11 tag
208 When I successfully run tails-custom-apt-sources
209 Then I should see only the '0.11' suite
211 Scenario: build from a tagged testing branch where config/APT_overlays.d is not empty
212 Given I am working on the testing base branch
213 And the last version mentioned in debian/changelog is 0.11
214 And Tails 0.11 has been released
215 And config/APT_overlays.d contains 'feature-foo'
216 And I checkout the 0.11 tag
217 When I run tails-custom-apt-sources
220 Scenario: build from a tagged testing branch with no encoded time-based snapshot
221 Given I am working on the testing base branch
222 And the last version mentioned in debian/changelog is 0.11
223 And Tails 0.11 has been released
224 And no frozen APT snapshot is encoded in config/APT_snapshots.d
225 And I checkout the 0.11 tag
226 When I successfully run "apt-snapshots-serials prepare-build"
227 And I run "apt-mirror debian"
229 When I run "apt-mirror torproject"
231 When I successfully run "apt-mirror debian-security"
232 Then I should see the 0.11 tagged snapshot
234 Scenario: build from a tagged testing branch with encoded time-based snapshots
235 Given I am working on the testing base branch
236 And the last version mentioned in debian/changelog is 0.11
237 And Tails 0.11 has been released
238 And frozen APT snapshots are encoded in config/APT_snapshots.d
239 And I checkout the 0.11 tag
240 When I successfully run "apt-snapshots-serials prepare-build"
241 And I successfully run "apt-mirror debian"
242 Then I should see the 0.11 tagged snapshot
243 When I successfully run "apt-mirror torproject"
244 Then I should see the 0.11 tagged snapshot
245 When I successfully run "apt-mirror debian-security"
246 Then I should see the 0.11 tagged snapshot
248 Scenario: build a release candidate from a tagged testing branch
249 Given I am working on the testing base branch
250 And Tails 0.11 has been released
251 And the last version mentioned in debian/changelog is 0.12~rc1
252 And Tails 0.12-rc1 has been tagged
253 And the config/APT_overlays.d directory is empty
254 And I checkout the 0.12-rc1 tag
255 When I successfully run tails-custom-apt-sources
256 Then I should see only the '0.12-rc1' suite
258 Scenario: build a release candidate from a tagged testing branch where config/APT_overlays.d is not empty
259 Given I am working on the testing base branch
260 And Tails 0.11 has been released
261 And the last version mentioned in debian/changelog is 0.12~rc1
262 And Tails 0.12-rc1 has been tagged
263 And config/APT_overlays.d contains 'bugfix-bar'
264 And I checkout the 0.12-rc1 tag
265 When I run tails-custom-apt-sources
268 Scenario: build from a bugfix branch with no encoded time-based snapshot for a major release
269 Given I am working on the testing base branch
270 And Tails 0.10~rc1 has been released
271 And the last versions mentioned in debian/changelog are 0.10~rc1 and 0.10
272 And Tails 0.10 has not been released yet
273 And I am working on the bugfix/disable_gdomap branch based on testing
274 And no frozen APT snapshot is encoded in config/APT_snapshots.d
275 When I successfully run "apt-snapshots-serials prepare-build"
276 And I run "apt-mirror debian"
278 When I run "apt-mirror torproject"
280 When I successfully run "apt-mirror debian-security"
281 Then I should see a time-based snapshot
283 Scenario: build from a bugfix branch with encoded time-based snapshots for a major release
284 Given I am working on the testing base branch
285 And Tails 0.10~rc1 has been released
286 And the last versions mentioned in debian/changelog are 0.10~rc1 and 0.10
287 And Tails 0.10 has not been released yet
288 And I am working on the bugfix/disable_gdomap branch based on testing
289 And frozen APT snapshots are encoded in config/APT_snapshots.d
290 When I successfully run "apt-snapshots-serials prepare-build"
291 And I successfully run "apt-mirror debian"
292 Then I should see a time-based snapshot
293 When I successfully run "apt-mirror torproject"
294 Then I should see a time-based snapshot
295 When I successfully run "apt-mirror debian-security"
296 Then I should see a time-based snapshot
298 Scenario: build from the devel branch without overlays
299 Given I am working on the devel base branch
300 And the config/APT_overlays.d directory is empty
301 When I successfully run tails-custom-apt-sources
302 Then I should see only the 'devel' suite
304 Scenario: build from the devel branch with overlays
305 Given I am working on the devel base branch
306 And config/APT_overlays.d contains 'feature-foo'
307 And config/APT_overlays.d contains 'bugfix-bar'
308 When I successfully run tails-custom-apt-sources
309 Then I should see the 'devel' suite
310 And I should see the 'feature-foo' suite
311 And I should see the 'bugfix-bar' suite
313 Scenario: build from the devel branch with no encoded time-based snapshot
314 Given I am working on the devel base branch
315 And no frozen APT snapshot is encoded in config/APT_snapshots.d
316 When I successfully run "apt-snapshots-serials prepare-build"
317 And I successfully run "apt-mirror debian"
318 Then I should see a time-based snapshot
319 When I successfully run "apt-mirror torproject"
320 Then I should see a time-based snapshot
321 When I successfully run "apt-mirror debian-security"
322 Then I should see a time-based snapshot
324 Scenario: build from the devel branch with encoded time-based snapshots
325 Given I am working on the devel base branch
326 And frozen APT snapshots are encoded in config/APT_snapshots.d
327 When I successfully run "apt-snapshots-serials prepare-build"
328 And I run "apt-mirror debian"
330 When I run "apt-mirror torproject"
332 When I successfully run "apt-mirror debian-security"
333 Then I should see a time-based snapshot
335 Scenario: build from the feature/jessie branch without overlays
336 Given I am working on the feature/jessie base branch
337 And the config/APT_overlays.d directory is empty
338 When I successfully run tails-custom-apt-sources
339 Then I should see only the 'feature-jessie' suite
341 Scenario: build from the feature/jessie branch with overlays
342 Given I am working on the feature/jessie base branch
343 And config/APT_overlays.d contains 'feature-7756-reintroduce-whisperback'
344 When I successfully run tails-custom-apt-sources
345 Then I should see the 'feature-jessie' suite
346 And I should see the 'feature-7756-reintroduce-whisperback' suite
348 Scenario: build from a feature branch with overlays based on devel
349 Given I am working on the feature/thunderbird branch based on devel
350 And config/APT_overlays.d contains 'feature-thunderbird'
351 And config/APT_overlays.d contains 'bugfix-bar'
352 When I successfully run tails-custom-apt-sources
353 Then I should see the 'devel' suite
354 And I should see the 'feature-thunderbird' suite
355 And I should see the 'bugfix-bar' suite
357 Scenario: build from a feature branch without overlays based on devel
358 Given I am working on the feature/thunderbird branch based on devel
359 And the config/APT_overlays.d directory is empty
360 When I successfully run tails-custom-apt-sources
361 Then I should see only the 'devel' suite
363 Scenario: build from a feature branch based on devel with no encoded time-based snapshot
364 Given I am working on the feature/thunderbird branch based on devel
365 And no frozen APT snapshot is encoded in config/APT_snapshots.d
366 When I successfully run "apt-snapshots-serials prepare-build"
367 And I successfully run "apt-mirror debian"
368 Then I should see a time-based snapshot
369 When I successfully run "apt-mirror torproject"
370 Then I should see a time-based snapshot
371 When I successfully run "apt-mirror debian-security"
372 Then I should see a time-based snapshot
374 Scenario: build from a feature branch based on devel with encoded time-based snapshots
375 Given I am working on the feature/thunderbird branch based on devel
376 And frozen APT snapshots are encoded in config/APT_snapshots.d
377 When I successfully run "apt-snapshots-serials prepare-build"
378 And I run "apt-mirror debian"
380 When I run "apt-mirror torproject"
382 When I successfully run "apt-mirror debian-security"
383 Then I should see a time-based snapshot
385 Scenario: build from a feature branch with overlays based on feature/jessie
386 Given I am working on the feature/7756-reintroduce-whisperback branch based on feature/jessie
387 And config/APT_overlays.d contains 'feature-7756-reintroduce-whisperback'
388 And config/APT_overlays.d contains 'bugfix-bar'
389 When I successfully run tails-custom-apt-sources
390 Then I should see the 'feature-jessie' suite
391 And I should see the 'feature-7756-reintroduce-whisperback' suite
392 And I should see the 'bugfix-bar' suite
394 Scenario: build from a feature branch without overlays based on feature/jessie
395 Given I am working on the feature/thunderbird branch based on feature/jessie
396 And the config/APT_overlays.d directory is empty
397 When I successfully run tails-custom-apt-sources
398 Then I should see only the 'feature-jessie' suite
400 Scenario: build from a feature branch based on devel with dots in its name
401 Given I am working on the feature/live-boot-3.x branch based on devel
402 And config/APT_overlays.d contains 'feature-live-boot-3.x'
403 When I successfully run tails-custom-apt-sources
404 Then I should see the 'devel' suite
405 And I should see the 'feature-live-boot-3.x' suite
407 Scenario: build from a branch that has no config/APT_overlays.d directory
408 Given I am working on the stable base branch
409 And the config/APT_overlays.d directory does not exist
410 When I run tails-custom-apt-sources
413 Scenario: build from a branch that has no config/base_branch file
414 Given I am working on the stable base branch
415 And the config/base_branch file does not exist
416 When I run tails-custom-apt-sources
419 Scenario: build from a branch where config/base_branch is empty
420 Given I am working on the stable base branch
421 And the config/base_branch file is empty
422 When I run tails-custom-apt-sources