mirror of
https://github.com/windmill-labs/windmill.git
synced 2026-08-19 16:02:14 +00:00
ci: use cargo check to cache dockerfile #828
This commit is contained in:
+24
-55
@@ -19,6 +19,23 @@ RUN git clone -b master --single-branch https://github.com/google/nsjail.git . \
|
||||
&& git checkout dccf911fd2659e7b08ce9507c25b2b38ec2c5800
|
||||
RUN make
|
||||
|
||||
FROM rust:slim-buster AS rust_base
|
||||
|
||||
RUN apt-get update && apt-get install -y git libssl-dev pkg-config npm
|
||||
|
||||
RUN apt-get -y update \
|
||||
&& apt-get install -y \
|
||||
curl lld nodejs npm
|
||||
|
||||
RUN rustup component add rustfmt
|
||||
|
||||
RUN cargo install cargo-chef
|
||||
|
||||
WORKDIR /windmill
|
||||
|
||||
ENV SQLX_OFFLINE=true
|
||||
ENV CARGO_INCREMENTAL=1
|
||||
|
||||
FROM node:19-alpine as frontend
|
||||
|
||||
# install dependencies
|
||||
@@ -36,69 +53,21 @@ ENV NODE_OPTIONS "--max-old-space-size=8192"
|
||||
RUN npm run build
|
||||
RUN npm run check
|
||||
|
||||
FROM rust:slim-buster as builder
|
||||
|
||||
RUN apt-get update && apt-get install -y git libssl-dev pkg-config npm
|
||||
|
||||
RUN apt-get -y update \
|
||||
&& apt-get install -y \
|
||||
curl lld nodejs npm
|
||||
|
||||
RUN rustup component add rustfmt
|
||||
|
||||
RUN USER=root cargo new --bin windmill
|
||||
WORKDIR /windmill
|
||||
FROM rust_base AS planner
|
||||
|
||||
COPY ./openflow.openapi.yaml /openflow.openapi.yaml
|
||||
COPY ./backend ./
|
||||
|
||||
RUN USER=root cargo new --bin windmill
|
||||
RUN USER=root cargo new --lib windmill-api
|
||||
RUN USER=root cargo new --lib windmill-audit
|
||||
RUN USER=root cargo new --lib windmill-queue
|
||||
RUN USER=root cargo new --lib windmill-worker
|
||||
WORKDIR /windmill/parsers
|
||||
RUN USER=root cargo new --lib windmill-parser
|
||||
RUN USER=root cargo new --lib windmill-parser-go
|
||||
RUN USER=root cargo new --lib windmill-parser-py
|
||||
RUN USER=root cargo new --lib windmill-parser-ts
|
||||
WORKDIR /windmill
|
||||
RUN cargo chef prepare --recipe-path recipe.json
|
||||
|
||||
ENV SQLX_OFFLINE=true
|
||||
FROM rust_base AS builder
|
||||
|
||||
# COPY ./backend/Cargo.toml .
|
||||
# COPY ./backend/windmill-api/Cargo.toml ./windmill-api/
|
||||
# COPY ./backend/windmill-audit/Cargo.toml ./windmill-audit/
|
||||
# COPY ./backend/sqlx-data.json ./
|
||||
# COPY ./backend/windmill-common ./windmill-common
|
||||
# COPY ./backend/windmill-queue/Cargo.toml ./windmill-common/
|
||||
# COPY ./backend/windmill-queue/Cargo.toml ./windmill-queue/
|
||||
# COPY ./backend/windmill-worker/Cargo.toml ./windmill-worker/
|
||||
# COPY ./backend/parsers/windmill-parser/Cargo.toml ./parsers/windmill-parser/
|
||||
# COPY ./backend/parsers/windmill-parser-go/Cargo.toml ./parsers/windmill-parser-go/
|
||||
# COPY ./backend/parsers/windmill-parser-py/Cargo.toml ./parsers/windmill-parser-py/
|
||||
# COPY ./backend/parsers/windmill-parser-ts/Cargo.toml ./parsers/windmill-parser-ts/
|
||||
# COPY ./backend/.cargo/ .cargo/
|
||||
COPY --from=planner /windmill/recipe.json recipe.json
|
||||
|
||||
# COPY ./backend/windmill-api-client/ ./windmill-api-client/
|
||||
# COPY ./backend/windmill-api/openapi.yaml ./windmill-api/openapi.yaml
|
||||
|
||||
ENV CARGO_INCREMENTAL=1
|
||||
|
||||
# RUN cargo build --release
|
||||
# RUN rm ./src/*.rs
|
||||
# RUN rm ./windmill-api/src/*.rs
|
||||
# RUN rm ./windmill-api-client/src/*.rs
|
||||
# RUN rm ./windmill-audit/src/*.rs
|
||||
# RUN rm ./windmill-common/src/*.rs
|
||||
# RUN rm ./windmill-queue/src/*.rs
|
||||
# RUN rm ./windmill-worker/src/*.rs
|
||||
# RUN rm ./parsers/windmill-parser/src/*.rs
|
||||
# RUN rm ./parsers/windmill-parser-go/src/*.rs
|
||||
# RUN rm ./parsers/windmill-parser-py/src/*.rs
|
||||
# RUN rm ./parsers/windmill-parser-ts/src/*.rs
|
||||
|
||||
# RUN rm -r ./target/release/deps/windmill*
|
||||
RUN cargo chef cook --release --recipe-path recipe.json
|
||||
|
||||
COPY ./openflow.openapi.yaml /openflow.openapi.yaml
|
||||
COPY ./backend ./
|
||||
|
||||
COPY --from=frontend /frontend /frontend
|
||||
|
||||
Reference in New Issue
Block a user