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"
fi
apt-get update && apt-get install lz4
apt-get update
apt-get install lz4 --no-install-recommends
WORKSPACE=/root/project
@ -61,12 +62,20 @@ then
echo -n "$CIRCLE_SHA1" >commit_hash.txt
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"
cd "$BUILD_DIR"
emcmake cmake \
-DCMAKE_BUILD_TYPE=Release \
-DBoost_USE_STATIC_LIBS=1 \
-DBoost_USE_STATIC_RUNTIME=1 \
-DCMAKE_CXX_FLAGS="${CMAKE_CXX_FLAGS}" \
-DTESTS=0 \
..
make soljson

View File

@ -32,11 +32,15 @@
# 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
# dependencies automatically.
FROM emscripten/emsdk:2.0.33 AS base
LABEL version="11"
FROM emscripten/emsdk:3.1.19 AS base
LABEL version="12"
ADD emscripten.jam /usr/src
RUN set -ex; \
\
apt-get update && \
apt-get install lz4 --no-install-recommends && \
\
cd /usr/src; \
git clone https://github.com/Z3Prover/z3.git -b z3-4.8.17 --depth 1 ; \
cd z3; \
@ -55,7 +59,7 @@ RUN set -ex; \
make ; make install; \
rm -r /usr/src/z3; \
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; \
test "$(sha256sum boost.tar.bz2)" = "953db31e016db7bb207f11432bef7df100516eeb746843fa0486a222e3fd49cb boost.tar.bz2"; \
tar -xf boost.tar.bz2; \

View File

@ -18,18 +18,20 @@ located in `develop`.
### Build, Test & Push
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.
See `scripts/ci/docker_upgrade.sh`.
If the version check was successful, the docker image will be built using the Dockerfile located in
`scripts/docker/buildpack-deps/Dockerfile.*`.
The resulting docker image will be tested by executing
the corresponding `scripts/ci/buildpack-deps_test_*` scripts. These scripts are normally symlinked to `scripts/ci/build.sh`,
except for the `buildpack-deps-ubuntu1604.clang.ossfuzz` docker image, that is symlinked to `scripts/ci/build_ossfuzz.sh`.
The resulting docker image will be tested by executing the corresponding `scripts/ci/buildpack-deps_test_*` scripts.
Some of these scripts are symlinked to `scripts/ci/build.sh`, except the following two:
* `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`.
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
of the freshly created docker image.
of the freshly created docker image.