f13e9c3d10
## Issue Addressed Automates a build and push to antithesis servers on merges to unstable. They run tests against lighthouse daily and have requested more frequent pushes. Currently we are just manually pushing stable images when we have a new release. ## Proposed Changes - Add a `Dockerfile.libvoidstar` - Add the `libvoidstar.so` binary - Add a new workflow to autmatically build and push on merges to unstable ## Additional Info Requires adding the following secrets -`ANTITHESIS_USERNAME` -`ANTITHESIS_PASSWORD` -`ANTITHESIS_REPOSITORY` -`ANTITHESIS_SERVER` Tested here: https://github.com/realbigsean/lighthouse/actions/runs/1612821446 Co-authored-by: realbigsean <seananderson33@gmail.com> Co-authored-by: realbigsean <sean@sigmaprime.io>
27 lines
1.4 KiB
Docker
27 lines
1.4 KiB
Docker
FROM rust:1.56.1-bullseye AS builder
|
|
RUN apt-get update && apt-get -y upgrade && apt-get install -y cmake libclang-dev
|
|
COPY . lighthouse
|
|
|
|
# build lighthouse directly with a cargo build command, bypassing the makefile
|
|
RUN cd lighthouse && LD_LIBRARY_PATH=/lighthouse/testing/antithesis/libvoidstar/ RUSTFLAGS="-Cpasses=sancov -Cllvm-args=-sanitizer-coverage-level=3 -Cllvm-args=-sanitizer-coverage-trace-pc-guard -Ccodegen-units=1 -Cdebuginfo=2 -L/lighthouse/testing/antithesis/libvoidstar/ -lvoidstar" cargo build --release --manifest-path lighthouse/Cargo.toml --target x86_64-unknown-linux-gnu --features modern --verbose --bin lighthouse
|
|
|
|
# build lcli binary directly with cargo install command, bypassing the makefile
|
|
RUN cargo install --path /lighthouse/lcli --force --locked
|
|
|
|
FROM ubuntu:latest
|
|
RUN apt-get update && apt-get -y upgrade && apt-get install -y --no-install-recommends \
|
|
libssl-dev \
|
|
ca-certificates \
|
|
&& apt-get clean \
|
|
&& rm -rf /var/lib/apt/lists/*
|
|
|
|
# create and move the libvoidstar file
|
|
RUN mkdir libvoidstar
|
|
COPY --from=builder /lighthouse/testing/antithesis/libvoidstar/libvoidstar.so /usr/lib/libvoidstar.so
|
|
|
|
# set the env variable to avoid having to always set it
|
|
ENV LD_LIBRARY_PATH=/usr/lib
|
|
# move the lighthouse binary and lcli binary
|
|
COPY --from=builder /lighthouse/target/x86_64-unknown-linux-gnu/release/lighthouse /usr/local/bin/lighthouse
|
|
COPY --from=builder /lighthouse/target/release/lcli /usr/local/bin/lcli
|