test_file_finder 0.1.1 → 0.1.3

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: f430ea47bf579ef3674aaf0e0dc9cd41dcb667496e095fe5186a3fdf4763e3d0
4
- data.tar.gz: f22662e4c8e9e20af318eeca9d6a6de2f24ef494a962406e202781c464cd38c9
3
+ metadata.gz: 395e0c675e1c2f892395a6706c5c0505f8bf53a28416b3d60f424613b6eaefd1
4
+ data.tar.gz: 7d574bfda0a48abce40083fbaed0ab007e56ea051bcb1a056dfee1ef6dc2f052
5
5
  SHA512:
6
- metadata.gz: 01da410e1a12bd34d58d0d3d0212d793ba99bdaef7d7b97d3fb03fb68a9b059af700a4da5a695be1976a61ef0dec7385f19e89660630b219acaf88be4b4e7601
7
- data.tar.gz: 3e3cf7a6f6a74a7d7fcef43b462ad0b78e971cc1f1116ddf37607aa2837dce44e1b42635b7d0e275929f3d74146ba74151d3c32f717c6bdb151c49ec4afc73bb
6
+ metadata.gz: f15af7348a90fd1f3eb13b48359f57db714e7f4badce355544b35fe1a261fe7881555f6852415fdcdc4544f49341efb8ffac968675c36a355530a6d4c86cb20f
7
+ data.tar.gz: 2e7592eb12c547e5346362cdef16e3356d75b2cee3156390e720c55a0c45428b4a8f004dfe4750c9429b89d6fef9ca2b2a134d27493c3d3e15104b049586d0e6
data/.gitlab-ci.yml CHANGED
@@ -1,3 +1,9 @@
1
+ image: ruby:2.7.2
2
+
3
+ stages:
4
+ - test
5
+ - deploy
6
+
1
7
  rspec:
2
8
  script: bundle; bundle exec rspec
3
9
  rules:
@@ -7,3 +13,7 @@ check-executable:
7
13
  script: bundle; bundle exec rspec feature
8
14
  rules:
9
15
  - if: $CI
16
+
17
+ include:
18
+ - project: 'gitlab-org/quality/pipeline-common'
19
+ file: '/ci/gem-release.yml'
@@ -0,0 +1,35 @@
1
+ <!-- Replace `v4.5.0` with the previous release here, and `e18d76b309e42888759c1effe96767f13e34ae55`
2
+ with the latest commit from https://gitlab.com/gitlab-org/ci-cd/test_file_finder/commits/master that will be included in the release. -->
3
+ - Diff: https://gitlab.com/gitlab-org/ci-cd/test_file_finder/compare/v4.5.0...e18d76b309e42888759c1effe96767f13e34ae55
4
+
5
+ - Release notes:
6
+
7
+ <!-- Keep the sections order but remove the empty sections -->
8
+
9
+ ```markdown
10
+ ### New features and features updates
11
+
12
+ - !aaa <Title of the aaa MR>.
13
+
14
+ ### Fixes
15
+
16
+ - !bbb <Title of the bbb MR>.
17
+
18
+ ### Doc changes
19
+
20
+ - !ccc <Title of the ccc MR>.
21
+
22
+ ### Other changes (tooling, technical debt)
23
+
24
+ - !ddd <Title of the ddd MR>.
25
+ ```
26
+
27
+ - Checklist before merging:
28
+ - [ ] Diff link is up-to-date.
29
+ - [ ] Based on the diff, `lib/test_file_finder/version.rb` is updated, according to [SemVer](https://semver.org).
30
+ - [ ] Release notes are accurate.
31
+
32
+ - Checklist after merging:
33
+ - [ ] [Update the release notes for the newly created tag](docs/release_process.md#how-to).
34
+
35
+ /label ~tooling ~"tooling::workflow"
data/Gemfile.lock CHANGED
@@ -1,13 +1,22 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- test_file_finder (0.1.1)
4
+ test_file_finder (0.1.3)
5
+ faraday (~> 1.0.1)
5
6
 
6
7
  GEM
7
8
  remote: https://rubygems.org/
8
9
  specs:
10
+ addressable (2.7.0)
11
+ public_suffix (>= 2.0.2, < 5.0)
9
12
  byebug (11.1.3)
13
+ crack (0.4.4)
10
14
  diff-lcs (1.3)
15
+ faraday (1.0.1)
16
+ multipart-post (>= 1.2, < 3)
17
+ hashdiff (1.0.1)
18
+ multipart-post (2.1.1)
19
+ public_suffix (4.0.6)
11
20
  rake (10.5.0)
12
21
  rspec (3.9.0)
13
22
  rspec-core (~> 3.9.0)
@@ -22,6 +31,10 @@ GEM
22
31
  diff-lcs (>= 1.2.0, < 2.0)
23
32
  rspec-support (~> 3.9.0)
24
33
  rspec-support (3.9.3)
34
+ webmock (3.12.1)
35
+ addressable (>= 2.3.6)
36
+ crack (>= 0.3.2)
37
+ hashdiff (>= 0.4.0, < 2.0.0)
25
38
 
26
39
  PLATFORMS
27
40
  ruby
@@ -32,6 +45,7 @@ DEPENDENCIES
32
45
  rake (~> 10.0)
33
46
  rspec (~> 3.0)
34
47
  test_file_finder!
48
+ webmock (~> 3.12)
35
49
 
36
50
  BUNDLED WITH
37
- 1.17.3
51
+ 2.1.4
data/README.md CHANGED
@@ -119,6 +119,25 @@ tff.test_files
119
119
 
120
120
  An example mapping file is available in `fixtures/mapping.json`.
121
121
 
122
+ ##### `--project-path project_path` and `--merge-request-iid merge_request_iid`
123
+
124
+ `TestFileFinder` can be used with both GitLab project path and merge request IID to get the test files that failed in the project merge request.
125
+
126
+ Command line example:
127
+
128
+ ```bash
129
+ $ tff --project-path project/path --merge-request-iid 123
130
+ spec/models/widget_spec.rb
131
+ ```
132
+
133
+ Ruby example:
134
+
135
+ ```ruby
136
+ tff = TestFileFinder::FileFinder.new(paths: file_paths)
137
+ tff.use TestFileFinder::MappingStrategies::GitlabMergeRequestRspecFailure.new(project_path: 'project/path', merge_request_iid: 123)
138
+ tff.test_files
139
+ ```
140
+
122
141
  ## Development
123
142
 
124
143
  After checking out the repo, run `bin/setup` to install dependencies. Then, run `rake spec` to run the tests. You can also run `bin/console` for an interactive prompt that will allow you to experiment.
@@ -0,0 +1,34 @@
1
+ # Release Process
2
+
3
+ ## Versioning
4
+
5
+ We follow [Semantic Versioning](https://semver.org). In short, this means that the new version should reflect the types of changes that are about to be released.
6
+
7
+ *summary from semver.org*
8
+
9
+ MAJOR.MINOR.PATCH
10
+
11
+ - MAJOR version when you make incompatible API changes,
12
+ - MINOR version when you add functionality in a backwards compatible manner, and
13
+ - PATCH version when you make backwards compatible bug fixes.
14
+
15
+ ## When we release
16
+
17
+ We release `gitlab-triage` on an ad-hoc basis. There is no regularity to when we release, we just release
18
+ when we make a change - no matter the size of the change.
19
+
20
+ ## How-to
21
+
22
+ - Check if there is an [open merge request to bump the version](https://gitlab.com/gitlab-org/ci-cd/test_file_finder/merge_requests?scope=all&utf8=%E2%9C%93&state=opened&search=bump+version) (to avoid creating a duplicate).
23
+ - If there is one, update it if necessary.
24
+ - If not, update [`lib/test_file_finder/version.rb`] to an appropriate [semantic version](https://semver.org) in a new merge request using the [release template](https://gitlab.com/gitlab-org/ci-cd/test_file_finder/blob/master/.gitlab/merge_request_templates/Release.md)
25
+ and title the MR like `"Bump version to <version>"`.
26
+ - Merge the merge request.
27
+ - The new version should automatically be tagged and pushed to Rubygems by the `release` job in the merge commit pipeline.
28
+ - Update the release notes for the newly created tag (https://gitlab.com/gitlab-org/ci-cd/test_file_finder/-/tags):
29
+ * **Release notes**: Copy the release notes from the merge request.
30
+
31
+ Note: The `bundle exec release` command uses the `GEM_HOST_API_KEY` environment variable to authenticate against the
32
+ `rubygems.org`.
33
+
34
+ [`lib/test_file_finder/version.rb`]: https://gitlab.com/gitlab-org/ci-cd/test_file_finder/blob/master/lib/test_file_finder/version.rb#L2
data/exe/tff CHANGED
@@ -10,6 +10,9 @@ TestFileFinder::FileFinder.new(paths: ARGV).tap do |file_finder|
10
10
  if options.mapping_file
11
11
  file_finder.use TestFileFinder::MappingStrategies::PatternMatching.load(options.mapping_file)
12
12
  end
13
+ if options.project_path && options.merge_request_iid
14
+ file_finder.use TestFileFinder::MappingStrategies::GitlabMergeRequestRspecFailure.new(project_path: options.project_path, merge_request_iid: options.merge_request_iid)
15
+ end
13
16
 
14
17
  if file_finder.strategies.empty?
15
18
  file_finder.use TestFileFinder::MappingStrategies::PatternMatching.default_rails_mapping
@@ -0,0 +1,194 @@
1
+ {
2
+ "status": "failed",
3
+ "summary": {
4
+ "total": 262819,
5
+ "resolved": 0,
6
+ "failed": 1,
7
+ "errored": 0
8
+ },
9
+ "suites": [
10
+ {
11
+ "name": "jest",
12
+ "status": "success",
13
+ "summary": {
14
+ "total": 27913,
15
+ "resolved": 0,
16
+ "failed": 0,
17
+ "errored": 0
18
+ },
19
+ "new_failures": [
20
+ {
21
+ "status": "failed",
22
+ "name": "javascript test",
23
+ "classname": "javascript.test",
24
+ "file": "./spec/frontend/javascript_spec.js",
25
+ "execution_time": 0.1,
26
+ "system_output": "Test failure",
27
+ "stack_trace": null,
28
+ "recent_failures": {
29
+ "count": 1,
30
+ "base_branch": "master"
31
+ }
32
+ }
33
+ ],
34
+ "existing_failures": [],
35
+ "resolved_failures": [],
36
+ "new_errors": [],
37
+ "existing_errors": [],
38
+ "resolved_errors": [],
39
+ "suite_errors": null
40
+ },
41
+ {
42
+ "name": "rspec unit pg11",
43
+ "status": "success",
44
+ "summary": {
45
+ "total": 70649,
46
+ "resolved": 0,
47
+ "failed": 0,
48
+ "errored": 0
49
+ },
50
+ "new_failures": [
51
+ {
52
+ "status": "failed",
53
+ "name": "rspec unit pg 11 test",
54
+ "classname": "rspec.unit.pg.11.test",
55
+ "file": "./spec/app/rspec_unit_pg11_spec.rb",
56
+ "execution_time": 0.534931,
57
+ "system_output": "Failure/Error",
58
+ "stack_trace": null,
59
+ "recent_failures": {
60
+ "count": 6,
61
+ "base_branch": "master"
62
+ }
63
+ }
64
+ ],
65
+ "existing_failures": [],
66
+ "resolved_failures": [
67
+ {
68
+ "status": "success",
69
+ "name": "resolved rspec unit pg 11 test",
70
+ "classname": "resolved.rspec.unit.pg.11.test",
71
+ "file": "./spec/resolved/rspec_unit_pg11_spec.rb",
72
+ "execution_time": 0.534931,
73
+ "system_output": "Failure/Error",
74
+ "stack_trace": null,
75
+ "recent_failures": {
76
+ "count": 6,
77
+ "base_branch": "master"
78
+ }
79
+ }
80
+ ],
81
+ "new_errors": [],
82
+ "existing_errors": [],
83
+ "resolved_errors": [],
84
+ "suite_errors": null
85
+ },
86
+ {
87
+ "name": "rspec system pg11-as-if-foss",
88
+ "status": "success",
89
+ "summary": {
90
+ "total": 6735,
91
+ "resolved": 0,
92
+ "failed": 0,
93
+ "errored": 0
94
+ },
95
+ "new_failures": [],
96
+ "existing_failures": [
97
+ {
98
+ "status": "failed",
99
+ "name": "rspec system pg 11 as if foss test",
100
+ "classname": "rspec.system.pg.11.as.if.foss.test",
101
+ "file": "./spec/features/rspec_system_pg11_as_if_foss_spec.rb",
102
+ "execution_time": 0.534931,
103
+ "system_output": "Failure/Error",
104
+ "stack_trace": null,
105
+ "recent_failures": {
106
+ "count": 6,
107
+ "base_branch": "master"
108
+ }
109
+ }
110
+ ],
111
+ "resolved_failures": [],
112
+ "new_errors": [],
113
+ "existing_errors": [],
114
+ "resolved_errors": [],
115
+ "suite_errors": null
116
+ },
117
+ {
118
+ "name": "rspec-ee integration pg11",
119
+ "status": "failed",
120
+ "summary": {
121
+ "total": 5713,
122
+ "resolved": 0,
123
+ "failed": 1,
124
+ "errored": 0
125
+ },
126
+ "new_failures": [
127
+ {
128
+ "status": "failed",
129
+ "name": "rspec-ee integration pg 11 test",
130
+ "classname": "rspec-ee.integration.pg.11.test",
131
+ "file": "./ee/spec/rspec_integration_pg11_spec.rb",
132
+ "execution_time": 0.534931,
133
+ "system_output": "Failure/Error",
134
+ "stack_trace": null,
135
+ "recent_failures": {
136
+ "count": 6,
137
+ "base_branch": "master"
138
+ }
139
+ }
140
+ ],
141
+ "existing_failures": [],
142
+ "resolved_failures": [],
143
+ "new_errors": [],
144
+ "existing_errors": [],
145
+ "resolved_errors": [],
146
+ "suite_errors": null
147
+ },
148
+ {
149
+ "name": "rspec-ee system pg11",
150
+ "status": "success",
151
+ "summary": {
152
+ "total": 1993,
153
+ "resolved": 0,
154
+ "failed": 0,
155
+ "errored": 0
156
+ },
157
+ "new_failures": [],
158
+ "existing_failures": [
159
+ {
160
+ "status": "failed",
161
+ "name": "rspec-ee system pg 11 test",
162
+ "classname": "rspec-ee.system.pg.11.test",
163
+ "file": "./ee/spec/features/rspec_system_pg11_spec.rb",
164
+ "execution_time": 0.534931,
165
+ "system_output": "Failure/Error",
166
+ "stack_trace": null,
167
+ "recent_failures": {
168
+ "count": 6,
169
+ "base_branch": "master"
170
+ }
171
+ }
172
+ ],
173
+ "resolved_failures": [
174
+ {
175
+ "status": "success",
176
+ "name": "resolved rspec system pg 11 test",
177
+ "classname": "resolved.rspec.system.pg.11.test",
178
+ "file": "./ee/spec/features/resolved/rspec_system_pg11_spec.rb",
179
+ "execution_time": 0.534931,
180
+ "system_output": "Failure/Error",
181
+ "stack_trace": null,
182
+ "recent_failures": {
183
+ "count": 6,
184
+ "base_branch": "master"
185
+ }
186
+ }
187
+ ],
188
+ "new_errors": [],
189
+ "existing_errors": [],
190
+ "resolved_errors": [],
191
+ "suite_errors": null
192
+ }
193
+ ]
194
+ }
@@ -8,4 +8,5 @@ module TestFileFinder
8
8
  class Error < StandardError; end
9
9
 
10
10
  InvalidMappingFileError = Class.new(Error)
11
+ TestReportError = Class.new(Error)
11
12
  end
@@ -1,4 +1,5 @@
1
1
  require 'test_file_finder/mapping_strategies/direct_matching'
2
+ require 'test_file_finder/mapping_strategies/gitlab_merge_request_rspec_failure'
2
3
  require 'test_file_finder/mapping_strategies/pattern_matching'
3
4
 
4
5
  module TestFileFinder
@@ -0,0 +1,78 @@
1
+ require 'faraday'
2
+ require 'json'
3
+ require 'set'
4
+
5
+ module TestFileFinder
6
+ module MappingStrategies
7
+ ##
8
+ # GitlabMergeRequestRSpecFailure strategy finds test files that failed
9
+ # in a GitLab merge request, using the Unit Test Reports feature
10
+ # https://docs.gitlab.com/ee/ci/unit_test_reports.html
11
+ #
12
+ # It uses the project path and merge request iid to fetch
13
+ # the test report of the merge request, which contains the test suites
14
+ # that ran in the CI pipeline.
15
+ #
16
+ # It returns file names of rspec failures in the pipeline.
17
+ class GitlabMergeRequestRspecFailure
18
+ TEST_REPORTS_URL_TEMPLATE = 'https://gitlab.com/%{project_path}/-/merge_requests/%{merge_request_iid}/test_reports.json'.freeze
19
+
20
+ attr_reader :project_path, :merge_request_iid
21
+
22
+ def initialize(project_path:, merge_request_iid:)
23
+ @project_path = project_path
24
+ @merge_request_iid = merge_request_iid
25
+ end
26
+
27
+ def match(_files = nil)
28
+ test_suites.each_with_object(Set.new) do |suite, result|
29
+ unresolved_failures(suite).each do |failure|
30
+ rspec_file(failure) do |spec|
31
+ result << spec
32
+ end
33
+ end
34
+ end.to_a
35
+ end
36
+
37
+ private
38
+
39
+ def test_suites
40
+ return to_enum(__method__) unless block_given?
41
+
42
+ @test_suites ||= merge_request_test_reports['suites']
43
+ @test_suites.each { |suite| yield suite }
44
+ end
45
+
46
+ def unresolved_failures(suite)
47
+ return to_enum(__method__, suite) unless block_given?
48
+
49
+ suite['new_failures'].each { |failure| yield failure }
50
+ suite['existing_failures'].each { |failure| yield failure }
51
+ end
52
+
53
+ def rspec_file(failure)
54
+ file = failure['file'].sub('./', '')
55
+
56
+ if file.end_with?('spec.rb')
57
+ yield file
58
+ end
59
+ end
60
+
61
+ def merge_request_test_reports
62
+ test_reports_url = format(TEST_REPORTS_URL_TEMPLATE, { project_path: project_path, merge_request_iid: merge_request_iid })
63
+
64
+ response = Faraday.get(test_reports_url, {}, {'Accept' => 'application/json'})
65
+
66
+ if response.status == 204
67
+ raise TestFileFinder::TestReportError, "Test report for merge request #{merge_request_iid} is not ready, please try again later."
68
+ elsif response.status == 400
69
+ raise TestFileFinder::TestReportError, "The project #{project_path} does not have test reports configured."
70
+ elsif response.status == 500
71
+ raise TestFileFinder::TestReportError, 'Unable to retrieve test report, please try again later.'
72
+ end
73
+
74
+ JSON.parse(response.body)
75
+ end
76
+ end
77
+ end
78
+ end
@@ -1,7 +1,7 @@
1
1
  require 'optparse'
2
2
 
3
3
  module TestFileFinder
4
- Options = Struct.new(:mapping_file, :json)
4
+ Options = Struct.new(:mapping_file, :json, :project_path, :merge_request_iid)
5
5
 
6
6
  class OptionParser
7
7
  def self.parse!(argv)
@@ -20,6 +20,14 @@ module TestFileFinder
20
20
  opts.on('--json FILE', String, 'Use a JSON mapping file') do |json|
21
21
  options.json = json
22
22
  end
23
+
24
+ opts.on('--project-path PROJECT_PATH', String, 'Path of GitLab project, e.g `gitlab-org/gitlab`') do |project_path|
25
+ options.project_path = project_path
26
+ end
27
+
28
+ opts.on('--merge-request-iid MERGE_REQUEST_IID', Integer, 'Merge request internal id') do |merge_request_iid|
29
+ options.merge_request_iid = merge_request_iid
30
+ end
23
31
  end.parse!(argv)
24
32
  end
25
33
  end
@@ -1,3 +1,3 @@
1
1
  module TestFileFinder
2
- VERSION = '0.1.1'
2
+ VERSION = '0.1.3'
3
3
  end
@@ -33,8 +33,11 @@ Gem::Specification.new do |spec|
33
33
  spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
34
34
  spec.require_paths = ['lib']
35
35
 
36
+ spec.add_runtime_dependency 'faraday', '~> 1.0.1'
37
+
36
38
  spec.add_development_dependency 'bundler', '~> 1.17'
39
+ spec.add_development_dependency 'byebug'
37
40
  spec.add_development_dependency 'rake', '~> 10.0'
38
41
  spec.add_development_dependency 'rspec', '~> 3.0'
39
- spec.add_development_dependency 'byebug'
42
+ spec.add_development_dependency 'webmock', '~> 3.12'
40
43
  end
metadata CHANGED
@@ -1,15 +1,29 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: test_file_finder
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.1
4
+ version: 0.1.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - GitLab
8
- autorequire:
8
+ autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2020-11-13 00:00:00.000000000 Z
11
+ date: 2021-04-13 00:00:00.000000000 Z
12
12
  dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: faraday
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - "~>"
18
+ - !ruby/object:Gem::Version
19
+ version: 1.0.1
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - "~>"
25
+ - !ruby/object:Gem::Version
26
+ version: 1.0.1
13
27
  - !ruby/object:Gem::Dependency
14
28
  name: bundler
15
29
  requirement: !ruby/object:Gem::Requirement
@@ -24,6 +38,20 @@ dependencies:
24
38
  - - "~>"
25
39
  - !ruby/object:Gem::Version
26
40
  version: '1.17'
41
+ - !ruby/object:Gem::Dependency
42
+ name: byebug
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - ">="
46
+ - !ruby/object:Gem::Version
47
+ version: '0'
48
+ type: :development
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - ">="
53
+ - !ruby/object:Gem::Version
54
+ version: '0'
27
55
  - !ruby/object:Gem::Dependency
28
56
  name: rake
29
57
  requirement: !ruby/object:Gem::Requirement
@@ -53,19 +81,19 @@ dependencies:
53
81
  - !ruby/object:Gem::Version
54
82
  version: '3.0'
55
83
  - !ruby/object:Gem::Dependency
56
- name: byebug
84
+ name: webmock
57
85
  requirement: !ruby/object:Gem::Requirement
58
86
  requirements:
59
- - - ">="
87
+ - - "~>"
60
88
  - !ruby/object:Gem::Version
61
- version: '0'
89
+ version: '3.12'
62
90
  type: :development
63
91
  prerelease: false
64
92
  version_requirements: !ruby/object:Gem::Requirement
65
93
  requirements:
66
- - - ">="
94
+ - - "~>"
67
95
  - !ruby/object:Gem::Version
68
- version: '0'
96
+ version: '3.12'
69
97
  description: A command-line tool for guessing which spec files are relavant to a passed-in
70
98
  set of file paths.
71
99
  email:
@@ -77,6 +105,7 @@ extra_rdoc_files: []
77
105
  files:
78
106
  - ".gitignore"
79
107
  - ".gitlab-ci.yml"
108
+ - ".gitlab/merge_request_templates/Release.md"
80
109
  - ".rspec"
81
110
  - Gemfile
82
111
  - Gemfile.lock
@@ -84,6 +113,7 @@ files:
84
113
  - Rakefile
85
114
  - bin/console
86
115
  - bin/setup
116
+ - docs/release_process.md
87
117
  - exe/tff
88
118
  - feature/tff_exe_spec.rb
89
119
  - fixtures/mapping.json
@@ -92,11 +122,13 @@ files:
92
122
  - fixtures/spec/db/schema_spec.rb
93
123
  - fixtures/spec/models/project_spec.rb
94
124
  - fixtures/spec/models/test_file_finder_gem_executable_widget_spec.rb
125
+ - fixtures/test_reports.json
95
126
  - lib/test_file_finder.rb
96
127
  - lib/test_file_finder/file_finder.rb
97
128
  - lib/test_file_finder/mapping.rb
98
129
  - lib/test_file_finder/mapping_strategies.rb
99
130
  - lib/test_file_finder/mapping_strategies/direct_matching.rb
131
+ - lib/test_file_finder/mapping_strategies/gitlab_merge_request_rspec_failure.rb
100
132
  - lib/test_file_finder/mapping_strategies/pattern_matching.rb
101
133
  - lib/test_file_finder/option_parser.rb
102
134
  - lib/test_file_finder/version.rb
@@ -109,7 +141,7 @@ metadata:
109
141
  homepage_uri: https://gitlab.com/gitlab-org/ci-cd/test_file_finder
110
142
  source_code_uri: https://gitlab.com/gitlab-org/ci-cd/test_file_finder
111
143
  changelog_uri: https://gitlab.com/gitlab-org/ci-cd/test_file_finder/-/blob/master/CHANGELOG.md
112
- post_install_message:
144
+ post_install_message:
113
145
  rdoc_options: []
114
146
  require_paths:
115
147
  - lib
@@ -124,8 +156,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
124
156
  - !ruby/object:Gem::Version
125
157
  version: '0'
126
158
  requirements: []
127
- rubygems_version: 3.0.3
128
- signing_key:
159
+ rubygems_version: 3.1.4
160
+ signing_key:
129
161
  specification_version: 4
130
162
  summary: Guesses spec file paths given input file paths.
131
163
  test_files: []