Skip to content

Instantly share code, notes, and snippets.

@sbhmajd
Forked from matsuda/Fastfile
Created August 31, 2022 13:47
Show Gist options
  • Save sbhmajd/e4b597fa44132946f62f34965c7bbd95 to your computer and use it in GitHub Desktop.
Save sbhmajd/e4b597fa44132946f62f34965c7bbd95 to your computer and use it in GitHub Desktop.
指定されたブランチを取得するlane
###############################
# get latest release git branch
###############################
desc "get latest release git branch"
private_lane :git_latest_release_branch do
pattern = "release\/(.+)"
branches = git_find_branches(pattern: pattern)
reg = Regexp.new(pattern)
branches = branches.sort { |a, b|
old_version = a.match(reg)[1]
new_version = b.match(reg)[1]
Gem::Version.create(new_version) <=> Gem::Version.create(old_version)
}
branches.first
end
###############################
# get specifed git branch
#
# :pattern
###############################
desc "get specifed git branch"
private_lane :git_find_branches do |options|
pattern = options[:pattern]
UI.user_error!("Not found pattern to find") unless pattern
reg = Regexp.new(pattern)
branches = git_all_branches
branches.select { |b| b =~ reg }
end
###############################
# get all git branch list
###############################
desc "get all git branch list"
private_lane :git_all_branches do
branches = Actions.sh("git branch")
branches.split("\n").map { |b| b.gsub(/\*?\s+/, "") }
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment