govuk_test 3.0.0 → 4.0.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 1760cf9e42509c0c372e6f8f25557f2dda1e9b3d0ba66001367f464af3ba50ee
4
- data.tar.gz: dccc2add0e0f1aac892067b84daf875b5b4dbd98c38993a12d9e7174fbb0d466
3
+ metadata.gz: a47327df01bbdb9a4f826f2ada38fb5c1f5ac4518aae2c29afb01518385554fb
4
+ data.tar.gz: 47822cc01034e26f57812042b02d1178db30632d8b2318a91e000ee63714e2f4
5
5
  SHA512:
6
- metadata.gz: 8f5b93fafdcdf84f53aa706a4b806f0005bb2b60c459efedbf128f28c46a1d1630d8f7b6b3da98b7cd3a205a26a0e979ece27b50aedf02f2534c0ceba31a7fc9
7
- data.tar.gz: 4652051cb37a9299bc41c9a3cec6d3aef4c631bb3d2af548b1b4969806dd20ed40b133b24873675514097f8030e1fe3264209d1509705a6e6d29ea6d6f96050e
6
+ metadata.gz: fe848793d1d97dcce7b81cb0d13d93379b22e93eae0a5f5d7e793efc0ffc8e235f47ea0794637653cc005faf5bcb0274a657eebd5569bce3267e3042917de56a
7
+ data.tar.gz: 3c733efaa9a62fde4dec1cccb8a95691fbb1d17b700ac6a7e4c8f534100115b26a38230024398ef3ca44e7eac7c30bbce85bad782e1f25459ce5a8499a7d60f8
@@ -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,36 @@
1
+ on: [push, pull_request]
2
+
3
+ jobs:
4
+ # This matrix job runs the test suite against multiple Ruby versions
5
+ test_matrix:
6
+ strategy:
7
+ fail-fast: false
8
+ matrix:
9
+ # Due to https://github.com/actions/runner/issues/849, we have to use quotes for '3.0'
10
+ ruby: ['3.0', 3.1, 3.2]
11
+ runs-on: ubuntu-latest
12
+ steps:
13
+ - uses: actions/checkout@v4
14
+ - uses: ruby/setup-ruby@v1
15
+ with:
16
+ ruby-version: ${{ matrix.ruby }}
17
+ bundler-cache: true
18
+ - run: bundle exec rake
19
+
20
+ # Branch protection rules cannot directly depend on status checks from matrix jobs.
21
+ # So instead we define `test` as a dummy job which only runs after the preceding `test_matrix` checks have passed.
22
+ # Solution inspired by: https://github.community/t/status-check-for-a-matrix-jobs/127354/3
23
+ test:
24
+ needs: test_matrix
25
+ runs-on: ubuntu-latest
26
+ steps:
27
+ - run: echo "All matrix tests have passed 🚀"
28
+
29
+ publish:
30
+ needs: test
31
+ if: ${{ github.ref == 'refs/heads/main' }}
32
+ permissions:
33
+ contents: write
34
+ uses: alphagov/govuk-infrastructure/.github/workflows/publish-rubygem.yml@main
35
+ secrets:
36
+ GEM_HOST_API_KEY: ${{ secrets.ALPHAGOV_RUBYGEMS_API_KEY }}
data/.rubocop.yml ADDED
@@ -0,0 +1,18 @@
1
+ inherit_gem:
2
+ rubocop-govuk:
3
+ - config/default.yml
4
+ - config/rspec.yml
5
+
6
+ inherit_mode:
7
+ merge:
8
+ - Exclude
9
+
10
+ # **************************************************************
11
+ # TRY NOT TO ADD OVERRIDES IN THIS FILE
12
+ #
13
+ # This repo is configured to follow the RuboCop GOV.UK styleguide.
14
+ # Any rules you override here will cause this repo to diverge from
15
+ # the way we write code in all other GOV.UK repos.
16
+ #
17
+ # See https://github.com/alphagov/rubocop-govuk/blob/main/CONTRIBUTING.md
18
+ # **************************************************************
data/.ruby-version CHANGED
@@ -1 +1 @@
1
- 2.6.6
1
+ 3.0.5
data/CHANGELOG.md CHANGED
@@ -7,6 +7,29 @@
7
7
  useful summary for people upgrading their application, not a replication
8
8
  of the commit log.
9
9
 
10
+ ## 4.0.0
11
+
12
+ * Replace call to deprecated `Selenium::WebDriver::Chrome::Options#headless!` method ([#63](https://github.com/alphagov/govuk_test/pull/63))
13
+ * Bump GitHub actions/checkout from 3 to 4 ([#59](https://github.com/alphagov/govuk_test/pull/59))
14
+ * Update rubocop-govuk requirement from = 4.11.0 to = 4.12.0 ([#58](https://github.com/alphagov/govuk_test/pull/58))
15
+ * Update rubocop-govuk requirement from = 4.10.0 to = 4.11.0 ([#57](https://github.com/alphagov/govuk_test/pull/57))
16
+ * Fix spec.files in govuk_test.gemspec ([#56](https://github.com/alphagov/govuk_test/pull/56))
17
+ * Add rubocop-govuk ([#55](https://github.com/alphagov/govuk_test/pull/55))
18
+ * BREAKING: Drop support for Ruby 2.7 ([#54](https://github.com/alphagov/govuk_test/pull/54))
19
+ * Use .yml for workflow files ([#52](https://github.com/alphagov/govuk_test/pull/52))
20
+ * Add Ruby 3.2 to CI test matrix ([#51](https://github.com/alphagov/govuk_test/pull/51))
21
+ * Link to MIT Licence in repository ([#50](https://github.com/alphagov/govuk_test/pull/50))
22
+ * Bump GitHub actions/checkout from 2 to 3 ([#49](https://github.com/alphagov/govuk_test/pull/49))
23
+ * Configure Dependabot for GitHub Actions ([#48](https://github.com/alphagov/govuk_test/pull/48))
24
+ * Configure Dependabot for Bundler ([#47](https://github.com/alphagov/govuk_test/pull/47))
25
+ * Switch from Jenkins to GitHub Actions for CI ([#46](https://github.com/alphagov/govuk_test/pull/46))
26
+ * Update Ruby from 2.6.6 to 2.7.6 ([#45](https://github.com/alphagov/govuk_test/pull/45))
27
+
28
+
29
+ ## 3.0.1
30
+
31
+ * Resolve Selenium deprecation warning on options argument by requiring higher minimum versions ([#44](https://github.com/alphagov/govuk_test/pull/44))
32
+
10
33
  ## 3.0.0
11
34
 
12
35
  * BREAKING: Remove dependency on `webdrivers` gem. It's now expected that ChromeDriver is present on the underlying operating system. ([#43](https://github.com/alphagov/govuk_test/pull/43))
data/Gemfile CHANGED
@@ -1,6 +1,6 @@
1
1
  source "https://rubygems.org"
2
2
 
3
- git_source(:github) {|repo_name| "https://github.com/#{repo_name}" }
3
+ git_source(:github) { |repo_name| "https://github.com/#{repo_name}" }
4
4
 
5
5
  # Specify your gem's dependencies in govuk_test.gemspec
6
6
  gemspec
data/README.md CHANGED
@@ -66,6 +66,6 @@ end
66
66
  [headless-chrome]: https://developers.google.com/web/updates/2017/04/headless-chrome
67
67
  [Jasmine]: https://github.com/jasmine/jasmine_selenium_runner
68
68
 
69
- ## License
69
+ ## Licence
70
70
 
71
- The gem is available as open source under the terms of the [MIT License](https://opensource.org/licenses/MIT).
71
+ The gem is available as open source under the terms of the [MIT License](LICENCE).
data/Rakefile CHANGED
@@ -1,8 +1,8 @@
1
1
  require "bundler/gem_tasks"
2
- task default: :spec
2
+ require "rubocop/rake_task"
3
+ require "rspec/core/rake_task"
3
4
 
4
- begin
5
- require 'rspec/core/rake_task'
6
- RSpec::Core::RakeTask.new(:spec)
7
- rescue LoadError
8
- end
5
+ RSpec::Core::RakeTask.new(:spec)
6
+ RuboCop::RakeTask.new
7
+
8
+ task default: %i[rubocop spec]
data/govuk_test.gemspec CHANGED
@@ -1,34 +1,33 @@
1
- lib = File.expand_path("../lib", __FILE__)
1
+ lib = File.expand_path("lib", __dir__)
2
2
  $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
3
3
  require "govuk_test/version"
4
4
 
5
5
  Gem::Specification.new do |spec|
6
6
  spec.name = "govuk_test"
7
7
  spec.version = GovukTest::VERSION
8
- spec.authors = ["GOV.UK Dev"]
9
- spec.email = ["govuk-dev@digital.cabinet-office.gov.uk"]
8
+ spec.authors = ["GOV.UK Dev"]
9
+ spec.email = ["govuk-dev@digital.cabinet-office.gov.uk"]
10
10
 
11
- spec.summary = %q{Test setup for GOV.UK}
12
- spec.description = %q{Test configuration and dependencies for applications on GOV.UK}
11
+ spec.summary = "Test setup for GOV.UK"
12
+ spec.description = "Test configuration and dependencies for applications on GOV.UK"
13
13
  spec.homepage = "https://github.com/alphagov/govuk_test"
14
14
  spec.license = "MIT"
15
15
 
16
- # Specify which files should be added to the gem when it is released.
17
- # The `git ls-files -z` loads the files in the RubyGem that have been added into git.
18
- spec.files = Dir.chdir(File.expand_path('..', __FILE__)) do
19
- `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features)/}) }
20
- end
16
+ spec.required_ruby_version = ">= 3.0"
17
+
18
+ spec.files = `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features|bin)/}) }
21
19
  spec.bindir = "exe"
22
20
  spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
23
- spec.require_paths = ["lib"]
21
+ spec.require_paths = %w[lib]
24
22
 
25
23
  spec.add_dependency "brakeman", ">= 5.0.2"
26
- spec.add_dependency "capybara"
24
+ spec.add_dependency "capybara", ">= 3.36"
27
25
  spec.add_dependency "puma"
28
- spec.add_dependency "selenium-webdriver", ">= 3.142"
26
+ spec.add_dependency "selenium-webdriver", ">= 4.0"
29
27
 
30
28
  spec.add_development_dependency "bundler"
31
29
  spec.add_development_dependency "climate_control"
32
30
  spec.add_development_dependency "rake"
33
31
  spec.add_development_dependency "rspec"
32
+ spec.add_development_dependency "rubocop-govuk", "4.12.0"
34
33
  end
@@ -1,3 +1,3 @@
1
1
  module GovukTest
2
- VERSION = "3.0.0"
2
+ VERSION = "4.0.0".freeze
3
3
  end
data/lib/govuk_test.rb CHANGED
@@ -9,7 +9,7 @@ module GovukTest
9
9
  Capybara.register_driver :headless_chrome do |app|
10
10
  Capybara::Selenium::Driver.new(app,
11
11
  browser: :chrome,
12
- options: headless_chrome_selenium_options)
12
+ capabilities: headless_chrome_selenium_options)
13
13
  end
14
14
 
15
15
  Capybara.javascript_driver = :headless_chrome
@@ -18,7 +18,7 @@ module GovukTest
18
18
 
19
19
  def self.headless_chrome_selenium_options
20
20
  Selenium::WebDriver::Chrome::Options.new.tap do |options|
21
- options.headless!
21
+ options.add_argument("--headless")
22
22
  options.add_argument("--no-sandbox") if ENV["GOVUK_TEST_CHROME_NO_SANDBOX"]
23
23
  end
24
24
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: govuk_test
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.0.0
4
+ version: 4.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: 2022-03-07 00:00:00.000000000 Z
11
+ date: 2023-10-10 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: brakeman
@@ -30,14 +30,14 @@ dependencies:
30
30
  requirements:
31
31
  - - ">="
32
32
  - !ruby/object:Gem::Version
33
- version: '0'
33
+ version: '3.36'
34
34
  type: :runtime
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
38
  - - ">="
39
39
  - !ruby/object:Gem::Version
40
- version: '0'
40
+ version: '3.36'
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: puma
43
43
  requirement: !ruby/object:Gem::Requirement
@@ -58,14 +58,14 @@ dependencies:
58
58
  requirements:
59
59
  - - ">="
60
60
  - !ruby/object:Gem::Version
61
- version: '3.142'
61
+ version: '4.0'
62
62
  type: :runtime
63
63
  prerelease: false
64
64
  version_requirements: !ruby/object:Gem::Requirement
65
65
  requirements:
66
66
  - - ">="
67
67
  - !ruby/object:Gem::Version
68
- version: '3.142'
68
+ version: '4.0'
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: bundler
71
71
  requirement: !ruby/object:Gem::Requirement
@@ -122,6 +122,20 @@ dependencies:
122
122
  - - ">="
123
123
  - !ruby/object:Gem::Version
124
124
  version: '0'
125
+ - !ruby/object:Gem::Dependency
126
+ name: rubocop-govuk
127
+ requirement: !ruby/object:Gem::Requirement
128
+ requirements:
129
+ - - '='
130
+ - !ruby/object:Gem::Version
131
+ version: 4.12.0
132
+ type: :development
133
+ prerelease: false
134
+ version_requirements: !ruby/object:Gem::Requirement
135
+ requirements:
136
+ - - '='
137
+ - !ruby/object:Gem::Version
138
+ version: 4.12.0
125
139
  description: Test configuration and dependencies for applications on GOV.UK
126
140
  email:
127
141
  - govuk-dev@digital.cabinet-office.gov.uk
@@ -129,17 +143,17 @@ executables: []
129
143
  extensions: []
130
144
  extra_rdoc_files: []
131
145
  files:
146
+ - ".github/dependabot.yml"
147
+ - ".github/workflows/ci.yml"
132
148
  - ".gitignore"
133
149
  - ".rspec"
150
+ - ".rubocop.yml"
134
151
  - ".ruby-version"
135
152
  - CHANGELOG.md
136
153
  - Gemfile
137
- - Jenkinsfile
138
- - LICENSE.md
154
+ - LICENCE
139
155
  - README.md
140
156
  - Rakefile
141
- - bin/console
142
- - bin/setup
143
157
  - govuk_test.gemspec
144
158
  - lib/govuk_test.rb
145
159
  - lib/govuk_test/version.rb
@@ -155,14 +169,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
155
169
  requirements:
156
170
  - - ">="
157
171
  - !ruby/object:Gem::Version
158
- version: '0'
172
+ version: '3.0'
159
173
  required_rubygems_version: !ruby/object:Gem::Requirement
160
174
  requirements:
161
175
  - - ">="
162
176
  - !ruby/object:Gem::Version
163
177
  version: '0'
164
178
  requirements: []
165
- rubygems_version: 3.0.3
179
+ rubygems_version: 3.4.20
166
180
  signing_key:
167
181
  specification_version: 4
168
182
  summary: Test setup for GOV.UK
data/Jenkinsfile DELETED
@@ -1,7 +0,0 @@
1
- #!/usr/bin/env groovy
2
-
3
- library("govuk")
4
-
5
- node {
6
- govuk.buildProject()
7
- }
data/bin/console DELETED
@@ -1,14 +0,0 @@
1
- #!/usr/bin/env ruby
2
-
3
- require "bundler/setup"
4
- require "govuk_test"
5
-
6
- # You can add fixtures and/or initialization code here to make experimenting
7
- # with your gem easier. You can also use a different console, if you like.
8
-
9
- # (If you use this, don't forget to add pry to your Gemfile!)
10
- # require "pry"
11
- # Pry.start
12
-
13
- require "irb"
14
- IRB.start(__FILE__)
data/bin/setup DELETED
@@ -1,8 +0,0 @@
1
- #!/usr/bin/env bash
2
- set -euo pipefail
3
- IFS=$'\n\t'
4
- set -vx
5
-
6
- bundle install
7
-
8
- # Do any other automated setup that you need to do here
File without changes