mirror of
https://github.com/elgohr/Publish-Docker-Github-Action.git
synced 2026-03-12 18:07:12 -04:00
Don't update major, minor and patch version on pre-release
Fixes https://github.com/elgohr/Publish-Docker-Github-Action/issues/108
This commit is contained in:
@@ -98,7 +98,11 @@ translateDockerTag() {
|
|||||||
elif isOnDefaultBranch; then
|
elif isOnDefaultBranch; then
|
||||||
TAGS="latest"
|
TAGS="latest"
|
||||||
elif isGitTag && usesBoolean "${INPUT_TAG_SEMVER}" && isSemver "${GITHUB_REF}"; then
|
elif isGitTag && usesBoolean "${INPUT_TAG_SEMVER}" && isSemver "${GITHUB_REF}"; then
|
||||||
TAGS=$(echo "${GITHUB_REF}" | sed -e "s/refs\/tags\///g" | sed -E "s/v?([0-9]+)\.([0-9]+)\.([0-9]+)(-[a-zA-Z]+(\.[0-9]+)?)?/\1.\2.\3\4 \1.\2\4 \1\4/g")
|
if isPreRelease "${GITHUB_REF}"; then
|
||||||
|
TAGS=$(echo "${GITHUB_REF}" | sed -e "s/refs\/tags\///g" | sed -E "s/v?([0-9]+)\.([0-9]+)\.([0-9]+)(-[a-zA-Z]+(\.[0-9]+)?)?/\1.\2.\3\4/g")
|
||||||
|
else
|
||||||
|
TAGS=$(echo "${GITHUB_REF}" | sed -e "s/refs\/tags\///g" | sed -E "s/v?([0-9]+)\.([0-9]+)\.([0-9]+)/\1.\2.\3\4 \1.\2\4 \1\4/g")
|
||||||
|
fi
|
||||||
elif isGitTag && usesBoolean "${INPUT_TAG_NAMES}"; then
|
elif isGitTag && usesBoolean "${INPUT_TAG_NAMES}"; then
|
||||||
TAGS=$(echo "${GITHUB_REF}" | sed -e "s/refs\/tags\///g")
|
TAGS=$(echo "${GITHUB_REF}" | sed -e "s/refs\/tags\///g")
|
||||||
elif isGitTag; then
|
elif isGitTag; then
|
||||||
@@ -163,6 +167,10 @@ isSemver() {
|
|||||||
echo "${1}" | grep -Eq '^refs/tags/v?([0-9]+)\.([0-9]+)\.([0-9]+)(-[a-zA-Z]+(\.[0-9]+)?)?$'
|
echo "${1}" | grep -Eq '^refs/tags/v?([0-9]+)\.([0-9]+)\.([0-9]+)(-[a-zA-Z]+(\.[0-9]+)?)?$'
|
||||||
}
|
}
|
||||||
|
|
||||||
|
isPreRelease() {
|
||||||
|
echo "${1}" | grep -Eq '-'
|
||||||
|
}
|
||||||
|
|
||||||
useSnapshot() {
|
useSnapshot() {
|
||||||
local TIMESTAMP=`date +%Y%m%d%H%M%S`
|
local TIMESTAMP=`date +%Y%m%d%H%M%S`
|
||||||
local SHORT_SHA=$(echo "${GITHUB_SHA}" | cut -c1-6)
|
local SHORT_SHA=$(echo "${GITHUB_SHA}" | cut -c1-6)
|
||||||
|
|||||||
@@ -147,7 +147,8 @@ teardown() {
|
|||||||
/usr/local/bin/docker logout"
|
/usr/local/bin/docker logout"
|
||||||
}
|
}
|
||||||
|
|
||||||
@test "with tag semver it pushes tags using the pre-releases" {
|
@test "with tag semver it pushes tags using the pre-release, but does not update the major, minor or patch version" {
|
||||||
|
# as pre-release versions tend to be unstable
|
||||||
# https://semver.org/#spec-item-11
|
# https://semver.org/#spec-item-11
|
||||||
|
|
||||||
SUFFIXES=('alpha.1' 'alpha' 'ALPHA' 'ALPHA.11' 'beta' 'rc.11')
|
SUFFIXES=('alpha.1' 'alpha' 'ALPHA' 'ALPHA.11' 'beta' 'rc.11')
|
||||||
@@ -161,10 +162,8 @@ teardown() {
|
|||||||
expectStdOutContains "::set-output name=tag::1.1.1-${SUFFIX}"
|
expectStdOutContains "::set-output name=tag::1.1.1-${SUFFIX}"
|
||||||
|
|
||||||
expectMockCalledContains "/usr/local/bin/docker login -u USERNAME --password-stdin
|
expectMockCalledContains "/usr/local/bin/docker login -u USERNAME --password-stdin
|
||||||
/usr/local/bin/docker build -t my/repository:1.1.1-${SUFFIX} -t my/repository:1.1-${SUFFIX} -t my/repository:1-${SUFFIX} .
|
/usr/local/bin/docker build -t my/repository:1.1.1-${SUFFIX} .
|
||||||
/usr/local/bin/docker push my/repository:1.1.1-${SUFFIX}
|
/usr/local/bin/docker push my/repository:1.1.1-${SUFFIX}
|
||||||
/usr/local/bin/docker push my/repository:1.1-${SUFFIX}
|
|
||||||
/usr/local/bin/docker push my/repository:1-${SUFFIX}
|
|
||||||
/usr/local/bin/docker inspect --format={{index .RepoDigests 0}} my/repository:1.1.1-${SUFFIX}
|
/usr/local/bin/docker inspect --format={{index .RepoDigests 0}} my/repository:1.1.1-${SUFFIX}
|
||||||
/usr/local/bin/docker logout"
|
/usr/local/bin/docker logout"
|
||||||
done
|
done
|
||||||
|
|||||||
Reference in New Issue
Block a user