mirror of
https://github.com/LemmyNet/lemmy.git
synced 2024-12-28 13:51:32 +00:00
a610211557
* Try to fix docker/drone plugin * Trying to use one rust image. * Fixing drone 1. * Fixing drone 2. * Add drone notify. * Fixing drone 3. * Fixing drone 4. * Fix clippy. * Remove uninlined format lint. * Combine all cargo tasks * Fixing drone 5. * Fixing drone 6. * Fixing drone 7. * Fixing drone 8. * Fixing drone 9. * Fixing drone 10. * Fixing drone 12. * Fixing drone 13. * Fixing drone 14. * Fixing drone 15. * Fixing drone 16. * Fixing drone 17. * Fixing drone 18. * Fixing drone 19. * Fixing drone 20. * Fixing drone 21. * Fixing drone 22. * Fixing drone 23. * Fixing drone 24. * Fixing drone 25. * Fixing drone 26. * Fixing drone 27. * Fixing drone 28. * Fixing drone 29. * Fixing drone 30. * Fixing drone 31. * Fixing drone 32. * Fixing drone 33. * Fixing drone 34. * Fixing drone 35. * Fixing drone 36. * Fixing drone 37. * Fixing drone 38. * Fixing drone 39. * Fixing drone 40. * Fixing drone 41. * Fixing drone 43. * Fixing drone 44. * Fixing drone 45. * Last cleanup. * Fixing drone 46. * Separate ci steps (#2679) * separate ci steps * fix 1 * add comments * dont add rustfmt explicitly * Revert "dont add rustfmt explicitly" This reverts commit 358ce3302a134b7ac88d90a854079356995e9725. * dont use all features for tests --------- Co-authored-by: Nutomic <me@nutomic.com>
44 lines
1,020 B
Docker
44 lines
1,020 B
Docker
ARG RUST_BUILDER_IMAGE=clux/muslrust:1.67.0
|
|
|
|
FROM $RUST_BUILDER_IMAGE as chef
|
|
USER root
|
|
RUN cargo install cargo-chef
|
|
WORKDIR /app
|
|
|
|
# Cargo chef plan
|
|
FROM chef as planner
|
|
ENV RUSTFLAGS="--cfg tokio_unstable"
|
|
|
|
# Copy dirs
|
|
COPY . .
|
|
|
|
RUN cargo chef prepare --recipe-path recipe.json
|
|
|
|
FROM chef as builder
|
|
ARG CARGO_BUILD_TARGET=x86_64-unknown-linux-musl
|
|
ARG RUSTRELEASEDIR="debug"
|
|
ENV RUSTFLAGS="--cfg tokio_unstable"
|
|
|
|
COPY --from=planner /app/recipe.json ./recipe.json
|
|
RUN cargo chef cook --recipe-path recipe.json --target ${CARGO_BUILD_TARGET}
|
|
|
|
# Copy the rest of the dirs
|
|
COPY . .
|
|
|
|
# Build the project
|
|
RUN echo "pub const VERSION: &str = \"$(git describe --tag)\";" > "crates/utils/src/version.rs"
|
|
RUN cargo build --target ${CARGO_BUILD_TARGET}
|
|
|
|
RUN cp ./target/$CARGO_BUILD_TARGET/$RUSTRELEASEDIR/lemmy_server /app/lemmy_server
|
|
|
|
# The alpine runner
|
|
FROM alpine:3 as lemmy
|
|
|
|
# Install libpq for postgres
|
|
RUN apk add libpq
|
|
|
|
# Copy resources
|
|
COPY --from=builder /app/lemmy_server /app/lemmy
|
|
|
|
EXPOSE 8536
|
|
CMD ["/app/lemmy"]
|