Skip to content

Commit 53f0614

Browse files
committed
feat: Added systematic copying of early-access releases
1 parent 17b130c commit 53f0614

File tree

2 files changed

+24
-2
lines changed

2 files changed

+24
-2
lines changed

gha_clone_releases/main.py

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -166,6 +166,19 @@ def main():
166166
target = this_repo.default_branch if inputs["target"] is None else inputs["target"]
167167
actions_toolkit.debug(f"Target branch is {target}")
168168
try:
169+
# Special handling for early-access releases
170+
if release.tag_name == "early-access":
171+
actions_toolkit.info(f"Special handling for early-access release - checking if it already exists")
172+
# Find and delete existing early-access release if it exists
173+
existing_releases = [r for r in this_repo.get_releases() if r.tag_name == "early-access"]
174+
if existing_releases:
175+
actions_toolkit.info("Found existing early-access release, deleting it before recreating")
176+
for existing_release in existing_releases:
177+
try:
178+
existing_release.delete_release()
179+
actions_toolkit.info("Successfully deleted existing early-access release")
180+
except Exception as del_exc:
181+
actions_toolkit.error(f"Error deleting existing early-access release: {del_exc}")
169182
new_release = this_repo.create_git_release(
170183
tag=release.tag_name,
171184
name=release.title,

gha_clone_releases/utils/releases.py

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -40,9 +40,16 @@ def sort_key(release: GitRelease):
4040
actions_toolkit.debug(f"Source releases: {source_releases}")
4141
actions_toolkit.debug(f"Dest releases: {dest_releases}")
4242

43+
early_access_releases = []
4344
wrapped_sources = set()
4445
for release in source_releases:
45-
if release.tag_name == "early-access" or exceeds_min_version(release.title, min_version):
46+
if release.tag_name == "early-access":
47+
actions_toolkit.debug(
48+
f"Source release: {release.title} has early-access tag, copy to destination"
49+
)
50+
# Store early-access releases separately
51+
early_access_releases.append(release)
52+
elif exceeds_min_version(release.title, min_version):
4653
actions_toolkit.debug(
4754
f"Source release: {release.title} is early-access or greater than {min_version}, will copy to destination"
4855
)
@@ -57,7 +64,9 @@ def sort_key(release: GitRelease):
5764
actions_toolkit.debug(f"Dest release: {release.title}")
5865
wrapped_dest_releases.add(ReleaseWrapper(release))
5966

60-
releases = [release.release for release in list(wrapped_sources - wrapped_dest_releases)]
67+
standard_releases_to_add = [release.release for release in list(wrapped_sources - wrapped_dest_releases)]
68+
69+
releases = standard_releases_to_add + early_access_releases
6170
releases.sort(key=lambda release: release.published_at, reverse=True)
6271
actions_toolkit.debug(f"Releases to add: {releases}")
6372
return releases

0 commit comments

Comments
 (0)