-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathEarthfile
59 lines (48 loc) · 1.09 KB
/
Earthfile
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
FROM rust:1.47
WORKDIR /usr/src/tcr
deps-files:
COPY Cargo.lock .
COPY Cargo.toml .
deps:
FROM +code
RUN rustup component add clippy --toolchain 1.47.0-x86_64-unknown-linux-gnu
RUN cargo build --locked --release
RUN rm -rf target/release/deps/tcr*
SAVE ARTIFACT target target
code:
FROM +deps-files
COPY src src
test:
FROM +code
COPY +deps/target target
RUN cargo test --locked
build:
FROM +code
COPY +deps/target target
RUN cargo build --locked --release
RUN cargo --locked install --path .
SAVE ARTIFACT /usr/local/cargo/bin/tcr /tcr AS LOCAL build/tcr
docker:
COPY +build/tcr .
ENTRYPOINT ["/usr/src/tcr/tcr"]
SAVE IMAGE tcr:latest
fmt:
FROM +code
RUN rustup component add rustfmt --toolchain 1.47.0-x86_64-unknown-linux-gnu
RUN cargo fmt --all -- --check
clippy:
FROM +deps
RUN cargo clippy --all-targets --all-features
ci:
BUILD +fmt
BUILD +clippy
BUILD +test
BUILD +build
ci-macos:
BUILD +test
all:
BUILD +fmt
BUILD +clippy
BUILD +test
BUILD +build
BUILD +docker