mirror of
https://github.com/reecetech/version-increment.git
synced 2025-12-21 06:25:44 +00:00
Alter PEP440 handling to support both sem and cal
This commit is contained in:
@@ -11,6 +11,10 @@ inputs:
|
|||||||
description: 'Versioning scheme - semver, or, calver (defaults to semver)'
|
description: 'Versioning scheme - semver, or, calver (defaults to semver)'
|
||||||
required: false
|
required: false
|
||||||
default: 'semver'
|
default: 'semver'
|
||||||
|
pep440:
|
||||||
|
description: 'PEP440 compatibility mode - shifts the pre-release version information into build metadata instead'
|
||||||
|
required: false
|
||||||
|
default: false
|
||||||
increment:
|
increment:
|
||||||
description: |
|
description: |
|
||||||
Field to increment - major, minor, or, patch (defaults to patch)
|
Field to increment - major, minor, or, patch (defaults to patch)
|
||||||
@@ -69,4 +73,5 @@ runs:
|
|||||||
env:
|
env:
|
||||||
current_version: ${{ steps.version-lookup.outputs.CURRENT_VERSION }}
|
current_version: ${{ steps.version-lookup.outputs.CURRENT_VERSION }}
|
||||||
increment: ${{ inputs.increment }}
|
increment: ${{ inputs.increment }}
|
||||||
|
pep440: ${{ inputs.pep440 }}
|
||||||
scheme: ${{ inputs.scheme }}
|
scheme: ${{ inputs.scheme }}
|
||||||
|
|||||||
10
shared.sh
10
shared.sh
@@ -16,8 +16,14 @@ 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' && "${scheme}" != 'pep440' ]] ; then
|
if [[ "${scheme}" != 'semver' && "${scheme}" != 'calver' ]] ; then
|
||||||
echo "🛑 Value of 'scheme' is not valid, choose from 'semver', 'calver', or 'pep440'" 1>&2
|
echo "🛑 Value of 'scheme' is not valid, choose from 'semver' or 'calver'" 1>&2
|
||||||
|
input_errors='true'
|
||||||
|
fi
|
||||||
|
|
||||||
|
pep440="${pep440:-false}"
|
||||||
|
if [[ "${pep440}" != 'false' && "${pep440}" != 'true' ]] ; then
|
||||||
|
echo "🛑 Value of 'pep440' is not valid, choose from 'false' or 'true'" 1>&2
|
||||||
input_errors='true'
|
input_errors='true'
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
|||||||
@@ -53,6 +53,18 @@ function init_repo {
|
|||||||
[[ "$output" = *"Value of 'scheme' is not valid"* ]]
|
[[ "$output" = *"Value of 'scheme' is not valid"* ]]
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@test "fails if invalid value for pep440 given" {
|
||||||
|
init_repo
|
||||||
|
|
||||||
|
export pep440="yes"
|
||||||
|
|
||||||
|
run ../../version-increment.sh
|
||||||
|
|
||||||
|
print_run_info
|
||||||
|
[ "$status" -eq 8 ] &&
|
||||||
|
[[ "$output" = *"Value of 'pep440' is not valid"* ]]
|
||||||
|
}
|
||||||
|
|
||||||
@test "fails if invalid increment given" {
|
@test "fails if invalid increment given" {
|
||||||
init_repo
|
init_repo
|
||||||
|
|
||||||
@@ -104,6 +116,23 @@ function init_repo {
|
|||||||
[[ "$output" = *"VERSION=1.3.0"* ]]
|
[[ "$output" = *"VERSION=1.3.0"* ]]
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@test "increments the minor digit correctly (explicitly not pep440)" {
|
||||||
|
init_repo
|
||||||
|
|
||||||
|
export current_version=1.2.3
|
||||||
|
export pep404="false"
|
||||||
|
export increment="minor"
|
||||||
|
|
||||||
|
run ../../version-increment.sh
|
||||||
|
|
||||||
|
print_run_info
|
||||||
|
[ "$status" -eq 0 ] &&
|
||||||
|
[[ "$output" = *"MAJOR_VERSION=1"* ]] &&
|
||||||
|
[[ "$output" = *"MINOR_VERSION=3"* ]] &&
|
||||||
|
[[ "$output" = *"PATCH_VERSION=0"* ]] &&
|
||||||
|
[[ "$output" = *"VERSION=1.3.0"* ]]
|
||||||
|
}
|
||||||
|
|
||||||
@test "increments the major digit correctly (semver)" {
|
@test "increments the major digit correctly (semver)" {
|
||||||
init_repo
|
init_repo
|
||||||
|
|
||||||
@@ -120,11 +149,11 @@ function init_repo {
|
|||||||
[[ "$output" = *"VERSION=2.0.0"* ]]
|
[[ "$output" = *"VERSION=2.0.0"* ]]
|
||||||
}
|
}
|
||||||
|
|
||||||
@test "increments the major digit correctly (pep440)" {
|
@test "increments the major digit correctly (pep440 mode)" {
|
||||||
init_repo
|
init_repo
|
||||||
|
|
||||||
export current_version=1.2.3
|
export current_version=1.2.3
|
||||||
export scheme="pep440"
|
export pep404="true"
|
||||||
export increment="major"
|
export increment="major"
|
||||||
|
|
||||||
run ../../version-increment.sh
|
run ../../version-increment.sh
|
||||||
@@ -199,7 +228,7 @@ function init_repo {
|
|||||||
init_repo
|
init_repo
|
||||||
|
|
||||||
export current_version=10.20.30
|
export current_version=10.20.30
|
||||||
export scheme="pep440"
|
export pep440="true"
|
||||||
export GITHUB_REF="refs/heads/super-awesome-python"
|
export GITHUB_REF="refs/heads/super-awesome-python"
|
||||||
export short_ref="$(git rev-parse --short HEAD | sed 's/0*//')"
|
export short_ref="$(git rev-parse --short HEAD | sed 's/0*//')"
|
||||||
|
|
||||||
|
|||||||
@@ -75,7 +75,7 @@ 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}"
|
||||||
if [[ "${scheme}" == 'pep440' ]] ; then
|
if [[ "${pep440:-}" == 'true' ]] ; then
|
||||||
new_version="${new_version}+${pre_release}"
|
new_version="${new_version}+${pre_release}"
|
||||||
else
|
else
|
||||||
new_version="${new_version}-${pre_release}"
|
new_version="${new_version}-${pre_release}"
|
||||||
|
|||||||
@@ -53,9 +53,6 @@ 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