mirror of
https://github.com/reecetech/version-increment.git
synced 2025-12-21 22:45:43 +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)'
|
||||
required: false
|
||||
default: 'semver'
|
||||
pep440:
|
||||
description: 'PEP440 compatibility mode - shifts the pre-release version information into build metadata instead'
|
||||
required: false
|
||||
default: false
|
||||
increment:
|
||||
description: |
|
||||
Field to increment - major, minor, or, patch (defaults to patch)
|
||||
@@ -69,4 +73,5 @@ runs:
|
||||
env:
|
||||
current_version: ${{ steps.version-lookup.outputs.CURRENT_VERSION }}
|
||||
increment: ${{ inputs.increment }}
|
||||
pep440: ${{ inputs.pep440 }}
|
||||
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'
|
||||
scheme="${scheme:-semver}"
|
||||
if [[ "${scheme}" != 'semver' && "${scheme}" != 'calver' && "${scheme}" != 'pep440' ]] ; then
|
||||
echo "🛑 Value of 'scheme' is not valid, choose from 'semver', 'calver', or 'pep440'" 1>&2
|
||||
if [[ "${scheme}" != 'semver' && "${scheme}" != 'calver' ]] ; then
|
||||
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'
|
||||
fi
|
||||
|
||||
|
||||
@@ -53,6 +53,18 @@ function init_repo {
|
||||
[[ "$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" {
|
||||
init_repo
|
||||
|
||||
@@ -104,6 +116,23 @@ function init_repo {
|
||||
[[ "$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)" {
|
||||
init_repo
|
||||
|
||||
@@ -120,11 +149,11 @@ function init_repo {
|
||||
[[ "$output" = *"VERSION=2.0.0"* ]]
|
||||
}
|
||||
|
||||
@test "increments the major digit correctly (pep440)" {
|
||||
@test "increments the major digit correctly (pep440 mode)" {
|
||||
init_repo
|
||||
|
||||
export current_version=1.2.3
|
||||
export scheme="pep440"
|
||||
export pep404="true"
|
||||
export increment="major"
|
||||
|
||||
run ../../version-increment.sh
|
||||
@@ -199,7 +228,7 @@ function init_repo {
|
||||
init_repo
|
||||
|
||||
export current_version=10.20.30
|
||||
export scheme="pep440"
|
||||
export pep440="true"
|
||||
export GITHUB_REF="refs/heads/super-awesome-python"
|
||||
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
|
||||
if [[ "${current_ref}" != "refs/heads/${default_branch}" ]] ; then
|
||||
pre_release="pre.${git_commit}"
|
||||
if [[ "${scheme}" == 'pep440' ]] ; then
|
||||
if [[ "${pep440:-}" == 'true' ]] ; then
|
||||
new_version="${new_version}+${pre_release}"
|
||||
else
|
||||
new_version="${new_version}-${pre_release}"
|
||||
|
||||
@@ -53,9 +53,6 @@ if [[ -z "${current_version:-}" ]] ; then
|
||||
semver)
|
||||
current_version="0.0.0"
|
||||
;;
|
||||
pep440)
|
||||
current_version="0.0.0"
|
||||
;;
|
||||
calver)
|
||||
current_version="$(date '+%Y.%-m.0')"
|
||||
;;
|
||||
|
||||
Reference in New Issue
Block a user