summaryrefslogtreecommitdiffstats
path: root/features/build.feature
blob: 74d314de243474a88ba51690f2ae0824c543a17f (plain)
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
@source
Feature: custom APT sources to build branches
  As a Tails developer, when I build Tails, I'd be happy if
  the proper APT sources were automatically picked depending
  on which Git branch I am working on.

  Scenario: build from an untagged stable branch where the config/APT_overlays.d directory is empty
    Given I am working on the stable base branch
    And the last version mentioned in debian/changelog is 1.0
    And Tails 1.0 has not been released yet
    And the config/APT_overlays.d directory is empty
    When I successfully run tails-custom-apt-sources
    Then I should see only the 'stable' suite

  Scenario: build from an untagged stable branch where config/APT_overlays.d is not empty
    Given I am working on the stable base branch
    And the last version mentioned in debian/changelog is 1.0
    And Tails 1.0 has not been released yet
    And config/APT_overlays.d contains 'feature-foo'
    And config/APT_overlays.d contains 'bugfix-bar'
    When I successfully run tails-custom-apt-sources
    Then I should see the 'stable' suite
    And I should see the 'feature-foo' suite
    And I should see the 'bugfix-bar' suite
    But I should not see the '1.0' suite

  Scenario: build from a tagged stable branch where the config/APT_overlays.d directory is empty
    Given Tails 0.10 has been released
    And the last version mentioned in debian/changelog is 0.10
    And I am working on the stable base branch
    And the config/APT_overlays.d directory is empty
    When I successfully run tails-custom-apt-sources
    Then I should see only the '0.10' suite

  Scenario: build from a tagged stable branch where config/APT_overlays.d is not empty
    Given Tails 0.10 has been released
    And the last version mentioned in debian/changelog is 0.10
    And I am working on the stable base branch
    And config/APT_overlays.d contains 'feature-foo'
    When I run tails-custom-apt-sources
    Then it should fail

  Scenario: build from a bugfix branch without overlays for a stable release
    Given Tails 0.10 has been released
    And the last version mentioned in debian/changelog is 0.10.1
    And Tails 0.10.1 has not been released yet
    And I am working on the bugfix/disable_gdomap branch based on stable
    And the config/APT_overlays.d directory is empty
    When I successfully run tails-custom-apt-sources
    Then I should see only the 'stable' suite

  Scenario: build from a bugfix branch with overlays for a stable release
    Given Tails 0.10 has been released
    And the last version mentioned in debian/changelog is 0.10.1
    And Tails 0.10.1 has not been released yet
    And I am working on the bugfix/disable_gdomap branch based on stable
    And config/APT_overlays.d contains 'bugfix-disable-gdomap'
    And config/APT_overlays.d contains 'bugfix-bar'
    When I successfully run tails-custom-apt-sources
    Then I should see the 'stable' suite
    And I should see the 'bugfix-disable-gdomap' suite
    And I should see the 'bugfix-bar' suite
    But I should not see the '0.10' suite

  Scenario: build from an untagged testing branch where the config/APT_overlays.d directory is empty
    Given I am working on the testing base branch
    And the last version mentioned in debian/changelog is 0.11
    And Tails 0.11 has not been released yet
    And the config/APT_overlays.d directory is empty
    When I successfully run tails-custom-apt-sources
    Then I should see the 'testing' suite
    And I should not see the '0.11' suite
    And I should not see the 'feature-foo' suite
    And I should not see the 'bugfix-bar' suite

  Scenario: build from an untagged testing branch where config/APT_overlays.d is not empty
    Given I am working on the testing base branch
    And the last version mentioned in debian/changelog is 0.11
    And Tails 0.11 has not been released yet
    And config/APT_overlays.d contains 'feature-foo'
    And config/APT_overlays.d contains 'bugfix-bar'
    When I successfully run tails-custom-apt-sources
    Then I should see the 'testing' suite
    And I should see the 'feature-foo' suite
    And I should see the 'bugfix-bar' suite
    But I should not see the '0.11' suite

  Scenario: build from a tagged testing branch where the config/APT_overlays.d directory is empty
    Given I am working on the testing base branch
    And the last version mentioned in debian/changelog is 0.11
    And Tails 0.11 has been released
    And the config/APT_overlays.d directory is empty
    When I successfully run tails-custom-apt-sources
    Then I should see only the '0.11' suite

  Scenario: build from a tagged testing branch where config/APT_overlays.d is not empty
    Given I am working on the testing base branch
    And the last version mentioned in debian/changelog is 0.11
    And Tails 0.11 has been released
    And config/APT_overlays.d contains 'feature-foo'
    When I run tails-custom-apt-sources
    Then it should fail

  Scenario: build a release candidate from a tagged testing branch
    Given I am working on the testing base branch
    And Tails 0.11 has been released
    And the last version mentioned in debian/changelog is 0.12~rc1
    And Tails 0.12-rc1 has been tagged
    And the config/APT_overlays.d directory is empty
    When I successfully run tails-custom-apt-sources
    Then I should see only the '0.12-rc1' suite

  Scenario: build a release candidate from a tagged testing branch where config/APT_overlays.d is not empty
    Given I am working on the testing base branch
    And Tails 0.11 has been released
    And the last version mentioned in debian/changelog is 0.12~rc1
    And Tails 0.12-rc1 has been tagged
    And config/APT_overlays.d contains 'bugfix-bar'
    When I run tails-custom-apt-sources
    Then it should fail

  Scenario: build from the devel branch without overlays
    Given I am working on the devel base branch
    And the config/APT_overlays.d directory is empty
    When I successfully run tails-custom-apt-sources
    Then I should see only the 'devel' suite

  Scenario: build from the devel branch with overlays
    Given I am working on the devel base branch
    And config/APT_overlays.d contains 'feature-foo'
    And config/APT_overlays.d contains 'bugfix-bar'
    When I successfully run tails-custom-apt-sources
    Then I should see the 'devel' suite
    And I should see the 'feature-foo' suite
    And I should see the 'bugfix-bar' suite

  Scenario: build from the feature/jessie branch without overlays
    Given I am working on the feature/jessie base branch
    And the config/APT_overlays.d directory is empty
    When I successfully run tails-custom-apt-sources
    Then I should see only the 'feature-jessie' suite

  Scenario: build from the feature/jessie branch with overlays
    Given I am working on the feature/jessie base branch
    And config/APT_overlays.d contains 'feature-7756-reintroduce-whisperback'
    When I successfully run tails-custom-apt-sources
    Then I should see the 'feature-jessie' suite
    And I should see the 'feature-7756-reintroduce-whisperback' suite

  Scenario: build from the experimental branch
    Given I am working on the experimental branch based on devel
    And config/APT_overlays.d contains 'feature-foo'
    And config/APT_overlays.d contains 'bugfix-bar'
    When I successfully run tails-custom-apt-sources
    Then I should see the 'devel' suite
    And I should see the 'feature-foo' suite
    And I should see the 'bugfix-bar' suite

  Scenario: build from a feature branch with overlays based on devel
    Given I am working on the feature/icedove branch based on devel
    And config/APT_overlays.d contains 'feature-icedove'
    And config/APT_overlays.d contains 'bugfix-bar'
    When I successfully run tails-custom-apt-sources
    Then I should see the 'devel' suite
    And I should see the 'feature-icedove' suite
    And I should see the 'bugfix-bar' suite

  Scenario: build from a feature branch without overlays based on devel
    Given I am working on the feature/icedove branch based on devel
    And the config/APT_overlays.d directory is empty
    When I successfully run tails-custom-apt-sources
    Then I should see only the 'devel' suite

  Scenario: build from a feature branch with overlays based on feature/jessie
    Given I am working on the feature/7756-reintroduce-whisperback branch based on feature/jessie
    And config/APT_overlays.d contains 'feature-7756-reintroduce-whisperback'
    And config/APT_overlays.d contains 'bugfix-bar'
    When I successfully run tails-custom-apt-sources
    Then I should see the 'feature-jessie' suite
    And I should see the 'feature-7756-reintroduce-whisperback' suite
    And I should see the 'bugfix-bar' suite

  Scenario: build from a feature branch without overlays based on feature/jessie
    Given I am working on the feature/icedove branch based on feature/jessie
    And the config/APT_overlays.d directory is empty
    When I successfully run tails-custom-apt-sources
    Then I should see only the 'feature-jessie' suite

  Scenario: build from a feature branch based on devel with dots in its name
    Given I am working on the feature/live-boot-3.x branch based on devel
    And config/APT_overlays.d contains 'feature-live-boot-3.x'
    When I successfully run tails-custom-apt-sources
    Then I should see the 'devel' suite
    And I should see the 'feature-live-boot-3.x' suite

  Scenario: build from a branch that has no config/APT_overlays.d directory
    Given I am working on the stable base branch
    And the config/APT_overlays.d directory does not exist
    When I run tails-custom-apt-sources
    Then it should fail

  Scenario: build from a branch that has no config/base_branch file
    Given I am working on the stable base branch
    And the config/base_branch file does not exist
    When I run tails-custom-apt-sources
    Then it should fail

  Scenario: build from a branch where config/base_branch is empty
    Given I am working on the stable base branch
    And the config/base_branch file is empty
    When I run tails-custom-apt-sources
    Then it should fail