Skip to content

Commit

Permalink
Fix marketing version lookup logic.
Browse files Browse the repository at this point in the history
  • Loading branch information
samsymons committed Jan 28, 2025
1 parent 3288baa commit c42fd00
Show file tree
Hide file tree
Showing 3 changed files with 9 additions and 7 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -59,7 +59,7 @@ def self.run(params)
end

def self.find_latest_marketing_version(github_token, platform)
latest_internal_release = Helper::GitHelper.latest_release(Helper::GitHelper.repo_name(platform), false, github_token)
latest_internal_release = Helper::GitHelper.latest_release(Helper::GitHelper.repo_name(platform), true, github_token)

version = extract_version_from_tag_name(latest_internal_release&.tag_name)
if version.to_s.empty?
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -88,8 +88,10 @@ def self.latest_release(repo_name, prerelease, platform = nil, github_token)
releases = client.releases(repo_name, per_page: page_size, page: current_page)
break if releases.empty?

# If `prerelease` is true, return the latest release that matches the optional platform regardless of whether it's public or not.
# If `prerelease` is false, then additionally check that the release is public.
matching_release = releases.find do |release|
release.prerelease == prerelease && (platform.nil? || release.tag_name.end_with?("+#{platform}"))
(prerelease || !release.prerelease) && (platform.nil? || release.tag_name.end_with?("+#{platform}"))
end

return matching_release if matching_release
Expand Down
10 changes: 5 additions & 5 deletions spec/asana_find_release_task_action_spec.rb
Original file line number Diff line number Diff line change
Expand Up @@ -37,15 +37,15 @@ def test_action(platform)
it "returns the latest marketing version" do
allow(@client).to receive(:releases).and_return(
[
double(tag_name: '1.0.0-0', prerelease: true),
double(tag_name: '1.0.0-1', prerelease: true),
double(tag_name: '1.0.1', prerelease: false),
double(tag_name: '2.0.0-1', prerelease: true),
double(tag_name: '2.0.0-0', prerelease: true),
double(tag_name: '2.0.0-1', prerelease: true)
double(tag_name: '1.0.0', prerelease: false),
double(tag_name: '1.0.0-1', prerelease: true),
double(tag_name: '1.0.0-0', prerelease: true)
]
)

expect(find_latest_marketing_version).to eq("1.0.1")
expect(find_latest_marketing_version).to eq("2.0.0")
end

describe "when there is no latest release" do
Expand Down

0 comments on commit c42fd00

Please sign in to comment.