19 Commits

Author SHA1 Message Date
Asanga K
8d649fcfa3 Merge pull request #14 from reecetech/fix-git-fetch-tags-issue
[DE-4875] Forcing git fetch tags
2022-02-25 13:36:45 +11:00
karunasa
ccbbbe93a8 [DE-4875] Forcing git fetch tags
Workaround for the issue where in certain cases it's failing when a version tag has moved.
2022-02-25 09:26:09 +11:00
Asanga
ddbbe72b7f Merge pull request #13 from reecetech/exposing-convenience-version-numbers
Exposing major, minor and patch numbers as convenience outputs
2022-02-11 08:26:37 +11:00
Phil Jay
ba14b463c4 Add both "plain" and v prefix version outputs 2022-02-10 22:27:59 +11:00
Phil Jay
fde70f2da9 Add tests for new desired output 2022-02-10 22:27:23 +11:00
karunasa
8b854651df Exposing major, minor and patch numbers as outputs 2022-02-10 16:56:32 +11:00
Asanga
40611bca96 Merge pull request #12 from reecetech/using-v-outputs
Using v-* outputs in favor of string manipulation
2022-02-08 15:14:10 +11:00
Asanga
ddfcb5bc04 Updating to the latest version 2022-02-08 15:07:45 +11:00
Asanga
3d00642def Using v-* outputs in favor of string manipulation 2022-02-08 15:06:28 +11:00
Philip Jay
827489c005 Merge pull request #11 from reecetech/fixing-outputs
Fixing the outputs to match README
2022-02-08 14:55:07 +11:00
Phil Jay
ee28762c5b Update README for next version 2022-02-08 14:52:41 +11:00
Asanga
1c6699b17a Fixing the outputs to match with README 2022-02-08 14:40:16 +11:00
Philip Jay
822afeb70c Merge pull request #10 from reecetech/DE-4401-fix-for-pipefails
Avoid broken pipe exits (`141`) when `head` exits
2022-02-01 16:52:07 +11:00
Phil Jay
9492ff84fb Avoid broken pipe exits (141) when head exits
Intermittent issue, only observed on self-hosted agents on VMware (due
to multi-core processing)
2022-02-01 12:23:49 +11:00
Philip Jay
7c6e26cbd9 Merge pull request #9 from reecetech/v-prefix
Add `v` prefixed version output
2021-11-22 10:04:07 +11:00
Phil Jay
38a48eeef1 Add v prefixed version outputs
See: https://github.com/reecetech/version-increment/issues/8
2021-11-15 06:54:57 +11:00
Phil Jay
4988018178 Add tests for v prefixed version output 2021-11-15 06:54:21 +11:00
Philip Jay
3016172c72 Merge pull request #7 from reecetech/update-version-in-README
Replace with latest version
2021-11-03 13:14:27 +11:00
Phil Jay
a17b442bee Replace with latest version
2021.10.4 had a bug, we should have updated this when 2021.10.5 came
out.  Now the next version will be 2021.11.1
2021-11-01 19:08:01 +11:00
6 changed files with 88 additions and 9 deletions

View File

@@ -9,7 +9,7 @@
uses: actions/checkout@v2
- name: Get next version
uses: reecetech/version-increment@2021.10.4
uses: reecetech/version-increment@2022.2.4
id: version
with:
scheme: semver
@@ -84,8 +84,16 @@ Examples:
| name | description |
| :--- | :--- |
| current_version | The current latest version detected from the git repositories tags |
| current-version | The current latest version detected from the git repositories tags |
| current-v-version | The current latest version detected from the git repositories tags, prefixed with a `v` character |
| version | The incremented version number (e.g. the next version) |
| v-version | The incremented version number (e.g. the next version), prefixed with a `v` character |
| major-version | Major number of the incremented version |
| minor-version | Minor number of the incremented version |
| patch-version | Patch number of the incremented version |
| major-v-version | Major number of the incremented version, prefixed with a `v` character |
| minor-v-version | Minor number of the incremented version, prefixed with a `v` character |
| patch-v-version | Patch number of the incremented version, prefixed with a `v` character |
## 💕 Contributing

View File

@@ -20,12 +20,36 @@ inputs:
default: 'patch'
outputs:
current_version:
current-version:
description: 'Current normal version detected'
value: ${{ steps.version-lookup.outputs.current-version }}
current-v-version:
description: 'Current normal version detected, prefixed with a `v` charatcter'
value: ${{ steps.version-lookup.outputs.current-v-version }}
version:
description: 'Incremented version calculated'
value: ${{ steps.version-increment.outputs.version }}
v-version:
description: 'Incremented version calculated, prefixed with a `v` charatcter'
value: ${{ steps.version-increment.outputs.v-version }}
major-version:
description: 'Major number of the incremented version'
value: ${{ steps.version-increment.outputs.major-version }}
minor-version:
description: 'Minor number of the incremented version'
value: ${{ steps.version-increment.outputs.minor-version }}
patch-version:
description: 'Patch number of the incremented version'
value: ${{ steps.version-increment.outputs.patch-version }}
major-v-version:
description: 'Major number of the incremented version, prefixed with a `v` charatcter'
value: ${{ steps.version-increment.outputs.major-v-version }}
minor-v-version:
description: 'Minor number of the incremented version, prefixed with a `v` charatcter'
value: ${{ steps.version-increment.outputs.minor-v-version }}
patch-v-version:
description: 'Patch number of the incremented version, prefixed with a `v` charatcter'
value: ${{ steps.version-increment.outputs.patch-v-version }}
runs:
using: "composite"

View File

@@ -75,6 +75,9 @@ function init_repo {
print_run_info
[ "$status" -eq 0 ] &&
[[ "$output" = *"::set-output name=major-version::1"* ]] &&
[[ "$output" = *"::set-output name=minor-version::2"* ]] &&
[[ "$output" = *"::set-output name=patch-version::4"* ]] &&
[[ "$output" = *"::set-output name=version::1.2.4"* ]]
}
@@ -88,6 +91,9 @@ function init_repo {
print_run_info
[ "$status" -eq 0 ] &&
[[ "$output" = *"::set-output name=major-version::1"* ]] &&
[[ "$output" = *"::set-output name=minor-version::3"* ]] &&
[[ "$output" = *"::set-output name=patch-version::0"* ]] &&
[[ "$output" = *"::set-output name=version::1.3.0"* ]]
}
@@ -101,9 +107,29 @@ function init_repo {
print_run_info
[ "$status" -eq 0 ] &&
[[ "$output" = *"::set-output name=major-version::2"* ]] &&
[[ "$output" = *"::set-output name=minor-version::0"* ]] &&
[[ "$output" = *"::set-output name=patch-version::0"* ]] &&
[[ "$output" = *"::set-output name=version::2.0.0"* ]]
}
@test "prefixes with v" {
init_repo
export current_version=1.2.3
export increment="major"
run ../../version-increment.sh
print_run_info
[ "$status" -eq 0 ] &&
[[ "$output" = *"::set-output name=version::2.0.0"* ]] &&
[[ "$output" = *"::set-output name=major-v-version::v2"* ]] &&
[[ "$output" = *"::set-output name=minor-v-version::v0"* ]] &&
[[ "$output" = *"::set-output name=patch-v-version::v0"* ]] &&
[[ "$output" = *"::set-output name=v-version::v2.0.0"* ]]
}
@test "increments to a new month (calver)" {
init_repo

View File

@@ -43,6 +43,19 @@ function init_repo {
[[ "$output" = *"::set-output name=current-version::0.1.2"* ]]
}
@test "prefixes with a v" {
init_repo
git tag 0.1.2
run ../../version-lookup.sh
print_run_info
[ "$status" -eq 0 ] &&
[[ "$output" = *"::set-output name=current-version::0.1.2"* ]] &&
[[ "$output" = *"::set-output name=current-v-version::v0.1.2"* ]]
}
@test "finds the current normal version even if there's a newer pre-release version" {
init_repo

View File

@@ -87,3 +87,10 @@ fi
echo " The new version is ${new_version}"
echo "::set-output name=version::${new_version}"
echo "::set-output name=v-version::v${new_version}"
echo "::set-output name=major-version::${version_array[0]}"
echo "::set-output name=minor-version::${version_array[1]}"
echo "::set-output name=patch-version::${version_array[2]}"
echo "::set-output name=major-v-version::v${version_array[0]}"
echo "::set-output name=minor-v-version::v${version_array[1]}"
echo "::set-output name=patch-v-version::v${version_array[2]}"

View File

@@ -27,18 +27,18 @@ fi
# Skip if testing, otherwise pull tags
if [[ -z "${BATS_VERSION:-}" ]] ; then
git fetch --quiet origin 'refs/tags/*:refs/tags/*'
git fetch --quiet --force origin 'refs/tags/*:refs/tags/*'
fi
##==----------------------------------------------------------------------------
## Version parsing
# detect current version - removing "v" from start of tag if it exists
current_version="$(git tag -l | { ${grep} -P "${pcre_allow_vprefix}" || true; } | sed 's/^v//g' | sort -V --reverse | head -n1)"
current_version="$(git tag -l | { ${grep} -P "${pcre_allow_vprefix}" || true; } | sed 's/^v//g' | sort -V | tail -n 1)"
# support transition from an old reecetech calver style (yyyy-mm-Rr, where R is the literal `R`, and r is the nth release for the month)
if [[ -z "${current_version:-}" ]] ; then
current_version="$(git tag -l | { ${grep} -P "${pcre_old_calver}" || true; } | sort -V --reverse | head -n1)"
current_version="$(git tag -l | { ${grep} -P "${pcre_old_calver}" || true; } | sort -V | tail -n 1)"
if [[ -n "${current_version:-}" ]] ; then
# convert - to . and drop leading zeros & the R
current_version="$(echo "${current_version}" | sed -r 's/^([0-9]+)-0{0,1}([0-9]+)-R0{0,1}([0-9]+)$/\1.\2.\3/')"
@@ -62,3 +62,4 @@ fi
echo " The current normal version is ${current_version}"
echo "::set-output name=current-version::${current_version}"
echo "::set-output name=current-v-version::v${current_version}"