mirror of
https://github.com/getsentry/self-hosted.git
synced 2025-12-08 19:46:14 +00:00
* Reference paths relative to the current script or project root Before this PR: - some scripts change the current working directory and use relative paths - different approaches are taken to know which directory a script is running in - paths are sometimes relative, sometimes absolute, sometimes traversing directories After this PR: - scripts do neither change nor care much about the current working directory - a unified approach determines the directory of the current script - paths are always relative to the project root This should resolve an issue I already tried to fix with https://github.com/getsentry/self-hosted/pull/1798, where the contents of `./sentry` were not copied into the built container image, thus `enhance-image.sh` did not apply. Co-authored-by: Amin Vakil <info@aminvakil.com>
30 lines
1.1 KiB
Bash
30 lines
1.1 KiB
Bash
echo "${_group}Detecting Docker platform"
|
|
|
|
# Sentry SaaS uses stock Yandex ClickHouse, but they don't provide images that
|
|
# support ARM, which is relevant especially for Apple M1 laptops, Sentry's
|
|
# standard developer environment. As a workaround, we use an altinity image
|
|
# targeting ARM.
|
|
#
|
|
# See https://github.com/getsentry/self-hosted/issues/1385#issuecomment-1101824274
|
|
#
|
|
# Images built on ARM also need to be tagged to use linux/arm64 on Apple
|
|
# silicon Macs to work around an issue where they are built for
|
|
# linux/amd64 by default due to virtualization.
|
|
# See https://github.com/docker/cli/issues/3286 for the Docker bug.
|
|
|
|
export DOCKER_ARCH=$(docker info --format '{{.Architecture}}')
|
|
|
|
if [[ "$DOCKER_ARCH" = "x86_64" ]]; then
|
|
export DOCKER_PLATFORM="linux/amd64"
|
|
export CLICKHOUSE_IMAGE="yandex/clickhouse-server:20.3.9.70"
|
|
elif [[ "$DOCKER_ARCH" = "aarch64" ]]; then
|
|
export DOCKER_PLATFORM="linux/arm64"
|
|
export CLICKHOUSE_IMAGE="altinity/clickhouse-server:21.6.1.6734-testing-arm"
|
|
else
|
|
echo "FAIL: Unsupported docker architecture $DOCKER_ARCH."
|
|
exit 1
|
|
fi
|
|
echo "Detected Docker platform is $DOCKER_PLATFORM"
|
|
|
|
echo "${_endgroup}"
|