build: docker run: make "-it" flags conditional on tty being available
from https://stackoverflow.com/a/69088164 I am trying to run the build.sh scripts directly on a cirrus CI runner, and "docker run -it" is erroring due to lack of a tty.
This commit is contained in:
@@ -63,11 +63,14 @@ else
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
DOCKER_RUN_FLAGS=""
|
DOCKER_RUN_FLAGS=""
|
||||||
|
|
||||||
if [[ "$3" == "release" ]] ; then
|
if [[ "$3" == "release" ]] ; then
|
||||||
info "'release' mode selected. mounting ~/.keystore inside container."
|
info "'release' mode selected. mounting ~/.keystore inside container."
|
||||||
DOCKER_RUN_FLAGS="-v $HOME/.keystore:/home/user/.keystore"
|
DOCKER_RUN_FLAGS="-v $HOME/.keystore:/home/user/.keystore"
|
||||||
fi
|
fi
|
||||||
|
if sh -c ": >/dev/tty" >/dev/null 2>/dev/null; then
|
||||||
|
info "/dev/tty is available and usable"
|
||||||
|
DOCKER_RUN_FLAGS="$DOCKER_RUN_FLAGS -it"
|
||||||
|
fi
|
||||||
|
|
||||||
info "building binary..."
|
info "building binary..."
|
||||||
mkdir --parents "$PROJECT_ROOT_OR_FRESHCLONE_ROOT"/.buildozer/.gradle
|
mkdir --parents "$PROJECT_ROOT_OR_FRESHCLONE_ROOT"/.buildozer/.gradle
|
||||||
@@ -78,7 +81,7 @@ if [ ! -z "$ELECBUILD_COMMIT" ] ; then # fresh clone (reproducible build)
|
|||||||
sudo chown -R 1000:1000 "$FRESH_CLONE"
|
sudo chown -R 1000:1000 "$FRESH_CLONE"
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
docker run -it --rm \
|
docker run --rm \
|
||||||
--name electrum-android-builder-cont \
|
--name electrum-android-builder-cont \
|
||||||
-v "$PROJECT_ROOT_OR_FRESHCLONE_ROOT":/home/user/wspace/electrum \
|
-v "$PROJECT_ROOT_OR_FRESHCLONE_ROOT":/home/user/wspace/electrum \
|
||||||
-v "$PROJECT_ROOT_OR_FRESHCLONE_ROOT"/.buildozer/.gradle:/home/user/.gradle \
|
-v "$PROJECT_ROOT_OR_FRESHCLONE_ROOT"/.buildozer/.gradle:/home/user/.gradle \
|
||||||
|
|||||||
@@ -50,6 +50,12 @@ fi
|
|||||||
# defined in the type2-runtime repo (patched with type2-runtime-reproducible-build.patch)
|
# defined in the type2-runtime repo (patched with type2-runtime-reproducible-build.patch)
|
||||||
"$CONTRIB_APPIMAGE/make_type2_runtime.sh" || fail "Error building type2-runtime."
|
"$CONTRIB_APPIMAGE/make_type2_runtime.sh" || fail "Error building type2-runtime."
|
||||||
|
|
||||||
|
DOCKER_RUN_FLAGS=""
|
||||||
|
if sh -c ": >/dev/tty" >/dev/null 2>/dev/null; then
|
||||||
|
info "/dev/tty is available and usable"
|
||||||
|
DOCKER_RUN_FLAGS="-it"
|
||||||
|
fi
|
||||||
|
|
||||||
info "building binary..."
|
info "building binary..."
|
||||||
# check uid and maybe chown. see #8261
|
# check uid and maybe chown. see #8261
|
||||||
if [ ! -z "$ELECBUILD_COMMIT" ] ; then # fresh clone (reproducible build)
|
if [ ! -z "$ELECBUILD_COMMIT" ] ; then # fresh clone (reproducible build)
|
||||||
@@ -58,7 +64,7 @@ if [ ! -z "$ELECBUILD_COMMIT" ] ; then # fresh clone (reproducible build)
|
|||||||
sudo chown -R 1000:1000 "$FRESH_CLONE"
|
sudo chown -R 1000:1000 "$FRESH_CLONE"
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
docker run -it \
|
docker run $DOCKER_RUN_FLAGS \
|
||||||
--name electrum-appimage-builder-cont \
|
--name electrum-appimage-builder-cont \
|
||||||
-v "$PROJECT_ROOT_OR_FRESHCLONE_ROOT":/opt/electrum \
|
-v "$PROJECT_ROOT_OR_FRESHCLONE_ROOT":/opt/electrum \
|
||||||
--rm \
|
--rm \
|
||||||
|
|||||||
@@ -46,6 +46,12 @@ else
|
|||||||
info "not doing fresh clone."
|
info "not doing fresh clone."
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
DOCKER_RUN_FLAGS=""
|
||||||
|
if sh -c ": >/dev/tty" >/dev/null 2>/dev/null; then
|
||||||
|
info "/dev/tty is available and usable"
|
||||||
|
DOCKER_RUN_FLAGS="-it"
|
||||||
|
fi
|
||||||
|
|
||||||
info "building binary..."
|
info "building binary..."
|
||||||
# check uid and maybe chown. see #8261
|
# check uid and maybe chown. see #8261
|
||||||
if [ ! -z "$ELECBUILD_COMMIT" ] ; then # fresh clone (reproducible build)
|
if [ ! -z "$ELECBUILD_COMMIT" ] ; then # fresh clone (reproducible build)
|
||||||
@@ -54,7 +60,7 @@ if [ ! -z "$ELECBUILD_COMMIT" ] ; then # fresh clone (reproducible build)
|
|||||||
sudo chown -R 1000:1000 "$FRESH_CLONE"
|
sudo chown -R 1000:1000 "$FRESH_CLONE"
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
docker run -it \
|
docker run $DOCKER_RUN_FLAGS \
|
||||||
--name electrum-sdist-builder-cont \
|
--name electrum-sdist-builder-cont \
|
||||||
-v "$PROJECT_ROOT_OR_FRESHCLONE_ROOT":/opt/electrum \
|
-v "$PROJECT_ROOT_OR_FRESHCLONE_ROOT":/opt/electrum \
|
||||||
--rm \
|
--rm \
|
||||||
|
|||||||
@@ -48,6 +48,12 @@ else
|
|||||||
info "not doing fresh clone."
|
info "not doing fresh clone."
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
DOCKER_RUN_FLAGS=""
|
||||||
|
if sh -c ": >/dev/tty" >/dev/null 2>/dev/null; then
|
||||||
|
info "/dev/tty is available and usable"
|
||||||
|
DOCKER_RUN_FLAGS="-it"
|
||||||
|
fi
|
||||||
|
|
||||||
info "building binary..."
|
info "building binary..."
|
||||||
# check uid and maybe chown. see #8261
|
# check uid and maybe chown. see #8261
|
||||||
if [ ! -z "$ELECBUILD_COMMIT" ] ; then # fresh clone (reproducible build)
|
if [ ! -z "$ELECBUILD_COMMIT" ] ; then # fresh clone (reproducible build)
|
||||||
@@ -56,7 +62,7 @@ if [ ! -z "$ELECBUILD_COMMIT" ] ; then # fresh clone (reproducible build)
|
|||||||
sudo chown -R 1000:1000 "$FRESH_CLONE"
|
sudo chown -R 1000:1000 "$FRESH_CLONE"
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
docker run -it \
|
docker run $DOCKER_RUN_FLAGS \
|
||||||
--name electrum-wine-builder-cont \
|
--name electrum-wine-builder-cont \
|
||||||
-v "$PROJECT_ROOT_OR_FRESHCLONE_ROOT":/opt/wine64/drive_c/electrum \
|
-v "$PROJECT_ROOT_OR_FRESHCLONE_ROOT":/opt/wine64/drive_c/electrum \
|
||||||
--rm \
|
--rm \
|
||||||
|
|||||||
Reference in New Issue
Block a user