govuk_ab_testing 2.4.2 → 3.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: cf9c70a0d36f4d97dec173bfc21738a3266700997a1af70cf3e5fac2b654c313
4
- data.tar.gz: 7d63ce7fe82da0f11076b29498a6188691ee765bad005805bfecdea1fc022894
3
+ metadata.gz: 2d473c839937d932bfad0e7dc33673c907f47dedffdf15d1b5bc4bd2d9c61df1
4
+ data.tar.gz: 4ba58b2b6b499b8b670fff033740d3efb8ce421a0d5f561a58bb4b028968fd36
5
5
  SHA512:
6
- metadata.gz: 59ca9f4101ddea9d142c492052ceedc08af2a29e35601a25afd6e057e976ab4e7745ca9dac4b27156210122314df78da84ee4d42c84fd09fef32ec56a9017ae7
7
- data.tar.gz: 9543b01d05c4e12ed4b8c0c029b3c5ff2e313b283541b47cdef0d2135c5273938d5cdcb5304981320e58a99a2399d92749729f2fc76680bbecfca60c6e938fab
6
+ metadata.gz: 2e5f893dcd4b96da54646fa5f951f7949f1d3e499cc51fe84b22b3869f281857ca74259ee927a4337a50a34dc50b6ef24460f578ed3af38c26b0c8dde0cad366
7
+ data.tar.gz: b438372d3a2a309acbe83dde157cd09a5a9f857ddf03ad28009e10cd212cb4034716b831fa87f41c301ee892329f9c5e3f47d8d23eb49dd34e2f3a9135f6b752
@@ -0,0 +1,10 @@
1
+ version: 2
2
+ updates:
3
+ - package-ecosystem: bundler
4
+ directory: /
5
+ schedule:
6
+ interval: daily
7
+ - package-ecosystem: "github-actions"
8
+ directory: /
9
+ schedule:
10
+ interval: daily
@@ -0,0 +1,45 @@
1
+ on: [push, pull_request]
2
+
3
+ jobs:
4
+ codeql-sast:
5
+ name: CodeQL SAST scan
6
+ uses: alphagov/govuk-infrastructure/.github/workflows/codeql-analysis.yml@main
7
+ permissions:
8
+ security-events: write
9
+
10
+ dependency-review:
11
+ name: Dependency Review scan
12
+ uses: alphagov/govuk-infrastructure/.github/workflows/dependency-review.yml@main
13
+
14
+ # This matrix job runs the test suite against multiple Ruby versions
15
+ test_matrix:
16
+ strategy:
17
+ fail-fast: false
18
+ matrix:
19
+ ruby: [3.1, 3.2, 3.3]
20
+ runs-on: ubuntu-latest
21
+ steps:
22
+ - uses: actions/checkout@v4
23
+ - uses: ruby/setup-ruby@v1
24
+ with:
25
+ ruby-version: ${{ matrix.ruby }}
26
+ bundler-cache: true
27
+ - run: bundle exec rake
28
+
29
+ # Branch protection rules cannot directly depend on status checks from matrix jobs.
30
+ # So instead we define `test` as a dummy job which only runs after the preceding `test_matrix` checks have passed.
31
+ # Solution inspired by: https://github.community/t/status-check-for-a-matrix-jobs/127354/3
32
+ test:
33
+ needs: test_matrix
34
+ runs-on: ubuntu-latest
35
+ steps:
36
+ - run: echo "All matrix tests have passed 🚀"
37
+
38
+ publish:
39
+ needs: test
40
+ if: ${{ github.ref == 'refs/heads/main' }}
41
+ permissions:
42
+ contents: write
43
+ uses: alphagov/govuk-infrastructure/.github/workflows/publish-rubygem.yml@main
44
+ secrets:
45
+ GEM_HOST_API_KEY: ${{ secrets.ALPHAGOV_RUBYGEMS_API_KEY }}
data/.ruby-version CHANGED
@@ -1 +1 @@
1
- 2.6.6
1
+ 3.1.4
data/CHANGELOG.md CHANGED
@@ -1,3 +1,15 @@
1
+ ## 3.0.0
2
+
3
+ * Drop support for Ruby 3.0. The minimum required Ruby version is now 3.1
4
+ * **BREAKING CHANGE** No longer allow a GA custom dimension to be passed
5
+ when creating a GovukAbTesting::AbTest object. The dimension parameter
6
+ needs to be removed.
7
+
8
+ ## 2.4.3
9
+
10
+ * Updated gem dependencies and development ruby version to 3.0.5
11
+ * Fixed new rubocop violations
12
+
1
13
  ## 2.4.2
2
14
 
3
15
  * Updated gem dependencies and development ruby version to 2.6.6
data/README.md CHANGED
@@ -2,9 +2,7 @@
2
2
 
3
3
  Gem to help with A/B testing on the GOV.UK platform.
4
4
 
5
- ## Technical documentation
6
-
7
- ### Installation
5
+ ## Installation
8
6
 
9
7
  Add this line to your application's Gemfile:
10
8
 
@@ -16,35 +14,26 @@ And then execute:
16
14
 
17
15
  $ bundle
18
16
 
19
- ### Usage
17
+ ## Pre-requisites
20
18
 
21
19
  Before starting this, you'll need to:
22
20
 
23
- - [read the documentation](https://docs.publishing.service.gov.uk/manual/ab-testing.html) on how to set up an a/b test. The cookie and header name in [fastly-configure](https://github.com/alphagov/fastly-configure) and [CDN config](https://github.digital.cabinet-office.gov.uk/gds/cdn-configs) must match the test name parameter that you pass to the Gem. The cookie name is case-sensitive.
24
- - configure Google Analytics (guidelines to follow)
21
+ - [Read the documentation](https://docs.publishing.service.gov.uk/manual/ab-testing.html) for an overview on how a/b testing works on GOV.UK.
22
+ - The cookie and header name in [govuk-cdn-config](https://github.com/alphagov/govuk-cdn-config/blob/master/ab_tests/ab_tests.yaml) must match the test name parameter that you pass to the Gem. The cookie name is case-sensitive.
25
23
 
26
- To enable testing in the app, your Rails app needs:
24
+ ## Usage
27
25
 
28
- 1. Some piece of logic to be A/B tested
29
- 2. A HTML meta tag that will be used to measure the results, and which specifies
30
- the dimension to use in Google Analytics
31
- 3. A response HTTP header that tells Fastly you're doing an A/B test
26
+ ### Outline
32
27
 
33
- Start by defining which acceptance testing framework you will use. This gem
34
- supports both Capybara and ActiveSupport. In order to configure it, add this to
35
- your test helper file:
28
+ To enable testing in the app, your Rails app needs:
36
29
 
37
- ```
38
- GovukAbTesting.configure do |config|
39
- config.acceptance_test_framework = :capybara # or :active_support
40
- end
41
- ```
30
+ 1. [Some piece of logic to be A/B tested](#1-example-ab-test-logic)
31
+ 2. [A response HTTP header that tells Fastly you're doing an A/B test](#2-http-response-header-to-fastly)
32
+ 3. [A HTML meta tag that will be used to measure the results in Google Analytics](#3-add-html-metatag-tags-to-your-layouts)
42
33
 
43
- If we use capybara, the gem expects `page` to be defined in the scope of the
44
- test cases. If we use ActiveSupport, the gem expects `@request` to be defined in
45
- the scope of the test cases.
34
+ ### 1. Example A/B test logic
46
35
 
47
- Now, let's say you have this controller:
36
+ Let's say you have this controller:
48
37
 
49
38
  ```ruby
50
39
  # app/controllers/party_controller.rb
@@ -52,7 +41,6 @@ class PartyController < ApplicationController
52
41
  def show
53
42
  ab_test = GovukAbTesting::AbTest.new(
54
43
  "your_ab_test_name",
55
- dimension: 300,
56
44
  allowed_variants: ['NoChange', 'LongTitle', 'ShortTitle'],
57
45
  control_variant: 'NoChange'
58
46
  )
@@ -75,8 +63,13 @@ In this example, we are running a multivariate test with 3 options being
75
63
  tested: the existing version (control), and two title changes. The minimum
76
64
  number of variants in any test should be two.
77
65
 
78
- Then, add this to your layouts, so that we have a meta tag that can be picked up
79
- by the extension and analytics.
66
+ ### 2. HTTP response header to Fastly
67
+
68
+ The `configure_response` method used in the example in `step 1` sends the response header. The header helps Fastly to understand which variant was returned to the user and cache appropriately.
69
+
70
+ ### 3. Add HTML metatag tags to your layouts
71
+
72
+ This is for the extension and analytics.
80
73
 
81
74
  ```html
82
75
  <!-- application.html.erb -->
@@ -86,11 +79,75 @@ by the extension and analytics.
86
79
  ```
87
80
 
88
81
  The analytics meta tag will include the allowed variants so the extension knows
89
- which variants to suggest the user.
82
+ which variants to suggest to the user.
90
83
 
91
- #### Test helpers
84
+ ## Running the test suite for the gem
92
85
 
93
- ##### Minitest
86
+ `bundle exec rake`
87
+
88
+ ## Acceptance testing
89
+
90
+ Start by defining which acceptance testing framework you will use. This gem
91
+ supports both Capybara and ActiveSupport. In order to configure it, add this to
92
+ your test helper file:
93
+
94
+ ```
95
+ GovukAbTesting.configure do |config|
96
+ config.acceptance_test_framework = :capybara # or :active_support
97
+ end
98
+ ```
99
+
100
+ If we use capybara, the gem expects `page` to be defined in the scope of the
101
+ test cases. If we use ActiveSupport, the gem expects `@request` to be defined in
102
+ the scope of the test cases.
103
+
104
+ ### Test helpers
105
+
106
+ #### RSpec
107
+
108
+ It is also possible to use `with_variant` and all the individual setup and
109
+ assertions steps in RSpec tests. Here is an example of a Capybara feature file:
110
+
111
+ ```ruby
112
+ # spec/features/ab_testing_spec.rb
113
+ feature "Viewing a page with an A/B test" do
114
+ include GovukAbTesting::RspecHelpers
115
+
116
+ scenario "viewing the B version of the page" do
117
+ with_variant your_ab_test_name: 'B' do
118
+ visit root_path
119
+
120
+ expect(page).to have_breadcrumbs
121
+ expect(page).to have_beta_label
122
+ end
123
+ end
124
+ end
125
+ ```
126
+
127
+ And here is an RSpec controller test:
128
+
129
+ ```ruby
130
+ # spec/controllers/some_controller_spec.rb
131
+ describe SomeController, type :controller do
132
+ include GovukAbTesting::RspecHelpers
133
+
134
+ # RSpec doesn't render views for controller specs by default
135
+ render_views
136
+
137
+ it "should render the B version of the page" do
138
+ with_variant your_ab_test_name: 'B' do
139
+ get :index
140
+ end
141
+ end
142
+ end
143
+ ```
144
+
145
+ As with the `minitest` version, you can also pass in the following options to
146
+ `with_variant`:
147
+
148
+ - `assert_meta_tag: false`
149
+
150
+ #### Minitest
94
151
 
95
152
  The most common usage of an A/B test is to serve two different variants of the
96
153
  same page. In this situation, you can test the controller using `with_variant`.
@@ -140,7 +197,7 @@ class PartyControllerTest < ActionController::TestCase
140
197
  include GovukAbTesting::MinitestHelpers
141
198
 
142
199
  should "show the original" do
143
- setup_ab_variant("your_ab_test_name", "B") # optionally pass in a analytics dimension as the third argument
200
+ setup_ab_variant("your_ab_test_name", "B")
144
201
 
145
202
  get :show
146
203
 
@@ -169,71 +226,22 @@ class PartyControllerTest < ActionController::TestCase
169
226
  end
170
227
  ```
171
228
 
172
- ##### RSpec
173
-
174
- It is also possible to use `with_variant` and all the individual setup and
175
- assertions steps in RSpec tests. Here is an example of a Capybara feature file:
176
-
177
- ```ruby
178
- # spec/features/ab_testing_spec.rb
179
- feature "Viewing a page with an A/B test" do
180
- include GovukAbTesting::RspecHelpers
181
-
182
- scenario "viewing the B version of the page" do
183
- with_variant your_ab_test_name: 'B' do
184
- visit root_path
185
-
186
- expect(page).to have_breadcrumbs
187
- expect(page).to have_beta_label
188
- end
189
- end
190
- end
191
- ```
192
-
193
- And here is an RSpec controller test:
194
-
195
- ```ruby
196
- # spec/controllers/some_controller_spec.rb
197
- describe SomeController, type :controller do
198
- include GovukAbTesting::RspecHelpers
199
-
200
- # RSpec doesn't render views for controller specs by default
201
- render_views
202
-
203
- it "should render the B version of the page" do
204
- with_variant your_ab_test_name: 'B' do
205
- get :index
206
- end
207
- end
208
- end
209
- ```
210
-
211
- As with the `minitest` version, you can also pass in the following options to
212
- `with_variant`:
229
+ ## API documentation
213
230
 
214
- - `assert_meta_tag: false`
215
- - `dimension: <number>`
231
+ See [RubyDoc](http://www.rubydoc.info/gems/govuk_ab_testing) for documentation including all of the assertions for tests.
216
232
 
217
- ### Running the test suite
233
+ To run a Yard server locally to preview documentation, run:
218
234
 
219
- `bundle exec rake`
235
+ $ bundle exec yard server --reload
220
236
 
221
- ### Testing in a browser
237
+ ## Checking your A/B test in a browser
222
238
 
223
239
  If you want to test this behaviour in a browser then you should use the
224
- [GOV.UK Toolkit for Chrome](https://github.com/alphagov/govuk-toolkit-chrome).
240
+ [GOV.UK Toolkit browser extension](https://github.com/alphagov/govuk-browser-extension).
225
241
 
226
242
  This detects when you have a test running on a page and enables you to choose
227
243
  between variants.
228
244
 
229
- ### Documentation
230
-
231
- See [RubyDoc](http://www.rubydoc.info/gems/govuk_ab_testing) for some limited documentation.
232
-
233
- To run a Yard server locally to preview documentation, run:
234
-
235
- $ bundle exec yard server --reload
236
-
237
245
  ## Licence
238
246
 
239
- [MIT License](LICENCE.txt)
247
+ [MIT License](LICENCE)
@@ -12,8 +12,9 @@ Gem::Specification.new do |spec|
12
12
  spec.description = "Gem to help with A/B testing on the GOV.UK platform"
13
13
  spec.homepage = "https://github.com/alphagov/govuk_ab_testing"
14
14
  spec.license = "MIT"
15
+ spec.required_ruby_version = ">= 3.1"
15
16
 
16
- spec.files = `git ls-files -z`.split("\x0").reject do |f|
17
+ spec.files = `git ls-files -z`.split("\x0").reject do |f|
17
18
  f.match(%r{^(test|spec|features)/})
18
19
  end
19
20
  spec.bindir = "exe"
@@ -22,6 +23,6 @@ Gem::Specification.new do |spec|
22
23
 
23
24
  spec.add_development_dependency "rake"
24
25
  spec.add_development_dependency "rspec"
25
- spec.add_development_dependency "rubocop-govuk"
26
+ spec.add_development_dependency "rubocop-govuk", "5.0.2"
26
27
  spec.add_development_dependency "yard"
27
28
  end
@@ -1,21 +1,15 @@
1
1
  module GovukAbTesting
2
2
  class AbTest
3
- attr_reader :ab_test_name
4
- attr_reader :dimension
5
- attr_reader :allowed_variants
6
- attr_reader :control_variant
3
+ attr_reader :ab_test_name, :allowed_variants, :control_variant
7
4
 
8
5
  alias_method :name, :ab_test_name
9
6
 
10
7
  # @param request [String] the name of the A/B test
11
- # @param dimension [Integer] the dimension registered with Google Analytics
12
- # for this specific A/B test
13
8
  # @param allowed_variants [Array] an array of Strings representing the
14
9
  # possible variants
15
10
  # @param control_variant [String] the control variant (typically 'A')
16
- def initialize(ab_test_name, dimension:, allowed_variants: %w[A B], control_variant: "A")
11
+ def initialize(ab_test_name, allowed_variants: %w[A B], control_variant: "A")
17
12
  @ab_test_name = ab_test_name
18
- @dimension = dimension
19
13
  @allowed_variants = allowed_variants
20
14
  @control_variant = control_variant
21
15
  end
@@ -23,7 +17,7 @@ module GovukAbTesting
23
17
  # @param request [ActionDispatch::Http::Headers] the `request.headers` in
24
18
  # the controller.
25
19
  def requested_variant(request_headers)
26
- RequestedVariant.new(self, request_headers, @dimension)
20
+ RequestedVariant.new(self, request_headers)
27
21
  end
28
22
 
29
23
  # Internal name of the header
@@ -6,26 +6,25 @@ module GovukAbTesting
6
6
 
7
7
  def with_variant(args)
8
8
  ab_test_name, variant = args.first
9
- dimension = args[:dimension]
10
9
 
11
- setup_ab_variant(ab_test_name, variant, dimension)
10
+ setup_ab_variant(ab_test_name, variant)
12
11
 
13
12
  yield
14
13
 
15
14
  assert_response_is_cached_by_variant(ab_test_name)
16
15
 
17
16
  unless args[:assert_meta_tag] == false
18
- assert_page_tracked_in_ab_test(ab_test_name, variant, dimension)
17
+ assert_page_tracked_in_ab_test(ab_test_name, variant)
19
18
  end
20
19
  end
21
20
 
22
- def setup_ab_variant(ab_test_name, variant, dimension = 300)
23
- ab_test = AbTest.new(ab_test_name, dimension: dimension)
21
+ def setup_ab_variant(ab_test_name, variant)
22
+ ab_test = AbTest.new(ab_test_name)
24
23
  acceptance_test_framework.set_header(ab_test.request_header, variant)
25
24
  end
26
25
 
27
26
  def assert_response_is_cached_by_variant(ab_test_name)
28
- ab_test = AbTest.new(ab_test_name, dimension: 300)
27
+ ab_test = AbTest.new(ab_test_name)
29
28
  vary_header_value = acceptance_test_framework.vary_header
30
29
 
31
30
  assert_contains_substring(
@@ -72,8 +71,8 @@ module GovukAbTesting
72
71
  )
73
72
  end
74
73
 
75
- def assert_page_tracked_in_ab_test(ab_test_name, variant, dimension)
76
- ab_test = AbTest.new(ab_test_name, dimension: dimension)
74
+ def assert_page_tracked_in_ab_test(ab_test_name, variant)
75
+ ab_test = AbTest.new(ab_test_name)
77
76
 
78
77
  ab_test_meta_tags =
79
78
  acceptance_test_framework.analytics_meta_tags_for_test(ab_test.name)
@@ -104,23 +103,6 @@ module GovukAbTesting
104
103
 
105
104
  ERROR
106
105
  )
107
-
108
- assert_not_blank(
109
- string: meta_tag.dimension,
110
- error_message: <<-ERROR,
111
- The meta tag dimension for the '#{ab_test_name}' A/B test is blank.
112
- ERROR
113
- )
114
-
115
- unless ab_test.dimension.nil?
116
- assert_is_equal(
117
- expected: ab_test.dimension.to_s,
118
- actual: meta_tag.dimension.to_s,
119
- error_message: <<-ERROR,
120
- The analytics meta tag for the '#{ab_test.name}' A/B test does not match the expected value.
121
- ERROR
122
- )
123
- end
124
106
  end
125
107
  end
126
108
  end
@@ -44,7 +44,6 @@ module GovukAbTesting
44
44
  tags.map do |tag|
45
45
  MetaTag.new(
46
46
  content: tag.attributes["content"].value,
47
- dimension: tag.attributes["data-analytics-dimension"].value,
48
47
  )
49
48
  end
50
49
  end
@@ -37,7 +37,6 @@ module GovukAbTesting
37
37
  tags.map do |tag|
38
38
  MetaTag.new(
39
39
  content: tag["content"],
40
- dimension: tag["data-analytics-dimension"],
41
40
  )
42
41
  end
43
42
  end
@@ -1,11 +1,10 @@
1
1
  module GovukAbTesting
2
2
  module AcceptanceTests
3
3
  class MetaTag
4
- attr_reader :content, :dimension
4
+ attr_reader :content
5
5
 
6
- def initialize(content:, dimension:)
6
+ def initialize(content:)
7
7
  @content = content
8
- @dimension = dimension
9
8
  end
10
9
 
11
10
  def for_ab_test?(ab_test_name)
@@ -21,16 +21,14 @@ module GovukAbTesting
21
21
  end
22
22
 
23
23
  def framework_class
24
- @framework_class ||= begin
25
- case config[:acceptance_test_framework]
26
- when :capybara
27
- GovukAbTesting::AcceptanceTests::Capybara
28
- when :active_support
29
- GovukAbTesting::AcceptanceTests::ActiveSupport
30
- else
31
- raise "Invalid framework #{acceptance_test_framework}"
32
- end
33
- end
24
+ @framework_class ||= case config[:acceptance_test_framework]
25
+ when :capybara
26
+ GovukAbTesting::AcceptanceTests::Capybara
27
+ when :active_support
28
+ GovukAbTesting::AcceptanceTests::ActiveSupport
29
+ else
30
+ raise "Invalid framework #{acceptance_test_framework}"
31
+ end
34
32
  end
35
33
  end
36
34
  end
@@ -17,7 +17,7 @@ module GovukAbTesting
17
17
  end
18
18
 
19
19
  def assert_is_empty(enumerable:, error_message:)
20
- assert_has_size(enumerable: enumerable, size: 0, error_message: error_message)
20
+ assert_has_size(enumerable:, size: 0, error_message:)
21
21
  end
22
22
 
23
23
  def assert_not_blank(string:, error_message:)
@@ -5,12 +5,9 @@ module GovukAbTesting
5
5
  # @param ab_test [AbTest] the A/B test being performed
6
6
  # @param request_headers [ActionDispatch::Http::Headers] the
7
7
  # `request.headers` in the controller.
8
- # @param dimension [Integer] the dimension registered with Google Analytics
9
- # for this specific A/B test
10
- def initialize(ab_test, request_headers, dimension)
8
+ def initialize(ab_test, request_headers)
11
9
  @ab_test = ab_test
12
10
  @request_headers = request_headers
13
- @dimension = dimension
14
11
  end
15
12
 
16
13
  # Get the bucket this user is in
@@ -63,10 +60,13 @@ module GovukAbTesting
63
60
  #
64
61
  # @return [String]
65
62
  def analytics_meta_tag
66
- '<meta name="govuk:ab-test" ' \
67
- 'content="' + ab_test.meta_tag_name + ":" + variant_name + '" ' \
68
- 'data-analytics-dimension="' + @dimension.to_s + '" ' \
69
- 'data-allowed-variants="' + ab_test.allowed_variants.join(",") + '">'
63
+ tag = <<~HTML
64
+ <meta name="govuk:ab-test"
65
+ content="#{ab_test.meta_tag_name}:#{variant_name}"
66
+ data-allowed-variants="#{ab_test.allowed_variants.join(',')}">
67
+ HTML
68
+
69
+ tag.gsub(/\n/, "")
70
70
  end
71
71
  end
72
72
  end
@@ -1,3 +1,3 @@
1
1
  module GovukAbTesting
2
- VERSION = "2.4.2".freeze
2
+ VERSION = "3.0.0".freeze
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: govuk_ab_testing
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.4.2
4
+ version: 3.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - GOV.UK Dev
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2020-08-04 00:00:00.000000000 Z
11
+ date: 2024-08-13 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rake
@@ -42,16 +42,16 @@ dependencies:
42
42
  name: rubocop-govuk
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
- - - ">="
45
+ - - '='
46
46
  - !ruby/object:Gem::Version
47
- version: '0'
47
+ version: 5.0.2
48
48
  type: :development
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
- - - ">="
52
+ - - '='
53
53
  - !ruby/object:Gem::Version
54
- version: '0'
54
+ version: 5.0.2
55
55
  - !ruby/object:Gem::Dependency
56
56
  name: yard
57
57
  requirement: !ruby/object:Gem::Requirement
@@ -73,14 +73,15 @@ executables: []
73
73
  extensions: []
74
74
  extra_rdoc_files: []
75
75
  files:
76
+ - ".github/dependabot.yml"
77
+ - ".github/workflows/ci.yml"
76
78
  - ".gitignore"
77
79
  - ".rspec"
78
80
  - ".rubocop.yml"
79
81
  - ".ruby-version"
80
82
  - CHANGELOG.md
81
83
  - Gemfile
82
- - Jenkinsfile
83
- - LICENSE.txt
84
+ - LICENCE
84
85
  - README.md
85
86
  - Rakefile
86
87
  - bin/console
@@ -111,14 +112,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
111
112
  requirements:
112
113
  - - ">="
113
114
  - !ruby/object:Gem::Version
114
- version: '0'
115
+ version: '3.1'
115
116
  required_rubygems_version: !ruby/object:Gem::Requirement
116
117
  requirements:
117
118
  - - ">="
118
119
  - !ruby/object:Gem::Version
119
120
  version: '0'
120
121
  requirements: []
121
- rubygems_version: 3.0.3
122
+ rubygems_version: 3.5.17
122
123
  signing_key:
123
124
  specification_version: 4
124
125
  summary: Gem to help with A/B testing on the GOV.UK platform
data/Jenkinsfile DELETED
@@ -1,7 +0,0 @@
1
- #!/usr/bin/env groovy
2
-
3
- library("govuk")
4
-
5
- node {
6
- govuk.buildProject()
7
- }
File without changes