1
0
mirror of https://github.com/Llewellynvdm/starship.git synced 2024-12-28 12:10:52 +00:00
starship/tests/Dockerfile

39 lines
1.1 KiB
Docker

FROM rust:1.34.0
# Install Node.js
ENV NODE_VERSION 12.0.0
RUN curl https://raw.githubusercontent.com/creationix/nvm/master/install.sh | bash \
&& . $HOME/.nvm/nvm.sh \
&& nvm install $NODE_VERSION \
&& nvm alias default $NODE_VERSION \
&& nvm use default
ENV PATH /root/.nvm/versions/node/v$NODE_VERSION/bin:$PATH
# Check that Node.js was correctly installed
RUN node --version
# Create blank project
RUN USER=root cargo new --bin starship
WORKDIR /starship
# We want dependencies cached, so copy those first
COPY ./Cargo.lock ./Cargo.lock
COPY ./Cargo.toml ./Cargo.toml
# Cargo.toml will fail to parse without my_benchmark
RUN mkdir benches
RUN touch benches/my_benchmark.rs
# This is a dummy build to get dependencies cached
RUN rustup install stable
RUN rustup run stable cargo build --release
# Delete the dummy build
RUN rm -rf /starship
# Create the directory for the real source files
RUN mkdir starship
WORKDIR /starship
# Run with rustup to use stable instead of the Rust default
CMD [ "rustup", "run", "stable", "cargo", "test", "--", "--ignored"]