Skip to content

Commit 24b36bf

Browse files
authored
Use K Dockerhub images for CI (#99)
* Dockerfile, Jenkinsfile: use pre-build K dockerhub image * Dockerfile: install wasm-gc ahead of time * Dockerfile: install wabt after setting up user * Dockerfile: add curl * Dockerfile: correct --branch => --tag * Dockerfile: put cargo on PATH earlier * Dockerfile: add python3 * Dockerfile: get wabt submodules too
1 parent 6c73c98 commit 24b36bf

File tree

2 files changed

+29
-32
lines changed

2 files changed

+29
-32
lines changed

Dockerfile

+23-30
Original file line numberDiff line numberDiff line change
@@ -1,38 +1,31 @@
1-
FROM runtimeverificationinc/ubuntu:bionic
1+
ARG K_COMMIT
2+
FROM runtimeverificationinc/kframework-k:ubuntu-bionic-${K_COMMIT}
23

3-
RUN apt-get update \
4-
&& apt-get upgrade --yes \
5-
&& apt-get install --yes \
6-
autoconf bison clang-8 cmake curl flex gcc git libboost-test-dev \
7-
libclang-dev libcrypto++-dev libffi-dev libjemalloc-dev libmpfr-dev \
8-
libprocps-dev libprotobuf-dev libsecp256k1-dev libssl-dev libtool \
9-
libyaml-dev libz3-dev lld-8 llvm-8-tools make maven netcat-openbsd \
10-
opam openjdk-11-jdk pandoc pkg-config protobuf-compiler python3 \
11-
python-pygments python-recommonmark python-sphinx rapidjson-dev \
12-
time z3 zlib1g-dev
4+
RUN apt-get update \
5+
&& apt-get upgrade --yes \
6+
&& apt-get install --yes \
7+
cmake \
8+
curl \
9+
pandoc \
10+
python3
1311

14-
ADD deps/wasm-semantics/deps/k/haskell-backend/src/main/native/haskell-backend/scripts/install-stack.sh /.install-stack/
15-
RUN /.install-stack/install-stack.sh
12+
ARG USER_ID=1000
13+
ARG GROUP_ID=1000
14+
RUN groupadd -g $GROUP_ID user && useradd -m -u $USER_ID -s /bin/sh -g user user
1615

1716
USER user:user
18-
19-
ADD deps/wasm-semantics/deps/k/k-distribution/src/main/scripts/bin/k-configure-opam-dev deps/wasm-semantics/deps/k/k-distribution/src/main/scripts/bin/k-configure-opam-common /home/user/.tmp-opam/bin/
20-
ADD deps/wasm-semantics/deps/k/k-distribution/src/main/scripts/lib/opam /home/user/.tmp-opam/lib/opam/
21-
RUN cd /home/user \
22-
&& ./.tmp-opam/bin/k-configure-opam-dev
23-
24-
ADD --chown=user:user deps/wasm-semantics/deps/k/haskell-backend/src/main/native/haskell-backend/stack.yaml /home/user/.tmp-haskell/
25-
ADD --chown=user:user deps/wasm-semantics/deps/k/haskell-backend/src/main/native/haskell-backend/kore/package.yaml /home/user/.tmp-haskell/kore/
26-
RUN cd /home/user/.tmp-haskell \
27-
&& stack build --only-snapshot
28-
29-
RUN cd /home/user \
30-
&& git clone --recursive 'https://github.com/WebAssembly/wabt' --branch='1.0.13' \
31-
&& cd wabt \
32-
&& mkdir build && cd build \
33-
&& cmake .. && cmake --build .
17+
WORKDIR /home/user
3418

3519
RUN curl https://sh.rustup.rs -sSf | sh -s -- -y --default-toolchain nightly-2020-04-21 --target wasm32-unknown-unknown
20+
ENV PATH=/home/user/.cargo/bin:$PATH
21+
RUN cargo install --git https://github.com/alexcrichton/wasm-gc --tag wasm-gc-api-0.1.11
22+
23+
RUN git clone 'https://github.com/WebAssembly/wabt' --branch 1.0.13 --recurse-submodules wabt \
24+
&& cd wabt \
25+
&& mkdir build \
26+
&& cd build \
27+
&& cmake .. \
28+
&& cmake --build .
3629

3730
ENV LD_LIBRARY_PATH=/usr/local/lib
38-
ENV PATH=/home/user/wabt/build:/home/user/.local/bin:/home/user/.cargo/bin:$PATH
31+
ENV PATH=/home/user/wabt/build:/home/user/.local/bin:$PATH

Jenkinsfile

+6-2
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,16 @@
11
pipeline {
2-
agent { dockerfile { } }
2+
agent {
3+
dockerfile {
4+
label 'docker'
5+
additionalBuildArgs '--build-arg K_COMMIT=$(cd deps/wasm-semantics/deps/k && git rev-parse --short=7 HEAD) --build-arg USER_ID=$(id -u) --build-arg GROUP_ID=$(id -g)'
6+
}
7+
}
38
options { ansiColor('xterm') }
49
stages {
510
stage('Init title') {
611
when { changeRequest() }
712
steps { script { currentBuild.displayName = "PR ${env.CHANGE_ID}: ${env.CHANGE_TITLE}" } }
813
}
9-
stage('KWasm Dependencies') { steps { sh 'make deps' } }
1014
stage('Build') {
1115
parallel {
1216
stage('KWasm (normal)') { steps { sh 'make build -j4' } }

0 commit comments

Comments
 (0)