mirror of
https://github.com/Alfresco/acs-community-packaging.git
synced 2025-09-10 14:12:09 +00:00
REPO-4735 Added function script and new varify tag version
Big test message below: [skipTests] message [trigger-release] [devRelease=6.3.0-SNAPSHOT] [release=6.3.0-A5][comRelease=202003] adding some nonsense to test the message -8y-18hrnfjif1][]1[]1r[1][f3][]3g[g]g[[]3[]g[4][]4]g4][3]455[5][6]34[]g[]g[42[r1r31443=1=3=411=3]
This commit is contained in:
@@ -111,10 +111,7 @@ matrix:
|
||||
install: skip #travis_wait mvn install -DskipTests=true -Dmaven.javadoc.skip=true -B -V -q
|
||||
# Fail the job if there is a docker image tag that matches the RELEASE_VERSION (or project version in the POM if not set)
|
||||
before_script: skip #bash ./scripts/travis/verifyReleaseTag.sh
|
||||
script:
|
||||
- echo ${TRAVIS_COMMIT_MESSAGE}
|
||||
- echo ${TRAVIS_COMMIT}
|
||||
- bash ./scripts/travis/mavenReleaseCommitVariablesV2.sh ${TRAVIS_COMMIT_MESSAGE}
|
||||
script: bash ./scripts/travis/mavenReleaseCommitVariablesV2.sh
|
||||
# if the release stage fails rollback
|
||||
# after_failure:
|
||||
# - mvn release:rollback -DscmCommentPrefix="[maven-release-plugin][skip ci] "
|
||||
|
8
scripts/travis/common_functions.sh
Normal file
8
scripts/travis/common_functions.sh
Normal file
@@ -0,0 +1,8 @@
|
||||
extractVariable()
|
||||
{
|
||||
local variablePrefix=$1 commitMessage=$2
|
||||
regex="\[$variablePrefix[^\]]*=\K[^\]]*(?=\])"
|
||||
echo $commitMessage | grep -Po $regex1
|
||||
}
|
||||
|
||||
echo "common_function.sh loaded"
|
@@ -1,16 +1,16 @@
|
||||
#!/usr/bin/env bash
|
||||
set -ev
|
||||
|
||||
releaseVersion=$(echo $TRAVIS_COMMIT_MESSAGE | grep -Po '\[release[^\]]*=\K[^\]]*(?=\])')
|
||||
developmentVersion=$(echo $TRAVIS_COMMIT_MESSAGE | grep -Po '\[devRelease[^\]]*=\K[^\]]*(?=\])')
|
||||
. ./common_functions.sh
|
||||
|
||||
releaseVersion=$(extractVariable "release" $TRAVIS_COMMIT_MESSAGE)
|
||||
developmentVersion=$(extractVariable "devRelease" $TRAVIS_COMMIT_MESSAGE)
|
||||
|
||||
scm_path=$(mvn help:evaluate -Dexpression=project.scm.url -q -DforceStdout)
|
||||
# Use full history for release
|
||||
git checkout -B "${TRAVIS_BRANCH}"
|
||||
# Add email to link commits to user
|
||||
git config user.email "${GIT_EMAIL}"
|
||||
echo "releaseVersion is assigned $releaseVersion"
|
||||
echo "developmentVersion is assigned $developmentVersion"
|
||||
if [ -z ${releaseVersion} ] || [ -z ${developmentVersion} ];
|
||||
then echo "Please provide a Release and Development verison in the format <acs-version>-<additional-info> (6.3.0-EA or 6.3.0-SNAPSHOT) by adding a commit message"
|
||||
exit -1
|
||||
@@ -41,7 +41,7 @@ else
|
||||
# release:clean release:prepare release:perform \
|
||||
# -Prelease
|
||||
echo "We're going to skip the release this time."
|
||||
echo "Reaching this point means we have successfully extract the release and development versions from the commit message"
|
||||
echo "Reaching this point means we have successfully extracted the release and development versions from the commit message"
|
||||
echo "releaseVersion=$releaseVersion"
|
||||
echo "developmentVersion=$developmentVersion"
|
||||
fi
|
42
scripts/travis/verifyReleaseTagCommitVaraibles.sh
Normal file
42
scripts/travis/verifyReleaseTagCommitVaraibles.sh
Normal file
@@ -0,0 +1,42 @@
|
||||
#!/usr/bin/env bash
|
||||
set -e
|
||||
. ./common_functions.sh
|
||||
|
||||
releaseVersion=$(extractVariable "release" $TRAVIS_COMMIT_MESSAGE)
|
||||
|
||||
# get the image name from the pom file
|
||||
alfresco_docker_image=$(mvn help:evaluate -f ./docker-alfresco/pom.xml -Dexpression=image.name -q -DforceStdout)
|
||||
if [ -v ${releaseVersion} ]||[ -z ${releaseVersion} ]; then
|
||||
# if we don't have a user added release version, get the verison from the pom
|
||||
# TODO: Set up continuous release. As of REPO-4735 the following is not required if release stage is manual
|
||||
# pom_version=$(mvn help:evaluate -Dexpression=project.version -q -DforceStdout)
|
||||
# if echo $pom_version | grep -q ".*-SNAPSHOT"; then
|
||||
# releaseVersion=${pom_version%-*} # remove everything after the last '-'
|
||||
# else
|
||||
# releaseVersion=$pom_version
|
||||
# fi
|
||||
echo "Please provide a releaseVersion in the format <acs-version>-<additional-info> (6.3.0-EA or 6.3.0-SNAPSHOT)"
|
||||
exit -1
|
||||
fi
|
||||
docker_image_full_name="$alfresco_docker_image:$releaseVersion"
|
||||
|
||||
function docker_image_exists() {
|
||||
local image_full_name="$1"; shift
|
||||
local wait_time="${1:-5}"
|
||||
local search_term='Pulling|is up to date|not found'
|
||||
echo "Looking to see if $image_full_name already exists..."
|
||||
local result="$((timeout --preserve-status "$wait_time" docker 2>&1 pull "$image_full_name" &) | grep -v 'Pulling repository' | egrep -o "$search_term")"
|
||||
test "$result" || { echo "Timed out too soon. Try using a wait_time greater than $wait_time..."; return 1 ;}
|
||||
if echo $result | grep -vq 'not found'; then
|
||||
true
|
||||
else
|
||||
false
|
||||
fi
|
||||
}
|
||||
|
||||
if docker_image_exists $docker_image_full_name; then
|
||||
echo "Tag $releaseVersion already pushed, release process will interrupt."
|
||||
exit -1
|
||||
else
|
||||
echo "The $releaseVersion tag was not found"
|
||||
fi
|
Reference in New Issue
Block a user