Skip to content

Commit 04765a7

Browse files
committed
imager bin pre-release setup
1 parent 75b8e82 commit 04765a7

File tree

5 files changed

+65
-34
lines changed

5 files changed

+65
-34
lines changed

bin/.dockerignore

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
target/
2+
**/assets/output/
3+
**/assets/samples/

bin/.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
release/

bin/Dockerfile

Lines changed: 26 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -3,51 +3,49 @@
33
###############################################################################
44
FROM rust:latest as build
55

6-
# SYSTEM DEPENDENCIES
6+
# SETUP
7+
WORKDIR /code/
78
RUN apt-get -y update && \
89
apt-get -y upgrade && \
910
apt-get -y install build-essential software-properties-common curl git vim tree
1011

11-
# PROJECT DEPENDENCIES - CORE
12-
RUN apt-get install -y llvm-dev libclang-dev clang
13-
14-
# PROJECT DEPENDENCIES
15-
WORKDIR /code/
16-
RUN apt-get install -y openssl pkg-config libssl-dev && apt-get clean
1712

13+
# SYSTEM DEPENDENCIES
14+
RUN apt-get install -y llvm-dev libclang-dev clang openssl pkg-config libssl-dev
1815

16+
# BUILD PROJECT DEPENDENCIES FIRST
1917
RUN mkdir -p imager-cli/src imager-server/src
2018
RUN echo 'fn main() {panic!("stub")}' > imager-cli/src/main.rs
2119
RUN echo 'fn main() {panic!("stub")}' > imager-server/src/main.rs
2220
ADD Cargo.toml .
2321
ADD imager-cli/Cargo.toml imager-cli/Cargo.toml
2422
ADD imager-server/Cargo.toml imager-server/Cargo.toml
2523
RUN cargo build --release
26-
RUN cargo test
27-
28-
# # PROJECT ASSETS
29-
# ADD ./assets/test ./assets/test
3024

31-
# # PROJECT APPLICATION
32-
# RUN rm ./target/release/deps/imager*
33-
# ADD ./src/ ./src/
34-
# RUN cargo test
35-
# RUN cargo build --release
25+
# BUILD PROJECT CODE
26+
RUN rm target/release/deps/imager-* && \
27+
rm target/release/deps/imager_server-*
28+
ADD imager-cli/src imager-cli/src
29+
ADD imager-server/src imager-server/src
30+
RUN cargo build --release
3631

37-
# # INSTALL
38-
# RUN cargo install --force --path .
32+
# INSTALL
33+
RUN cargo install --force --path imager-cli && \
34+
cargo install --force --path imager-server
3935

4036

41-
# ###############################################################################
42-
# # RUNTIME ENVIRONMENT
43-
# ###############################################################################
44-
# FROM ubuntu:18.04 as runtime
37+
###############################################################################
38+
# RUNTIME ENVIRONMENT
39+
###############################################################################
40+
FROM ubuntu:18.04 as runtime
4541

46-
# # SETUP
47-
# RUN apt-get -y update && \
48-
# apt-get -y upgrade && \
49-
# apt-get -y install build-essential software-properties-common curl git vim tree
50-
# COPY --from=build /usr/local/cargo/bin/imager /bin/imager
42+
# SETUP
43+
RUN apt-get -y update && \
44+
apt-get -y upgrade && \
45+
apt-get -y install build-essential software-properties-common curl git vim tree
46+
COPY --from=build /usr/local/cargo/bin/imager /bin/imager
47+
COPY --from=build /usr/local/cargo/bin/imager-server /bin/imager-server
5148

5249
# SECURITY & SANITY CHECK
53-
# RUN sha1sum dist/native/libimager_nodejs.linux.node > dist/native/libimager_nodejs.linux.node.sha1
50+
RUN sha1sum /bin/imager > /bin/imager.sha1
51+
RUN sha1sum /bin/imager-server > /bin/imager-server.sha1

bin/scripts/build-release.sh

Lines changed: 32 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,35 @@
11
# NOTE: Assumes the host is a mac (since we need to build mac binaries too).
22
set -e
33

4-
mkdir -p release
4+
# CHECK COMMIT
5+
# GIT_RESULT=$(git status --porcelain)
6+
# if [[ "$GIT_RESULT" != "" ]]
7+
# then
8+
# echo "changed files needing to be committed"
9+
# exit 1
10+
# fi
11+
12+
# BUILD LINUX
13+
# ./scripts/docker/build.sh
14+
15+
# BUILD MACOS
16+
mkdir -p release/macos
17+
cargo install --force --root release/macos --path imager-cli
18+
cargo install --force --root release/macos --path imager-server
19+
rm release/macos/.crates.toml
20+
21+
# CHECKS - LINUX
22+
test -f release/linux/bin/imager || (echo "FAILED!"; exit 1)
23+
test -f release/linux/bin/imager.sha1 || (echo "FAILED!"; exit 1)
24+
test -f release/linux/bin/imager-server || (echo "FAILED!"; exit 1)
25+
test -f release/linux/bin/imager-server.sha1 || (echo "FAILED!"; exit 1)
26+
27+
# CHECKS - MACOS
28+
test -f release/macos/bin/imager || (echo "FAILED!"; exit 1)
29+
test -f release/macos/bin/imager-server || (echo "FAILED!"; exit 1)
30+
31+
# TEST
32+
# npm test
33+
34+
# PUBLISH
35+
# npm publish

bin/scripts/docker/build.sh

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -4,12 +4,10 @@ set -e
44
docker build --tag=imager-bins:latest .
55

66
# COPY - SETUP
7-
# DOCKER_CP_CODE='tar --to-stdout -C dist/native --create libimager_nodejs.linux.node libimager_nodejs.linux.node.sha1'
7+
mkdir -p release/linux/bin
8+
DOCKER_CP_CODE='tar --to-stdout -C /bin --create imager imager-server imager.sha1 imager-server.sha1'
89

910
# COPY TO DIST & LIB
10-
# docker run --rm imager-rs:latest /bin/sh -c "$DOCKER_CP_CODE" | tar -x -C dist/native
11-
# docker run --rm imager-rs:latest /bin/sh -c "$DOCKER_CP_CODE" | tar -x -C lib/native
11+
docker run --rm imager-bins:latest /bin/sh -c "$DOCKER_CP_CODE" | tar -x -C release/linux/bin
1212

13-
# CLEANUP
14-
# rm lib/native/libimager_nodejs.linux.node.sha1
1513

0 commit comments

Comments
 (0)