* [wip] prerelease version publishing * fix typo * dont update latest tag * pass pre-release flag * typo * Update publish-command.yml
73 lines
1.8 KiB
Bash
Executable File
73 lines
1.8 KiB
Bash
Executable File
error() {
|
|
echo -e "$@"
|
|
exit 1
|
|
}
|
|
|
|
assert_root() {
|
|
[ -f .root ] || error "Must run from root"
|
|
}
|
|
|
|
_script_directory() {
|
|
local base; base=$(dirname $0)
|
|
|
|
[ -z "$base" ] && base="."
|
|
(cd "$base" && pwd)
|
|
}
|
|
|
|
_get_docker_label() {
|
|
local dockerfile; dockerfile=$1
|
|
local label; label=$2
|
|
|
|
< "$dockerfile" grep "$label" | cut -d = -f2
|
|
}
|
|
|
|
_get_docker_image_version() {
|
|
local is_pre_release; is_pre_release=$2
|
|
local version; version=$(_get_docker_label $1 io.airbyte.version)
|
|
|
|
# append the -dev.[git sha] if we're trying to publish a pre-release version
|
|
if [ "$is_pre_release" = "true" ]; then
|
|
echo "$version-dev.$(git rev-parse --short HEAD)"
|
|
else
|
|
echo "$version"
|
|
fi
|
|
}
|
|
|
|
_get_docker_image_name() {
|
|
_get_docker_label $1 io.airbyte.name
|
|
}
|
|
|
|
_to_gradle_path() {
|
|
local path=$1
|
|
local task=$2
|
|
|
|
echo ":$(echo "$path" | tr -s / :):${task}"
|
|
}
|
|
|
|
full_path_to_gradle_path() {
|
|
# converts any Airbyte repo path to gradle job
|
|
local path="$1/$2"
|
|
python -c "print(':airbyte-' + ':'.join(p for p in '${path}'.split('airbyte-')[-1].replace('/', ':').split(':') if p))"
|
|
}
|
|
|
|
get_connector_path_from_name() {
|
|
# get the path to a connector from its name
|
|
# e.g connectors/source-postgres -> airbyte-integrations/connectors/source-postgres
|
|
local connector_name=$1
|
|
local connector_dir="airbyte-integrations"
|
|
|
|
echo "$connector_dir/$connector_name"
|
|
}
|
|
|
|
get_connector_version() {
|
|
# get the version of a connector from its name
|
|
# e.g source-postgres -> 0.1.1
|
|
local connector_name=$1
|
|
local connector_path=$(get_connector_path_from_name "$connector_name")
|
|
local dockerfile="$connector_path/Dockerfile"
|
|
_get_docker_image_version "$dockerfile"
|
|
}
|
|
|
|
VERSION=$(cat .env | grep "^VERSION=" | cut -d = -f 2); export VERSION
|
|
SCRIPT_DIRECTORY=$(_script_directory); export SCRIPT_DIRECTORY
|