| 20 | include VersionDetectable |
| 21 | |
| 22 | def setup |
| 23 | @current_commit = git_current_commit |
| 24 | detect_versions |
| 25 | |
| 26 | top_dir = Pathname(__dir__).parent.parent |
| 27 | @original_git_repository = top_dir + ".git" |
| 28 | Dir.mktmpdir do |dir| |
| 29 | @test_git_repository = Pathname(dir) + "arrow" |
| 30 | git("clone", @original_git_repository.to_s, @test_git_repository.to_s) |
| 31 | FileUtils.cp((top_dir + "dev" + "release" + ".env").to_s, |
| 32 | (@test_git_repository + "dev" + "release").to_s) |
| 33 | Dir.chdir(@test_git_repository) do |
| 34 | @release_branch = "testing-release-#{@release_version}-rc0" |
| 35 | git("checkout", "-b", @release_branch, @current_commit) |
| 36 | yield |
| 37 | end |
| 38 | FileUtils.rm_rf(@test_git_repository) |
| 39 | end |
| 40 | end |
| 41 | |
| 42 | def prepare(*targets) |
| 43 | if targets.last.is_a?(Hash) |