FROM rust:1.43 as builder

WORKDIR /usr/src/jago

COPY ./Cargo.lock ./Cargo.lock
COPY ./Cargo.toml ./Cargo.toml
RUN echo "source=gitlab.com/jago-contributors/jago\ngit.clone_strategy=\"SSH\"" >> config.toml

## Cache build dependecies only
#
RUN mkdir src && echo "fn main() {}" >> src/main.rs
RUN cargo build --release
RUN rm src/*.rs
#
##
## Clean up and build binary.
#
COPY ./src ./src
RUN rm ./target/release/deps/jago*

RUN cargo build --release
#
##
FROM alpine:latest

WORKDIR /home/jago

COPY --from=builder /usr/src/jago/target/release/jago /usr/local/bin/jago

# Set up ssh cloning

EXPOSE 4242

CMD ["jago", "studio", "serve"]
