DRA: Handle env variables better (#14644) (#14653)

* DRA: Handle env variables better
* Moved the addition of SNAPSHOT suffix to the version after the VERSION_QUALIFIER
* Fix badly assigned variable, version qualifier has to be appended also to PLAIN_STACK_VERSION and not RELEASE_VER

Co-authored-by: andsel <selva.andre@gmail.com>
(cherry picked from commit db6a7bc619)
This commit is contained in:
github-actions[bot] 2022-10-13 14:04:04 -04:00 committed by GitHub
parent 2369e16fc1
commit a441638474
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 76 additions and 70 deletions

View file

@ -11,28 +11,10 @@ export JRUBY_OPTS="-J-Xmx1g"
# The suffix part like alpha1 etc is managed by the optional VERSION_QUALIFIER_OPT environment variable
STACK_VERSION=`cat versions.yml | sed -n 's/^logstash\:[[:space:]]\([[:digit:]]*\.[[:digit:]]*\.[[:digit:]]*\)$/\1/p'`
# WORKFLOW_TYPE is a CI externally configured environment variable where, if not an empty string,
# it's assumed to be snapshot
if [ -n "$WORKFLOW_TYPE" ]; then
STACK_VERSION=${STACK_VERSION}-SNAPSHOT
fi
# WORKFLOW_TYPE is a CI externally configured environment variable that could assume "snapshot" or "staging" values
case "$WORKFLOW_TYPE" in
snapshot)
if [ -z "$WORKFLOW_TYPE" ]; then
if [ -z "$VERSION_QUALIFIER_OPT" ]; then
RELEASE=1 rake artifact:docker
RELEASE=1 rake artifact:docker_oss
rake artifact:dockerfiles
else
VERSION_QUALIFIER="$VERSION_QUALIFIER_OPT" RELEASE=1 rake artifact:docker
VERSION_QUALIFIER="$VERSION_QUALIFIER_OPT" RELEASE=1 rake artifact:docker_oss
VERSION_QUALIFIER="$VERSION_QUALIFIER_OPT" rake artifact:dockerfiles
# Qualifier is passed from CI as optional field and specify the version postfix
# in case of alpha or beta releases:
# e.g: 8.0.0-alpha1
STACK_VERSION="${STACK_VERSION}-${VERSION_QUALIFIER_OPT}"
fi
else
# WORKFLOW_TYPE is set, it has value "SNAPSHOT"
if [ -z "$VERSION_QUALIFIER_OPT" ]; then
rake artifact:docker
rake artifact:docker_oss
@ -46,7 +28,28 @@ else
# e.g: 8.0.0-alpha1
STACK_VERSION="${STACK_VERSION}-${VERSION_QUALIFIER_OPT}"
fi
fi
STACK_VERSION=${STACK_VERSION}-SNAPSHOT
;;
staging)
if [ -z "$VERSION_QUALIFIER_OPT" ]; then
RELEASE=1 rake artifact:docker
RELEASE=1 rake artifact:docker_oss
rake artifact:dockerfiles
else
VERSION_QUALIFIER="$VERSION_QUALIFIER_OPT" RELEASE=1 rake artifact:docker
VERSION_QUALIFIER="$VERSION_QUALIFIER_OPT" RELEASE=1 rake artifact:docker_oss
VERSION_QUALIFIER="$VERSION_QUALIFIER_OPT" rake artifact:dockerfiles
# Qualifier is passed from CI as optional field and specify the version postfix
# in case of alpha or beta releases:
# e.g: 8.0.0-alpha1
STACK_VERSION="${STACK_VERSION}-${VERSION_QUALIFIER_OPT}"
fi
;;
*)
exit 1
;;
esac
echo "Saving tar.gz for docker images"
docker save docker.elastic.co/logstash/logstash:${STACK_VERSION} | gzip -c > build/logstash-${STACK_VERSION}-docker-image-aarch64.tar.gz

View file

@ -26,15 +26,16 @@ if [ -n "$VERSION_QUALIFIER_OPT" ]; then
# in case of alpha or beta releases:
# e.g: 8.0.0-alpha1
STACK_VERSION="${STACK_VERSION}-${VERSION_QUALIFIER_OPT}"
RELEASE_VER="${RELEASE_VER}-${VERSION_QUALIFIER_OPT}"
PLAIN_STACK_VERSION="${PLAIN_STACK_VERSION}-${VERSION_QUALIFIER_OPT}"
fi
WORKFLOW="staging"
if [ -n "$WORKFLOW_TYPE" ]; then
case "$WORKFLOW_TYPE" in
snapshot)
STACK_VERSION=${STACK_VERSION}-SNAPSHOT
WORKFLOW="snapshot"
fi
echo "Uploading artifacts for ${WORKFLOW} workflow on branch: ${RELEASE_BRANCH}"
;;
esac
echo "Uploading artifacts for ${WORKFLOW_TYPE} workflow on branch: ${RELEASE_BRANCH}"
echo "Download all the artifacts for version ${STACK_VERSION}"
mkdir build/
@ -119,6 +120,6 @@ docker run --rm \
--project logstash \
--branch ${RELEASE_BRANCH} \
--commit "$(git rev-parse HEAD)" \
--workflow "${WORKFLOW}" \
--workflow "${WORKFLOW_TYPE}" \
--version "${PLAIN_STACK_VERSION}" \
--artifact-set main

View file

@ -11,24 +11,10 @@ export JRUBY_OPTS="-J-Xmx1g"
# The suffix part like alpha1 etc is managed by the optional VERSION_QUALIFIER_OPT environment variable
STACK_VERSION=`cat versions.yml | sed -n 's/^logstash\:[[:space:]]\([[:digit:]]*\.[[:digit:]]*\.[[:digit:]]*\)$/\1/p'`
# WORKFLOW_TYPE is a CI externally configured environment variable where, if not an empty string,
# it's assumed to be snapshot
if [ -n "$WORKFLOW_TYPE" ]; then
STACK_VERSION=${STACK_VERSION}-SNAPSHOT
fi
# WORKFLOW_TYPE is a CI externally configured environment variable that could assume "snapshot" or "staging" values
case "$WORKFLOW_TYPE" in
snapshot)
if [ -z "$WORKFLOW_TYPE" ]; then
if [ -z "$VERSION_QUALIFIER_OPT" ]; then
RELEASE=1 rake artifact:all
else
# Qualifier is passed from CI as optional field and specify the version postfix
# in case of alpha or beta releases:
# e.g: 8.0.0-alpha1
VERSION_QUALIFIER="$VERSION_QUALIFIER_OPT" RELEASE=1 rake artifact:all
STACK_VERSION="${STACK_VERSION}-${VERSION_QUALIFIER_OPT}"
fi
else
# WORKFLOW_TYPE is set, it has value "SNAPSHOT"
if [ -z "$VERSION_QUALIFIER_OPT" ]; then
rake artifact:all
else
@ -38,7 +24,23 @@ else
VERSION_QUALIFIER="$VERSION_QUALIFIER_OPT" rake artifact:all
STACK_VERSION="${STACK_VERSION}-${VERSION_QUALIFIER_OPT}"
fi
fi
STACK_VERSION=${STACK_VERSION}-SNAPSHOT
;;
staging)
if [ -z "$VERSION_QUALIFIER_OPT" ]; then
RELEASE=1 rake artifact:all
else
# Qualifier is passed from CI as optional field and specify the version postfix
# in case of alpha or beta releases:
# e.g: 8.0.0-alpha1
VERSION_QUALIFIER="$VERSION_QUALIFIER_OPT" RELEASE=1 rake artifact:all
STACK_VERSION="${STACK_VERSION}-${VERSION_QUALIFIER_OPT}"
fi
;;
*)
exit 1
;;
esac
echo "Saving tar.gz for docker images"
docker save docker.elastic.co/logstash/logstash:${STACK_VERSION} | gzip -c > build/logstash-${STACK_VERSION}-docker-image-x86_64.tar.gz