9
9
io.parity.image.vendor="Parity Technologies" \
10
10
io.parity.image.title="${REGISTRY_PATH}/contracts-ci-linux" \
11
11
io.parity.image.description="Inherits from base-ci-linux:latest. \
12
- llvm-8-dev, clang-8, zlib1g-dev, npm, yarn, wabt, unzip . \
13
- rust nightly, rustfmt, rust-src" \
12
+ llvm-8-dev, clang-8, python3, zlib1g-dev, npm, yarn, wabt. \
13
+ rust nightly, rustfmt, rust-src, solang, canvas-node " \
14
14
io.parity.image.source="https://github.com/paritytech/scripts/blob/${VCS_REF}/\
15
15
dockerfiles/contracts-ci-linux/Dockerfile" \
16
16
io.parity.image.documentation="https://github.com/paritytech/scripts/blob/${VCS_REF}/\
17
17
dockerfiles/contracts-ci-linux/README.md" \
18
18
io.parity.image.revision="${VCS_REF}" \
19
19
io.parity.image.created="${BUILD_DATE}"
20
20
21
+ WORKDIR /builds
22
+
23
+ ENV SHELL /bin/bash
24
+
25
+ ENV CXX="/usr/bin/clang++-8"
26
+
21
27
# copy llvm and yarn repo key
22
28
COPY utility/debian-llvm-clang.key /etc/apt/trusted.gpg.d/debian-archive-llvm.gpg
23
29
COPY utility/yarn.key /etc/apt/trusted.gpg.d/debian-yarn.gpg
@@ -33,24 +39,32 @@ RUN set -eux; \
33
39
apt-get -y update; \
34
40
apt-get remove -y --purge clang; \
35
41
apt-get install -y --no-install-recommends \
36
- llvm-8-dev clang-8 zlib1g-dev npm yarn wabt unzip; \
37
- # set a link to clang-8
42
+ zlib1g-dev llvm-8-dev clang-8 python3 npm yarn wabt; \
43
+ # set links to clang-8 and python3
44
+ update-alternatives --install /usr/bin/python python /usr/bin/python3 100; \
38
45
update-alternatives --install /usr/bin/clang clang /usr/bin/clang-8 100; \
39
46
update-alternatives --install /usr/bin/cc cc /usr/bin/clang-8 100; \
47
+ update-alternatives --install /usr/bin/c++ c++ /usr/bin/clang++-8 100; \
40
48
# Installs the latest common nightly for the listed components,
41
49
# adds those components, wasm target and sets the profile to minimal
42
50
rustup toolchain install nightly --target wasm32-unknown-unknown \
43
- --profile minimal --component rustfmt rust-src; \
51
+ --profile minimal --component rustfmt rust-src; \
44
52
rustup default nightly; \
45
53
cargo install pwasm-utils-cli --bin wasm-prune; \
46
54
cargo install cargo-contract; \
47
- cargo install --git https://github.com/hyperledger-labs/solang --tag m7; \
48
- cargo install --git https://github.com/paritytech/canvas-node --tag v0.1.2; \
55
+ # tried v0.1.5 and the latest master - both fail with https://github.com/hyperledger-labs/solang/issues/314
56
+ cargo install --git https://github.com/hyperledger-labs/solang --tag v0.1.2; \
57
+ # download the latest canvas-node binary
58
+ curl -L "https://gitlab.parity.io/parity/canvas-node/-/jobs/artifacts/master/raw/artifacts/canvas/canvas?job=build" \
59
+ -o /usr/local/cargo/bin/canvas; \
60
+ chmod +x /usr/local/cargo/bin/canvas; \
49
61
# versions
50
62
yarn --version; \
51
63
rustup show; \
52
64
cargo --version; \
53
65
solang --version; \
66
+ canvas --version; \
67
+ python --version; \
54
68
# cargo clean up
55
69
# removes compilation artifacts cargo install creates (>250M)
56
70
rm -rf "${CARGO_HOME}/registry" "${CARGO_HOME}/git" /root/.cache/sccache; \
0 commit comments