govuk_schemas 5.0.4 → 6.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: 3dd91e9517ca0bd0ff1f983378aadc0f2cba54f12706b90649105c1e2ffadb64
4
- data.tar.gz: 41d7ad98aecd4d2e4dd875e3c538edc881415f259b4ea48ed5bffbf345b9422f
3
+ metadata.gz: 5dfa122dda29dbe6408145d997c35a0d59694bebe06e94e804123eeeb8c69949
4
+ data.tar.gz: 20378d4689077b168d2b7c9ea16198996c3064229f097593923f41739dc4b51f
5
5
  SHA512:
6
- metadata.gz: 0a4fd9a1aebf731f35d4763031e9578b40d365cb6b97102328a9f7945275d2ce4d1ccb1d16b4a77d6f5702b9005cf5d77592fe76cf542ce669421d1512c3143f
7
- data.tar.gz: 964968fa54d8849052e6d53b141786f07f6b819df891ea81d493c9b75e988a80f0855e2cd8ea6973336dc98a2038b70b446c1e70873bca998385e1cad8c451ed
6
+ metadata.gz: c5458746961ae35f261806c9f83a995ad696fceb591345642520704d8e12616a142092464dfe7abca40ab7299343216c1c3bdcf61cf12519b84f53d2380d8783
7
+ data.tar.gz: '09272215f8debc39696724c6ff775ea94ecf56776da71d85ec5b92a47bd74abb5bed7b151ea7e18691303697259fc7616cd6f2b4630c59b073e9bb0022b7da5c'
@@ -0,0 +1,12 @@
1
+ name: Lint GitHub Actions
2
+ on:
3
+ push:
4
+ paths: ['.github/**']
5
+ jobs:
6
+ actionlint:
7
+ runs-on: ubuntu-latest
8
+ steps:
9
+ - uses: actions/checkout@v4
10
+ with:
11
+ show-progress: false
12
+ - uses: alphagov/govuk-infrastructure/.github/actions/actionlint@main
@@ -0,0 +1,10 @@
1
+ on:
2
+ workflow_dispatch: {}
3
+ schedule:
4
+ - cron: '30 10 * * 1-5' # 10:30am UTC, Mon-Fri.
5
+
6
+ jobs:
7
+ autorelease:
8
+ uses: alphagov/govuk-infrastructure/.github/workflows/autorelease-rubygem.yml@main
9
+ secrets:
10
+ GH_TOKEN: ${{ secrets.GOVUK_CI_GITHUB_API_TOKEN }}
@@ -26,7 +26,7 @@ jobs:
26
26
  strategy:
27
27
  fail-fast: false
28
28
  matrix:
29
- ruby: [3.1, 3.2, 3.3]
29
+ ruby: [3.2, 3.3]
30
30
  runs-on: ubuntu-latest
31
31
  steps:
32
32
  - uses: actions/checkout@v4
data/.ruby-version CHANGED
@@ -1 +1 @@
1
- 3.1.4
1
+ 3.3.7
data/CHANGELOG.md CHANGED
@@ -1,128 +1,131 @@
1
- # 5.0.4
1
+ # Changelog
2
2
 
3
- * Ensure `Faker` is added as a non-development dependency
3
+ ## 6.0.0
4
4
 
5
- # 5.0.3
5
+ * BREAKING: Drop support for Ruby 3.1 [PR](https://github.com/alphagov/govuk_schemas/pull/141)
6
+
7
+ ## 5.0.4
8
+
9
+ * Ensure `Faker` is added as a non-development dependency
10
+
11
+ ## 5.0.3
6
12
 
7
13
  * Add support for `email` string types
8
14
  * Use `Faker` gem to generate emails and URLs
9
15
  * Improve error messages when an unknown type is given in `GovukSchemas::RandomContentGenerator#string_for_type`
10
16
 
11
- # 5.0.2
17
+ ## 5.0.2
12
18
 
13
19
  * Fix issue where customised schema validation message was incorrect for a modified payload
14
20
 
15
- # 5.0.1
21
+ ## 5.0.1
16
22
 
17
23
  * Improve speed of random schema generation for customised content items
18
24
 
19
- # 5.0.0
25
+ ## 5.0.0
20
26
 
21
27
  * BREAKING: Drop support for Ruby 3.0. The minimum required Ruby version is now 3.1.4.
22
28
  * Add support for Ruby 3.3.
23
29
  * Add support for `json-schema` 3.3.
24
30
 
25
- # 4.7.0
31
+ ## 4.7.0
26
32
 
27
33
  * Update `json-schema` dependency.
28
34
 
29
- # 4.6.0
35
+ ## 4.6.0
30
36
 
31
37
  * Drop support for Ruby 2.7.
32
38
  * Fix guidance on fixing a regex issue to reference correct filename.
33
39
  * Add support for `^[1-9][0-9]{3}$` regex to resolve exceptions randomly generating specialist_documents.
34
40
 
35
- # 4.5.0
41
+ ## 4.5.0
36
42
 
37
- General support for content schemas in publishing api:
38
- * Update default content schemas url to point to publishing api rather than govuk-content-schemas. This is because we are merging schemas into publishing api.
39
- * Update path of allowed_document_types.yml to reflect new location in publishing api, allowing us to remove a symlink.
40
- * Introduce a setter method for manually configuring the path to schemas, outside of an env variable
43
+ * General support for content schemas in Publishing API:
44
+ * Update default content schemas url to point to publishing api rather than govuk-content-schemas. This is because we are merging schemas into publishing api.
45
+ * Update path of allowed_document_types.yml to reflect new location in publishing api, allowing us to remove a symlink.
46
+ * Introduce a setter method for manually configuring the path to schemas, outside of an env variable
41
47
 
42
- # 4.4.1
48
+ ## 4.4.1
43
49
 
44
50
  * Fix `Validator` module to handle JSON or other object types being passed as the payload ([#68](https://github.com/alphagov/govuk_schemas/pull/68))
45
51
 
46
- # 4.4.0
52
+ ## 4.4.0
47
53
 
48
54
  * Adds support for applications that use Minitest by adding an `AssertMatchers` module ([#66](https://github.com/alphagov/govuk_schemas/pull/66))
49
55
 
50
- # 4.3.0
56
+ ## 4.3.0
51
57
 
52
58
  * Generate unique items for arrays with the "uniqueItems" property. ([#63](https://github.com/alphagov/govuk_schemas/pull/63))
53
59
 
54
- # 4.2.0
60
+ ## 4.2.0
55
61
 
56
62
  * Add support for generating random HH:MM time strings that match a regex. ([#62](https://github.com/alphagov/govuk_schemas/pull/62))
57
63
 
58
- # 4.1.1
64
+ ## 4.1.1
59
65
 
60
66
  * Fix RandomSchemaGenerator.new always returning equivalent generators ([#60](https://github.com/alphagov/govuk_schemas/pull/60))
61
67
 
62
- # 4.1.0
68
+ ## 4.1.0
63
69
 
64
70
  * Add `seed` parameter to `GovukSchemas::RandomExample` to make the random behaviour deterministic. Given the same seed, the same randomised outputs will be returned ([#56](https://github.com/alphagov/govuk_schemas/pull/56)).
65
71
 
66
- # 4.0.1
72
+ ## 4.0.1
67
73
 
68
74
  * Bump the required Ruby version to >= 2.6.x.
69
75
 
70
- # 4.0.0
76
+ ## 4.0.0
71
77
 
72
- * Change RSpec::Matchers, rename `be_valid_against_schema` to
73
- `be_valid_against_publisher_schema` and add
74
- `be_valid_against_frontend_schema` plus
75
- `be_valid_against_notification_schema`.
78
+ * Change RSpec::Matchers, rename `be_valid_against_schema` to `be_valid_against_publisher_schema` and add `be_valid_against_frontend_schema` plus `be_valid_against_notification_schema`.
76
79
 
77
- # 3.3.0
80
+ ## 3.3.0
78
81
 
79
82
  * Support generating objects with an `oneOf` property.
80
83
 
81
- # 3.2.0
84
+ ## 3.2.0
82
85
 
83
86
  * Add `GovukSchemas::DocumentTypes.valid_document_types` (PR #48)
84
87
 
85
- # 3.1.0
88
+ ## 3.1.0
86
89
 
87
90
  * Update json-schema dependency
88
91
 
89
- # 3.0.1
92
+ ## 3.0.1
90
93
 
91
- * change order of output when validation errors occur during random example generation
94
+ * Change order of output when validation errors occur during random example generation
92
95
 
93
- # 3.0.0
96
+ ## 3.0.0
94
97
 
95
98
  * Move to block based customisation of randomly generated payloads. This removes the existing methods: `customise_and_validate` and `merge_and_validate`. In addition `GovukSchemas::RandomExample.for_schema(schema)` now returns the payload hash directly.
96
99
 
97
- # 2.3.0
100
+ ## 2.3.0
98
101
 
99
102
  * Allow looking up examples to work with schemas stored in `formats/{format}/{schema_type}/examples/` and `examples/{format}/{schema_type}/` to allow schema examples to move.
100
103
 
101
- # 2.2.0
104
+ ## 2.2.0
102
105
 
103
106
  * Add RSpec test helpers
104
107
  * Add `customise_and_validate` to bring the functionality to remove fields from a payload which has been generated as a random example
105
108
 
106
- # 2.1.1
109
+ ## 2.1.1
107
110
 
108
111
  * Support for a new regex in GOV.UK content schemas
109
112
 
110
- # 2.1.0
113
+ ## 2.1.0
111
114
 
112
115
  * Add `Schema.schema_names` to return all schema names
113
116
  * Add functionality to work with examples
114
117
 
115
- # 2.0.0
118
+ ## 2.0.0
116
119
 
117
120
  * Change GovukSchemas::Schema.find to take { links_schema: 'detailded_guide' }
118
121
  * Add regex for lowercase-underscore strings
119
122
 
120
- # 1.0.0
123
+ ## 1.0.0
121
124
 
122
125
  * Add regex for GOV.UK campaign URLs
123
126
  * Improve error messages
124
127
 
125
- # 0.2.0
128
+ ## 0.2.0
126
129
 
127
130
  * Add a new regex for the new application validation in the schema
128
131
  * Add documentation for the gem
@@ -130,6 +133,6 @@ General support for content schemas in publishing api:
130
133
  * Now tests all available schema (a problem with specialist docs has been solved)
131
134
  * Drops active-support dependency, pins json-schema dependency
132
135
 
133
- # 0.1.0
136
+ ## 0.1.0
134
137
 
135
138
  * First release. Allows random content generation.
@@ -18,15 +18,15 @@ Gem::Specification.new do |spec|
18
18
  spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
19
19
  spec.require_paths = %w[lib]
20
20
 
21
- spec.add_dependency "faker", "~> 3.4.1"
21
+ spec.add_dependency "faker", ">= 3.4.1", "< 3.6.0"
22
22
  # This should be kept in sync with the json-schema version of publishing-api.
23
- spec.add_dependency "json-schema", ">= 2.8", "< 4.4"
23
+ spec.add_dependency "json-schema", ">= 2.8", "< 5.2"
24
24
 
25
25
  spec.add_development_dependency "climate_control"
26
26
  spec.add_development_dependency "pry-byebug"
27
27
  spec.add_development_dependency "rake", "~> 13.0"
28
28
  spec.add_development_dependency "rspec", "~> 3.4"
29
- spec.add_development_dependency "rubocop-govuk", "4.18.0"
29
+ spec.add_development_dependency "rubocop-govuk", "5.1.1"
30
30
 
31
- spec.required_ruby_version = ">= 3.1.4"
31
+ spec.required_ruby_version = ">= 3.2"
32
32
  end
@@ -1,4 +1,4 @@
1
1
  module GovukSchemas
2
2
  # @private
3
- VERSION = "5.0.4".freeze
3
+ VERSION = "6.0.0".freeze
4
4
  end
metadata CHANGED
@@ -1,29 +1,34 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: govuk_schemas
3
3
  version: !ruby/object:Gem::Version
4
- version: 5.0.4
4
+ version: 6.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - GOV.UK Dev
8
- autorequire:
9
8
  bindir: exe
10
9
  cert_chain: []
11
- date: 2024-06-24 00:00:00.000000000 Z
10
+ date: 2025-03-26 00:00:00.000000000 Z
12
11
  dependencies:
13
12
  - !ruby/object:Gem::Dependency
14
13
  name: faker
15
14
  requirement: !ruby/object:Gem::Requirement
16
15
  requirements:
17
- - - "~>"
16
+ - - ">="
18
17
  - !ruby/object:Gem::Version
19
18
  version: 3.4.1
19
+ - - "<"
20
+ - !ruby/object:Gem::Version
21
+ version: 3.6.0
20
22
  type: :runtime
21
23
  prerelease: false
22
24
  version_requirements: !ruby/object:Gem::Requirement
23
25
  requirements:
24
- - - "~>"
26
+ - - ">="
25
27
  - !ruby/object:Gem::Version
26
28
  version: 3.4.1
29
+ - - "<"
30
+ - !ruby/object:Gem::Version
31
+ version: 3.6.0
27
32
  - !ruby/object:Gem::Dependency
28
33
  name: json-schema
29
34
  requirement: !ruby/object:Gem::Requirement
@@ -33,7 +38,7 @@ dependencies:
33
38
  version: '2.8'
34
39
  - - "<"
35
40
  - !ruby/object:Gem::Version
36
- version: '4.4'
41
+ version: '5.2'
37
42
  type: :runtime
38
43
  prerelease: false
39
44
  version_requirements: !ruby/object:Gem::Requirement
@@ -43,7 +48,7 @@ dependencies:
43
48
  version: '2.8'
44
49
  - - "<"
45
50
  - !ruby/object:Gem::Version
46
- version: '4.4'
51
+ version: '5.2'
47
52
  - !ruby/object:Gem::Dependency
48
53
  name: climate_control
49
54
  requirement: !ruby/object:Gem::Requirement
@@ -106,14 +111,14 @@ dependencies:
106
111
  requirements:
107
112
  - - '='
108
113
  - !ruby/object:Gem::Version
109
- version: 4.18.0
114
+ version: 5.1.1
110
115
  type: :development
111
116
  prerelease: false
112
117
  version_requirements: !ruby/object:Gem::Requirement
113
118
  requirements:
114
119
  - - '='
115
120
  - !ruby/object:Gem::Version
116
- version: 4.18.0
121
+ version: 5.1.1
117
122
  description: Gem to generate test data based on GOV.UK content schemas
118
123
  email:
119
124
  - govuk-dev@digital.cabinet-office.gov.uk
@@ -122,6 +127,8 @@ extensions: []
122
127
  extra_rdoc_files: []
123
128
  files:
124
129
  - ".github/dependabot.yml"
130
+ - ".github/workflows/actionlint.yml"
131
+ - ".github/workflows/autorelease.yml"
125
132
  - ".github/workflows/ci.yml"
126
133
  - ".gitignore"
127
134
  - ".govuk_dependabot_merger.yml"
@@ -151,7 +158,6 @@ homepage: https://github.com/alphagov/govuk_schemas_gem
151
158
  licenses:
152
159
  - MIT
153
160
  metadata: {}
154
- post_install_message:
155
161
  rdoc_options: []
156
162
  require_paths:
157
163
  - lib
@@ -159,15 +165,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
159
165
  requirements:
160
166
  - - ">="
161
167
  - !ruby/object:Gem::Version
162
- version: 3.1.4
168
+ version: '3.2'
163
169
  required_rubygems_version: !ruby/object:Gem::Requirement
164
170
  requirements:
165
171
  - - ">="
166
172
  - !ruby/object:Gem::Version
167
173
  version: '0'
168
174
  requirements: []
169
- rubygems_version: 3.5.14
170
- signing_key:
175
+ rubygems_version: 3.6.6
171
176
  specification_version: 4
172
177
  summary: Gem to generate test data based on GOV.UK content schemas
173
178
  test_files: []