mirror of
https://git.mirrors.martin98.com/https://github.com/Ultimaker/Cura
synced 2025-08-12 17:48:59 +08:00
Make sure a tag is a release version
This commit is contained in:
parent
e854ee6a3c
commit
3dd2d146e7
107
.github/workflows/conan-recipe-version.yml
vendored
107
.github/workflows/conan-recipe-version.yml
vendored
@ -102,6 +102,7 @@ jobs:
|
|||||||
is_release_branch = True
|
is_release_branch = True
|
||||||
channel = "_"
|
channel = "_"
|
||||||
user = "_"
|
user = "_"
|
||||||
|
actual_version = f"{branch_version}"
|
||||||
else:
|
else:
|
||||||
try:
|
try:
|
||||||
branch_version = tools.Version(repo.active_branch.name)
|
branch_version = tools.Version(repo.active_branch.name)
|
||||||
@ -118,68 +119,60 @@ jobs:
|
|||||||
if "pull_request" in event_name:
|
if "pull_request" in event_name:
|
||||||
channel = f"pr_{issue_number}"
|
channel = f"pr_{issue_number}"
|
||||||
|
|
||||||
# %% Get the actual version
|
|
||||||
latest_branch_version = tools.Version("0.0.0")
|
|
||||||
latest_branch_tag = None
|
|
||||||
for tag in repo.git.tag(merged = True).splitlines():
|
|
||||||
if str(tag).startswith("firmware") or str(tag).startswith("master"):
|
|
||||||
continue # Quick-fix for the versioning scheme name of the embedded team in fdm_materials(_private) repo
|
|
||||||
try:
|
|
||||||
version = tools.Version(tag)
|
|
||||||
except ConanException:
|
|
||||||
continue
|
|
||||||
if version > latest_branch_version:
|
|
||||||
latest_branch_version = version
|
|
||||||
latest_branch_tag = repo.tag(tag)
|
|
||||||
|
|
||||||
if latest_branch_tag:
|
|
||||||
# %% Get the actual version
|
# %% Get the actual version
|
||||||
no_commits = 0
|
latest_branch_version = tools.Version("0.0.0")
|
||||||
for commit in repo.iter_commits("HEAD"):
|
latest_branch_tag = None
|
||||||
if commit == latest_branch_tag.commit:
|
for tag in repo.git.tag(merged = True).splitlines():
|
||||||
break
|
if str(tag).startswith("firmware") or str(tag).startswith("master"):
|
||||||
no_commits += 1
|
continue # Quick-fix for the versioning scheme name of the embedded team in fdm_materials(_private) repo
|
||||||
|
try:
|
||||||
|
version = tools.Version(tag)
|
||||||
|
except ConanException:
|
||||||
|
continue
|
||||||
|
if version > latest_branch_version:
|
||||||
|
latest_branch_version = version
|
||||||
|
latest_branch_tag = repo.tag(tag)
|
||||||
|
|
||||||
if no_commits == 0:
|
if latest_branch_tag:
|
||||||
# This is a release
|
# %% Get the actual version
|
||||||
actual_version = f"{latest_branch_version.major}.{latest_branch_version.minor}.{latest_branch_version.patch}"
|
no_commits = 0
|
||||||
if channel == "stable":
|
for commit in repo.iter_commits("HEAD"):
|
||||||
user = "_"
|
if commit == latest_branch_tag.commit:
|
||||||
channel = "_"
|
break
|
||||||
else:
|
no_commits += 1
|
||||||
latest_branch_version_prerelease = latest_branch_version.prerelease
|
|
||||||
if latest_branch_version.prerelease and not "." in latest_branch_version.prerelease:
|
if no_commits == 0:
|
||||||
# The prerealese did not contain a version number, default it to 1
|
# This is a release
|
||||||
latest_branch_version_prerelease = f"{latest_branch_version.prerelease}.1"
|
actual_version = f"{latest_branch_version.major}.{latest_branch_version.minor}.{latest_branch_version.patch}"
|
||||||
if event_name == "pull_request":
|
if channel == "stable":
|
||||||
actual_version = f"{latest_branch_version.major}.{latest_branch_version.minor}.{latest_branch_version.patch}-{latest_branch_version_prerelease.lower()}+{buildmetadata}pr_{issue_number}_{no_commits}"
|
user = "_"
|
||||||
channel_metadata = f"{channel}_{no_commits}"
|
channel = "_"
|
||||||
else:
|
else:
|
||||||
if channel in ("stable", "_", ""):
|
latest_branch_version_prerelease = latest_branch_version.prerelease
|
||||||
channel_metadata = f"{no_commits}"
|
if latest_branch_version.prerelease and not "." in latest_branch_version.prerelease:
|
||||||
else:
|
# The prerealese did not contain a version number, default it to 1
|
||||||
|
latest_branch_version_prerelease = f"{latest_branch_version.prerelease}.1"
|
||||||
|
if event_name == "pull_request":
|
||||||
|
actual_version = f"{latest_branch_version.major}.{latest_branch_version.minor}.{latest_branch_version.patch}-{latest_branch_version_prerelease.lower()}+{buildmetadata}pr_{issue_number}_{no_commits}"
|
||||||
channel_metadata = f"{channel}_{no_commits}"
|
channel_metadata = f"{channel}_{no_commits}"
|
||||||
if latest_branch_version.prerelease == "":
|
|
||||||
if is_release_branch:
|
|
||||||
bump_up_patch = int(latest_branch_version.patch) + 1
|
|
||||||
actual_version = f"{latest_branch_version.major}.{latest_branch_version.minor}.{bump_up_patch}-alpha+{buildmetadata}{channel_metadata}"
|
|
||||||
else:
|
else:
|
||||||
bump_up_minor = int(latest_branch_version.minor) + 1
|
if channel in ("stable", "_", ""):
|
||||||
reset_patch = 0
|
channel_metadata = f"{no_commits}"
|
||||||
actual_version = f"{latest_branch_version.major}.{bump_up_minor}.{reset_patch}-alpha+{buildmetadata}{channel_metadata}"
|
else:
|
||||||
else:
|
channel_metadata = f"{channel}_{no_commits}"
|
||||||
actual_version = f"{latest_branch_version.major}.{latest_branch_version.minor}.{latest_branch_version.patch}-{latest_branch_version.prerelease.lower()}+{buildmetadata}{channel_metadata}"
|
if latest_branch_version.prerelease == "":
|
||||||
else:
|
if is_release_branch:
|
||||||
# FIXME: for external PR's
|
bump_up_patch = int(latest_branch_version.patch) + 1
|
||||||
actual_version = f"5.2.0-alpha+{buildmetadata}pr_{issue_number}"
|
actual_version = f"{latest_branch_version.major}.{latest_branch_version.minor}.{bump_up_patch}-alpha+{buildmetadata}{channel_metadata}"
|
||||||
|
else:
|
||||||
if is_tag:
|
bump_up_minor = int(latest_branch_version.minor) + 1
|
||||||
print("THE TAG IS: ", "${{ github.ref_name }}")
|
reset_patch = 0
|
||||||
if is_tag and "${{ github.ref_name }}" == "5.2.0-beta":
|
actual_version = f"{latest_branch_version.major}.{bump_up_minor}.{reset_patch}-alpha+{buildmetadata}{channel_metadata}"
|
||||||
actual_version = "5.2.0-beta"
|
else:
|
||||||
is_release_branch = True
|
actual_version = f"{latest_branch_version.major}.{latest_branch_version.minor}.{latest_branch_version.patch}-{latest_branch_version.prerelease.lower()}+{buildmetadata}{channel_metadata}"
|
||||||
user = "_"
|
else:
|
||||||
channel = "_"
|
# FIXME: for external PR's
|
||||||
|
actual_version = f"5.2.0-alpha+{buildmetadata}pr_{issue_number}"
|
||||||
|
|
||||||
# %% print to output
|
# %% print to output
|
||||||
cmd_name = ["echo", f"::set-output name=name::{project_name}"]
|
cmd_name = ["echo", f"::set-output name=name::{project_name}"]
|
||||||
|
Loading…
x
Reference in New Issue
Block a user