
* chore: remove goreleaser configuration and scripts * chore: replace goreleaser with fpm goreleaser handled signing and uploading packages. So, that functionality had to be implemented here as well.
53 lines
1.8 KiB
Bash
Executable File
53 lines
1.8 KiB
Bash
Executable File
#!/bin/bash
|
|
set -o errexit \
|
|
-o nounset \
|
|
-o pipefail
|
|
|
|
# Determine if "${CIRCLE_TAG}" matches the semantic version regex. Otherwise,
|
|
# assume that "${CIRCLE_TAG}" is not intended to tag a release. The regex is
|
|
# permissive of what occurs after the semantic version. This allows for
|
|
# alphas, betas, and release candidates.
|
|
if [[ "${CIRCLE_TAG:-}" =~ ^v[0-9]+.[0-9]+.[0-9]+ ]]
|
|
then
|
|
VERSION_REGEX="${CIRCLE_TAG/#v/}"
|
|
else
|
|
# When "${CIRCLE_TAG}" cannot be used to construct the package version,
|
|
# use "${CIRCLE_SHA1}". Since "${CIRCLE_SHA1}" can start with an alpha
|
|
# (non-numeric) character, prefix it with "2.x-".
|
|
VERSION_REGEX="2.x[-_]${CIRCLE_SHA1:0:8}"
|
|
fi
|
|
|
|
REGEX='^packages/influxdb2-client[-_]'"${VERSION_REGEX}"'(.*)'
|
|
|
|
for target in packages/*
|
|
do
|
|
if [[ "${target}" =~ ${REGEX} ]]
|
|
then
|
|
# After renaming the artifact to the "latest/nightly" version, append
|
|
# the artifact to the `invalidations` file. Since `dl.influxdata.com`
|
|
# contains many 100GBs, this should only invalidate artifacts
|
|
# that have changed.
|
|
case ${1} in
|
|
nightly)
|
|
mv -v "${target}" "packages/influxdb2-client-nightly${BASH_REMATCH[1]}"
|
|
printf '/platform/nightlies/influxdb2-client-nightly%s\n' "${BASH_REMATCH[1]}" >>invalidations
|
|
;;
|
|
release)
|
|
cp -v "${target}" "packages/influxdb2-client-latest${BASH_REMATCH[1]}"
|
|
printf '/influxdb/releases/influxdb2-client-latest%s\n' "${BASH_REMATCH[1]}" >>invalidations
|
|
;;
|
|
esac
|
|
fi
|
|
done
|
|
|
|
case ${1} in
|
|
nightly)
|
|
aws s3 sync packages s3://dl.influxdata.com/platform/nightlies
|
|
;;
|
|
release)
|
|
aws s3 sync packages s3://dl.influxdata.com/influxdb/releases
|
|
;;
|
|
esac
|
|
|
|
aws cloudfront create-invalidation --distribution-id "${AWS_DISTRIBUTION_ID}" --paths $(<invalidations)
|