mirror of
https://github.com/reecetech/version-increment.git
synced 2025-12-21 06:25:44 +00:00
Add pep440 mode
This commit is contained in:
@@ -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'
|
input_errors='false'
|
||||||
scheme="${scheme:-semver}"
|
scheme="${scheme:-semver}"
|
||||||
if [[ "${scheme}" != 'semver' && "${scheme}" != 'calver' ]] ; then
|
if [[ "${scheme}" != 'semver' && "${scheme}" != 'calver' && "${scheme}" != 'pep440' ]] ; then
|
||||||
echo "🛑 Value of 'scheme' is not valid, choose from 'semver' or 'calver'" 1>&2
|
echo "🛑 Value of 'scheme' is not valid, choose from 'semver', 'calver', or 'pep440'" 1>&2
|
||||||
input_errors='true'
|
input_errors='true'
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
|||||||
@@ -120,6 +120,23 @@ function init_repo {
|
|||||||
[[ "$output" = *"VERSION=2.0.0"* ]]
|
[[ "$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" {
|
@test "prefixes with v" {
|
||||||
init_repo
|
init_repo
|
||||||
|
|
||||||
@@ -177,3 +194,19 @@ function init_repo {
|
|||||||
[[ "$output" = *"PRE_RELEASE_LABEL=pre.${short_ref}"* ]]
|
[[ "$output" = *"PRE_RELEASE_LABEL=pre.${short_ref}"* ]]
|
||||||
[[ "$output" = *"VERSION=1.2.4-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}"* ]]
|
||||||
|
}
|
||||||
|
|||||||
@@ -75,7 +75,11 @@ fi
|
|||||||
# add pre-release info to version if not the default branch
|
# add pre-release info to version if not the default branch
|
||||||
if [[ "${current_ref}" != "refs/heads/${default_branch}" ]] ; then
|
if [[ "${current_ref}" != "refs/heads/${default_branch}" ]] ; then
|
||||||
pre_release="pre.${git_commit}"
|
pre_release="pre.${git_commit}"
|
||||||
new_version="${new_version}-${pre_release}"
|
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}"
|
echo "PRE_RELEASE_LABEL=${pre_release}" >> "${GITHUB_OUTPUT}"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
|||||||
@@ -53,6 +53,9 @@ if [[ -z "${current_version:-}" ]] ; then
|
|||||||
semver)
|
semver)
|
||||||
current_version="0.0.0"
|
current_version="0.0.0"
|
||||||
;;
|
;;
|
||||||
|
pep440)
|
||||||
|
current_version="0.0.0"
|
||||||
|
;;
|
||||||
calver)
|
calver)
|
||||||
current_version="$(date '+%Y.%-m.0')"
|
current_version="$(date '+%Y.%-m.0')"
|
||||||
;;
|
;;
|
||||||
|
|||||||
Reference in New Issue
Block a user