diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index d9a6a0997..e54f3e0e1 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -2,7 +2,7 @@ variables: GIT_SUBMODULE_STRATEGY: recursive build_wally_release_files: - image: greenaddress/wallycore@sha256:f159b338f3d25e13958d79fbd709238e3864de5468b9d743625466a0a681e52b + image: greenaddress/wallycore@sha256:956b107d688f549c6e3884424991b7d3d34d84173990d43046fd760d7918db7c artifacts: expire_in: 7 days name: wallycore-bindings @@ -36,7 +36,7 @@ build_wally_release_files: - rmdir wally_dist build_mingw_static: - image: greenaddress/wallycore@sha256:f159b338f3d25e13958d79fbd709238e3864de5468b9d743625466a0a681e52b + image: greenaddress/wallycore@sha256:956b107d688f549c6e3884424991b7d3d34d84173990d43046fd760d7918db7c tags: - ga script: @@ -45,7 +45,7 @@ build_mingw_static: - make -j $(($(grep ^processor /proc/cpuinfo | wc -l) / 2)) run_tests: - image: greenaddress/wallycore@sha256:f159b338f3d25e13958d79fbd709238e3864de5468b9d743625466a0a681e52b + image: greenaddress/wallycore@sha256:956b107d688f549c6e3884424991b7d3d34d84173990d43046fd760d7918db7c tags: - ga artifacts: @@ -61,7 +61,7 @@ run_tests: - jq '[.[]|.[]]' -s ./src/.libs/test_*.json > valgrind.json run_asan_ubsan_gcc: - image: greenaddress/wallycore@sha256:f159b338f3d25e13958d79fbd709238e3864de5468b9d743625466a0a681e52b + image: greenaddress/wallycore@sha256:956b107d688f549c6e3884424991b7d3d34d84173990d43046fd760d7918db7c tags: - ga script: @@ -73,7 +73,7 @@ run_asan_ubsan_gcc: - ASAN_OPTIONS=abort_on_error=1:fast_unwind_on_malloc=0:detect_leaks=0 UBSAN_OPTIONS=print_stacktrace=1 make check V=1 run_scan_build_clang: - image: greenaddress/wallycore@sha256:f159b338f3d25e13958d79fbd709238e3864de5468b9d743625466a0a681e52b + image: greenaddress/wallycore@sha256:956b107d688f549c6e3884424991b7d3d34d84173990d43046fd760d7918db7c tags: - ga script: @@ -82,7 +82,7 @@ run_scan_build_clang: - scan-build-11 --keep-cc --exclude src/secp256k1/ make -j $(($(grep ^processor /proc/cpuinfo | wc -l) / 2)) cmake-test: - image: greenaddress/wallycore@sha256:f159b338f3d25e13958d79fbd709238e3864de5468b9d743625466a0a681e52b + image: greenaddress/wallycore@sha256:956b107d688f549c6e3884424991b7d3d34d84173990d43046fd760d7918db7c tags: - ga script: diff --git a/contrib/Dockerfile_bullseye b/contrib/Dockerfile_bullseye index dcba5bf70..019643101 100644 --- a/contrib/Dockerfile_bullseye +++ b/contrib/Dockerfile_bullseye @@ -3,10 +3,12 @@ # build from this directory with e.g: # DOCKER_BUILDKIT=1 docker build . -t greenaddress/wallycore -f Dockerfile_bullseye # -FROM debian:bullseye@sha256:71cb300d5448af821aedfe63afd55ba05f45a6a79f00dcd131b96b780bb99fe4 +FROM debian:bullseye@sha256:01559430c84e6bc864bed554345d1bfbfa94ac108ab68f39915cae34604b15c3 WORKDIR /root COPY bullseye_deps.sh ./deps.sh COPY requirements.txt ./contrib/requirements.txt +ARG TARGETARCH=amd64 +ENV TARGETARCH=${TARGETARCH} +ENV JAVA_HOME=/usr/lib/jvm/java-1.11.0-openjdk-${TARGETARCH} RUN ./deps.sh && rm ./deps.sh -ENV JAVA_HOME=/usr/lib/jvm/java-1.11.0-openjdk-amd64 ENV ANDROID_NDK=/opt/android-ndk-r26b diff --git a/contrib/bullseye_deps.sh b/contrib/bullseye_deps.sh index e0d4a830a..d55bd8108 100755 --- a/contrib/bullseye_deps.sh +++ b/contrib/bullseye_deps.sh @@ -37,7 +37,7 @@ fi apt install --no-install-recommends unzip autoconf automake autotools-dev pkg-config build-essential libtool python3{,-dev,-pip,-virtualenv} python{,-dev}-is-python3 clang{,-format,-tidy} git swig curl cmake libssl-dev libtool-bin $java_packages curl $windows_packages valgrind jq -yqq if [ -z "$skip_java" ]; then - update-java-alternatives -s java-1.11.0-openjdk-amd64 + update-java-alternatives -s $(basename ${JAVA_HOME}) fi pip3 install valgrind-codequality -r contrib/requirements.txt @@ -58,8 +58,14 @@ if [ -z "$skip_emsdk" ]; then # Install emsdk git clone https://github.com/emscripten-core/emsdk cd emsdk - ./emsdk install 3.1.52 - ./emsdk activate 3.1.52 + EMSDK_VERSION=3.1.52 + if [ "${TARGETARCH}" = "arm64" ]; then + # very few versions of emsdk are available for linux-arm64 + # https://github.com/emscripten-core/emsdk/issues/547 + EMSDK_VERSION=3.1.33 + fi + ./emsdk install ${EMSDK_VERSION} + ./emsdk activate ${EMSDK_VERSION} # Force emsdk to use the installed node version instead of its own sed -i "s/^NODE_JS = .*$/NODE_JS = 'node'/g" /opt/emsdk/.emscripten # Make emsdk commands available