918bda14ec
* rewrite circleci config with better syntax and try using grcov for coverage * attempt to use less memory and to rerun if memory lack * actually remove use of kcov * use the right var * try looping * run test serialized * use feature where we should and make macro path independant * cargo fmt and remove some '"' * add zip to dependancies * reduce number of used thread after first failure * push translations to crowdin on commit to master * don't cache result of coverage
38 lines
1.5 KiB
Docker
38 lines
1.5 KiB
Docker
FROM debian:stretch-20190326
|
|
ENV PATH="/root/.cargo/bin:${PATH}"
|
|
|
|
#install native/circleci/build dependancies
|
|
RUN apt update &&\
|
|
apt install -y --no-install-recommends git ssh tar gzip ca-certificates default-jre&&\
|
|
apt install -y --no-install-recommends binutils-dev build-essential cmake curl gcc gettext git libcurl4-openssl-dev libdw-dev libelf-dev libiberty-dev libpq-dev libsqlite3-dev libssl-dev make openssl pkg-config postgresql postgresql-contrib python zlib1g-dev python3-pip zip unzip &&\
|
|
rm -rf /var/lib/apt/lists/*
|
|
|
|
#install and configure rust
|
|
RUN curl https://sh.rustup.rs -sSf | sh -s -- --default-toolchain nightly-2019-03-23 -y &&\
|
|
rustup component add rustfmt clippy &&\
|
|
rustup component add rust-std --target wasm32-unknown-unknown
|
|
|
|
#compile some deps
|
|
RUN cargo install cargo-web &&\
|
|
cargo install grcov &&\
|
|
strip /root/.cargo/bin/* &&\
|
|
rm -fr ~/.cargo/registry
|
|
|
|
#set some compilation parametters
|
|
COPY cargo_config /root/.cargo/config
|
|
|
|
#install selenium for front end tests
|
|
RUN pip3 install selenium
|
|
|
|
#install and configure caddy
|
|
RUN curl https://getcaddy.com | bash -s personal
|
|
COPY Caddyfile /Caddyfile
|
|
|
|
#install crowdin
|
|
RUN mkdir /crowdin && cd /crowdin &&\
|
|
curl -O https://downloads.crowdin.com/cli/v2/crowdin-cli.zip &&\
|
|
unzip crowdin-cli.zip && rm crowdin-cli.zip &&\
|
|
cd * && mv crowdin-cli.jar /usr/local/bin && cd && rm -rf /crowdin &&\
|
|
/bin/echo -e '#!/bin/sh\njava -jar /usr/local/bin/crowdin-cli.jar $@' > /usr/local/bin/crowdin &&\
|
|
chmod +x /usr/local/bin/crowdin
|