diff options
author | GitLab Bot <gitlab-bot@gitlab.com> | 2020-12-17 14:59:07 +0300 |
---|---|---|
committer | GitLab Bot <gitlab-bot@gitlab.com> | 2020-12-17 14:59:07 +0300 |
commit | 8b573c94895dc0ac0e1d9d59cf3e8745e8b539ca (patch) | |
tree | 544930fb309b30317ae9797a9683768705d664c4 /tooling/bin/find_tests | |
parent | 4b1de649d0168371549608993deac953eb692019 (diff) |
Add latest changes from gitlab-org/gitlab@13-7-stable-eev13.7.0-rc42
Diffstat (limited to 'tooling/bin/find_tests')
-rwxr-xr-x | tooling/bin/find_tests | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/tooling/bin/find_tests b/tooling/bin/find_tests new file mode 100755 index 00000000000..2c0e7ae2c53 --- /dev/null +++ b/tooling/bin/find_tests @@ -0,0 +1,30 @@ +#!/usr/bin/env ruby +# frozen_string_literal: true + +require 'gitlab' +require 'test_file_finder' + +gitlab_token = ENV.fetch('DANGER_GITLAB_API_TOKEN', '') + +Gitlab.configure do |config| + config.endpoint = 'https://gitlab.com/api/v4' + config.private_token = gitlab_token +end + +output_file = ARGV.shift + +mr_project_path = ENV.fetch('CI_MERGE_REQUEST_PROJECT_PATH') +mr_iid = ENV.fetch('CI_MERGE_REQUEST_IID') + +mr_changes = Gitlab.merge_request_changes(mr_project_path, mr_iid) +changed_files = mr_changes.changes.map { |change| change['new_path'] } + +tff = TestFileFinder::FileFinder.new(paths: changed_files).tap do |file_finder| + file_finder.use TestFileFinder::MappingStrategies::PatternMatching.load('tests.yml') + + if ENV['RSPEC_TESTS_MAPPING_ENABLED'] + file_finder.use TestFileFinder::MappingStrategies::DirectMatching.load_json(ENV['RSPEC_TESTS_MAPPING_PATH']) + end +end + +File.write(output_file, tff.test_files.uniq.join(' ')) |