Skip to content

Commit

Permalink
update CI to build for x86_64
Browse files Browse the repository at this point in the history
  • Loading branch information
JonathanArns committed Oct 28, 2024
1 parent 5a4aba0 commit 6da5129
Show file tree
Hide file tree
Showing 3 changed files with 17 additions and 43 deletions.
10 changes: 5 additions & 5 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ on:

jobs:
docker_build:
runs-on: "macos-latest"
runs-on: "ubuntu-latest"
steps:
- name: Checkout
uses: actions/checkout@v4
Expand All @@ -17,10 +17,10 @@ jobs:
password: ${{secrets.DOCKER_PASS}}
- name: Build and push event engine
run: |
docker build --tag jonathanarns/sparkling-event-engine:arm64 -f event-engine.Dockerfile .
docker push jonathanarns/sparkling-event-engine:arm64
docker build --tag jonathanarns/sparkling-event-engine:latest -f event-engine.Dockerfile .
docker push jonathanarns/sparkling-event-engine:latest
- name: Build and push server
run: |
docker build --file server.Dockerfile --tag jonathanarns/sparkling-server:arm64 -f server.Dockerfile .
docker push jonathanarns/sparkling-server:arm64
docker build --file server.Dockerfile --tag jonathanarns/sparkling-server:latest -f server.Dockerfile .
docker push jonathanarns/sparkling-server:latest
25 changes: 6 additions & 19 deletions event-engine.Dockerfile
Original file line number Diff line number Diff line change
@@ -1,9 +1,5 @@
# must be underscore otherwise RUN rm ./target/release/deps/${my_appname}* will fail
ARG my_appname=event_engine

FROM rust:bookworm as build
ARG my_appname
ENV my_appname=$my_appname
FROM rust:bookworm AS build
ARG TARGETPLATFORM

WORKDIR /workspace/

Expand All @@ -21,22 +17,13 @@ RUN touch ./rust-crates/event-engine/src/main.rs

# build, with dependency cache
RUN --mount=type=cache,target=/usr/local/cargo/registry,id="reg-${TARGETPLATFORM}" \
--mount=type=cache,target=target,id="target-${my_appname}-${TARGETPLATFORM}" \
--mount=type=cache,target=target,id="target-event-engine-${TARGETPLATFORM}" \
cargo build --release && \
mkdir bin && \
mv target/release/${my_appname} bin/${my_appname}

mv target/release/event-engine bin/event-engine

# our final base
FROM debian:bookworm-slim
ARG my_appname
ENV my_appname=$my_appname

# install OS dependencies
RUN apt-get update && apt-get install -y ca-certificates libssl-dev && rm -rf /var/lib/apt/lists/*

# copy the build artifact from the build cache
COPY --from=build /workspace/bin/${my_appname} /usr/local/bin/${my_appname}

# set the startup command to run your binary
CMD ${my_appname}
COPY --from=build /workspace/bin/event-engine /usr/local/bin/event-engine
CMD event-engine
25 changes: 6 additions & 19 deletions server.Dockerfile
Original file line number Diff line number Diff line change
@@ -1,9 +1,5 @@
# must be underscore otherwise RUN rm ./target/release/deps/${my_appname}* will fail
ARG my_appname=server

FROM rust:bookworm as build
ARG my_appname
ENV my_appname=$my_appname
FROM rust:bookworm AS build
ARG TARGETPLATFORM

WORKDIR /workspace/

Expand All @@ -22,23 +18,14 @@ COPY ./website/ ./website/

# build, with dependency cache
RUN --mount=type=cache,target=/usr/local/cargo/registry,id="reg-${TARGETPLATFORM}" \
--mount=type=cache,target=target,id="target-${my_appname}-${TARGETPLATFORM}" \
--mount=type=cache,target=target,id="target-server-${TARGETPLATFORM}" \
cargo build --release && \
mkdir bin && \
mv target/release/${my_appname} bin/${my_appname}

mv target/release/server bin/server

# our final base
FROM debian:bookworm-slim
ARG my_appname
ENV my_appname=$my_appname

# install OS dependencies
RUN apt-get update && apt-get install -y ca-certificates libssl-dev && rm -rf /var/lib/apt/lists/*

# copy the build artifact from the build cache
COPY --from=build /workspace/bin/${my_appname} /usr/local/bin/${my_appname}
COPY --from=build /workspace/bin/server /usr/local/bin/server
COPY ./website/ ./website/

# set the startup command to run your binary
CMD ${my_appname}
CMD server

0 comments on commit 6da5129

Please sign in to comment.