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,42 +11,45 @@ export JRUBY_OPTS="-J-Xmx1g"
# The suffix part like alpha1 etc is managed by the optional VERSION_QUALIFIER_OPT environment variable # 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'` 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, # WORKFLOW_TYPE is a CI externally configured environment variable that could assume "snapshot" or "staging" values
# it's assumed to be snapshot case "$WORKFLOW_TYPE" in
if [ -n "$WORKFLOW_TYPE" ]; then snapshot)
STACK_VERSION=${STACK_VERSION}-SNAPSHOT
fi
if [ -z "$WORKFLOW_TYPE" ]; then if [ -z "$VERSION_QUALIFIER_OPT" ]; then
if [ -z "$VERSION_QUALIFIER_OPT" ]; then rake artifact:docker
RELEASE=1 rake artifact:docker rake artifact:docker_oss
RELEASE=1 rake artifact:docker_oss rake artifact:dockerfiles
rake artifact:dockerfiles else
else VERSION_QUALIFIER="$VERSION_QUALIFIER_OPT" rake artifact:docker
VERSION_QUALIFIER="$VERSION_QUALIFIER_OPT" RELEASE=1 rake artifact:docker VERSION_QUALIFIER="$VERSION_QUALIFIER_OPT" rake artifact:docker_oss
VERSION_QUALIFIER="$VERSION_QUALIFIER_OPT" RELEASE=1 rake artifact:docker_oss VERSION_QUALIFIER="$VERSION_QUALIFIER_OPT" rake artifact:dockerfiles
VERSION_QUALIFIER="$VERSION_QUALIFIER_OPT" rake artifact:dockerfiles # Qualifier is passed from CI as optional field and specify the version postfix
# Qualifier is passed from CI as optional field and specify the version postfix # in case of alpha or beta releases:
# in case of alpha or beta releases: # e.g: 8.0.0-alpha1
# e.g: 8.0.0-alpha1 STACK_VERSION="${STACK_VERSION}-${VERSION_QUALIFIER_OPT}"
STACK_VERSION="${STACK_VERSION}-${VERSION_QUALIFIER_OPT}" fi
fi
else STACK_VERSION=${STACK_VERSION}-SNAPSHOT
# WORKFLOW_TYPE is set, it has value "SNAPSHOT" ;;
if [ -z "$VERSION_QUALIFIER_OPT" ]; then staging)
rake artifact:docker if [ -z "$VERSION_QUALIFIER_OPT" ]; then
rake artifact:docker_oss RELEASE=1 rake artifact:docker
rake artifact:dockerfiles RELEASE=1 rake artifact:docker_oss
else rake artifact:dockerfiles
VERSION_QUALIFIER="$VERSION_QUALIFIER_OPT" rake artifact:docker else
VERSION_QUALIFIER="$VERSION_QUALIFIER_OPT" rake artifact:docker_oss VERSION_QUALIFIER="$VERSION_QUALIFIER_OPT" RELEASE=1 rake artifact:docker
VERSION_QUALIFIER="$VERSION_QUALIFIER_OPT" rake artifact:dockerfiles VERSION_QUALIFIER="$VERSION_QUALIFIER_OPT" RELEASE=1 rake artifact:docker_oss
# Qualifier is passed from CI as optional field and specify the version postfix VERSION_QUALIFIER="$VERSION_QUALIFIER_OPT" rake artifact:dockerfiles
# in case of alpha or beta releases: # Qualifier is passed from CI as optional field and specify the version postfix
# e.g: 8.0.0-alpha1 # in case of alpha or beta releases:
STACK_VERSION="${STACK_VERSION}-${VERSION_QUALIFIER_OPT}" # e.g: 8.0.0-alpha1
fi STACK_VERSION="${STACK_VERSION}-${VERSION_QUALIFIER_OPT}"
fi fi
;;
*)
exit 1
;;
esac
echo "Saving tar.gz for docker images" 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 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: # in case of alpha or beta releases:
# e.g: 8.0.0-alpha1 # e.g: 8.0.0-alpha1
STACK_VERSION="${STACK_VERSION}-${VERSION_QUALIFIER_OPT}" STACK_VERSION="${STACK_VERSION}-${VERSION_QUALIFIER_OPT}"
RELEASE_VER="${RELEASE_VER}-${VERSION_QUALIFIER_OPT}" PLAIN_STACK_VERSION="${PLAIN_STACK_VERSION}-${VERSION_QUALIFIER_OPT}"
fi fi
WORKFLOW="staging" case "$WORKFLOW_TYPE" in
if [ -n "$WORKFLOW_TYPE" ]; then snapshot)
STACK_VERSION=${STACK_VERSION}-SNAPSHOT STACK_VERSION=${STACK_VERSION}-SNAPSHOT
WORKFLOW="snapshot" ;;
fi esac
echo "Uploading artifacts for ${WORKFLOW} workflow on branch: ${RELEASE_BRANCH}"
echo "Uploading artifacts for ${WORKFLOW_TYPE} workflow on branch: ${RELEASE_BRANCH}"
echo "Download all the artifacts for version ${STACK_VERSION}" echo "Download all the artifacts for version ${STACK_VERSION}"
mkdir build/ mkdir build/
@ -119,6 +120,6 @@ docker run --rm \
--project logstash \ --project logstash \
--branch ${RELEASE_BRANCH} \ --branch ${RELEASE_BRANCH} \
--commit "$(git rev-parse HEAD)" \ --commit "$(git rev-parse HEAD)" \
--workflow "${WORKFLOW}" \ --workflow "${WORKFLOW_TYPE}" \
--version "${PLAIN_STACK_VERSION}" \ --version "${PLAIN_STACK_VERSION}" \
--artifact-set main --artifact-set main

View file

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