Update emscripten Dockerfile to 3.1.19

This commit is contained in:
Duc Thanh Nguyen 2022-08-12 22:41:04 -04:00 committed by Marenz
parent 22a0c46eae
commit 318dedf439
3 changed files with 24 additions and 9 deletions

View File

@ -40,7 +40,8 @@ else
BUILD_DIR="$1" BUILD_DIR="$1"
fi fi
apt-get update && apt-get install lz4 apt-get update
apt-get install lz4 --no-install-recommends
WORKSPACE=/root/project WORKSPACE=/root/project
@ -61,12 +62,20 @@ then
echo -n "$CIRCLE_SHA1" >commit_hash.txt echo -n "$CIRCLE_SHA1" >commit_hash.txt
fi fi
# Disable warnings for unqualified "move()" calls, introduced and enabled by
# default in clang-16 which is what the emscripten docker image uses.
# Additionally, disable the warning for unknown warnings here, as this script is
# also used with earlier clang versions.
CMAKE_CXX_FLAGS="-Wno-unqualified-std-cast-call -Wno-unknown-warning-option"
mkdir -p "$BUILD_DIR" mkdir -p "$BUILD_DIR"
cd "$BUILD_DIR" cd "$BUILD_DIR"
emcmake cmake \ emcmake cmake \
-DCMAKE_BUILD_TYPE=Release \ -DCMAKE_BUILD_TYPE=Release \
-DBoost_USE_STATIC_LIBS=1 \ -DBoost_USE_STATIC_LIBS=1 \
-DBoost_USE_STATIC_RUNTIME=1 \ -DBoost_USE_STATIC_RUNTIME=1 \
-DCMAKE_CXX_FLAGS="${CMAKE_CXX_FLAGS}" \
-DTESTS=0 \ -DTESTS=0 \
.. ..
make soljson make soljson

View File

@ -32,11 +32,15 @@
# apparently this currently breaks due to conflicting compatibility headers. # apparently this currently breaks due to conflicting compatibility headers.
# Using $(em-config CACHE)/sysroot/usr seems to work, though, and still has cmake find the # Using $(em-config CACHE)/sysroot/usr seems to work, though, and still has cmake find the
# dependencies automatically. # dependencies automatically.
FROM emscripten/emsdk:2.0.33 AS base FROM emscripten/emsdk:3.1.19 AS base
LABEL version="11" LABEL version="12"
ADD emscripten.jam /usr/src ADD emscripten.jam /usr/src
RUN set -ex; \ RUN set -ex; \
\
apt-get update && \
apt-get install lz4 --no-install-recommends && \
\
cd /usr/src; \ cd /usr/src; \
git clone https://github.com/Z3Prover/z3.git -b z3-4.8.17 --depth 1 ; \ git clone https://github.com/Z3Prover/z3.git -b z3-4.8.17 --depth 1 ; \
cd z3; \ cd z3; \
@ -55,7 +59,7 @@ RUN set -ex; \
make ; make install; \ make ; make install; \
rm -r /usr/src/z3; \ rm -r /usr/src/z3; \
cd /usr/src; \ cd /usr/src; \
\
wget -q 'https://boostorg.jfrog.io/artifactory/main/release/1.75.0/source/boost_1_75_0.tar.bz2' -O boost.tar.bz2; \ wget -q 'https://boostorg.jfrog.io/artifactory/main/release/1.75.0/source/boost_1_75_0.tar.bz2' -O boost.tar.bz2; \
test "$(sha256sum boost.tar.bz2)" = "953db31e016db7bb207f11432bef7df100516eeb746843fa0486a222e3fd49cb boost.tar.bz2"; \ test "$(sha256sum boost.tar.bz2)" = "953db31e016db7bb207f11432bef7df100516eeb746843fa0486a222e3fd49cb boost.tar.bz2"; \
tar -xf boost.tar.bz2; \ tar -xf boost.tar.bz2; \

View File

@ -18,18 +18,20 @@ located in `develop`.
### Build, Test & Push ### Build, Test & Push
Note that the whole workflow - including all defined strategies (image variants) - will be triggered, Note that the whole workflow - including all defined strategies (image variants) - will be triggered,
even if only a single Dockerfile was change. The full workflow will only gets executed, if the corresponding even if only a single Dockerfile was changed. The full workflow will only get executed, if the corresponding
Dockerfile was changed. The execution of workflows of unchanged Dockerfiles will not continue and just return success. Dockerfile was changed. The execution of workflows of unchanged Dockerfiles will not continue and just return success.
See `scripts/ci/docker_upgrade.sh`. See `scripts/ci/docker_upgrade.sh`.
If the version check was successful, the docker image will be built using the Dockerfile located in If the version check was successful, the docker image will be built using the Dockerfile located in
`scripts/docker/buildpack-deps/Dockerfile.*`. `scripts/docker/buildpack-deps/Dockerfile.*`.
The resulting docker image will be tested by executing The resulting docker image will be tested by executing the corresponding `scripts/ci/buildpack-deps_test_*` scripts.
the corresponding `scripts/ci/buildpack-deps_test_*` scripts. These scripts are normally symlinked to `scripts/ci/build.sh`, Some of these scripts are symlinked to `scripts/ci/build.sh`, except the following two:
except for the `buildpack-deps-ubuntu1604.clang.ossfuzz` docker image, that is symlinked to `scripts/ci/build_ossfuzz.sh`. * `buildpack-deps-ubuntu1604.clang.ossfuzz` => `scripts/ci/build_ossfuzz.sh`
* `buildpack-deps_test_emscripten.sh` => `scripts/ci/build_emscripten.sh`
These scripts `scripts/ci/build.sh` and `scripts/ci/build_ossfuzz.sh` are also used by CircleCI, see `.circleci/config.yml`. These scripts `scripts/ci/build.sh` and `scripts/ci/build_ossfuzz.sh` are also used by CircleCI, see `.circleci/config.yml`.
If the tests passed successfully, the docker image will get tagged by the version defined within the corresponding `Dockerfile`. If the tests passed successfully, the docker image will get tagged by the version defined within the corresponding `Dockerfile`.
Finally, a comment will be added to the PR that contains the full repository, version and repository digest Finally, a comment will be added to the PR that contains the full repository, version and repository digest
of the freshly created docker image. of the freshly created docker image.