Add pep440 mode

This commit is contained in:
Phil Jay
2023-04-26 15:18:48 +10:00
parent f1fae3d6b7
commit bb0e075f8b
4 changed files with 43 additions and 3 deletions

View File

@@ -16,8 +16,8 @@ pcre_old_calver='^(?P<major>0|[1-9]\d*)-0{0,1}(?P<minor>0|[0-9]\d*)-R(?P<patch>0
input_errors='false'
scheme="${scheme:-semver}"
if [[ "${scheme}" != 'semver' && "${scheme}" != 'calver' ]] ; then
echo "🛑 Value of 'scheme' is not valid, choose from 'semver' or 'calver'" 1>&2
if [[ "${scheme}" != 'semver' && "${scheme}" != 'calver' && "${scheme}" != 'pep440' ]] ; then
echo "🛑 Value of 'scheme' is not valid, choose from 'semver', 'calver', or 'pep440'" 1>&2
input_errors='true'
fi

View File

@@ -120,6 +120,23 @@ function init_repo {
[[ "$output" = *"VERSION=2.0.0"* ]]
}
@test "increments the major digit correctly (pep440)" {
init_repo
export current_version=1.2.3
export scheme="pep440"
export increment="major"
run ../../version-increment.sh
print_run_info
[ "$status" -eq 0 ] &&
[[ "$output" = *"MAJOR_VERSION=2"* ]] &&
[[ "$output" = *"MINOR_VERSION=0"* ]] &&
[[ "$output" = *"PATCH_VERSION=0"* ]] &&
[[ "$output" = *"VERSION=2.0.0"* ]]
}
@test "prefixes with v" {
init_repo
@@ -177,3 +194,19 @@ function init_repo {
[[ "$output" = *"PRE_RELEASE_LABEL=pre.${short_ref}"* ]]
[[ "$output" = *"VERSION=1.2.4-pre.${short_ref}"* ]]
}
@test "appends prerelease information in pep440 compatible way if on a branch and scheme is pep440" {
init_repo
export current_version=10.20.30
export scheme="pep440"
export GITHUB_REF="refs/heads/super-awesome-python"
export short_ref="$(git rev-parse --short HEAD | sed 's/0*//')"
run ../../version-increment.sh
print_run_info
[ "$status" -eq 0 ] &&
[[ "$output" = *"PRE_RELEASE_LABEL=pre.${short_ref}"* ]]
[[ "$output" = *"VERSION=10.20.31+pre.${short_ref}"* ]]
}

View File

@@ -75,7 +75,11 @@ fi
# add pre-release info to version if not the default branch
if [[ "${current_ref}" != "refs/heads/${default_branch}" ]] ; then
pre_release="pre.${git_commit}"
if [[ "${scheme}" == 'pep440' ]] ; then
new_version="${new_version}+${pre_release}"
else
new_version="${new_version}-${pre_release}"
fi
echo "PRE_RELEASE_LABEL=${pre_release}" >> "${GITHUB_OUTPUT}"
fi

View File

@@ -53,6 +53,9 @@ if [[ -z "${current_version:-}" ]] ; then
semver)
current_version="0.0.0"
;;
pep440)
current_version="0.0.0"
;;
calver)
current_version="$(date '+%Y.%-m.0')"
;;