diff --git a/.github/workflows/rproxy_release.yaml b/.github/workflows/rproxy_release.yaml index 6eb53c6..1f889b1 100644 --- a/.github/workflows/rproxy_release.yaml +++ b/.github/workflows/rproxy_release.yaml @@ -100,44 +100,8 @@ jobs: . $HOME/.cargo/env - export CARGO_INCREMENTAL=0 - export CFLAGS="-D__TIME__=\"\" -D__DATE__=\"\"" - export CXXFLAGS="-D__TIME__=\"\" -D__DATE__=\"\"" - export LC_ALL=C - export SOURCE_DATE_EPOCH=$(git log -1 --pretty=%ct) - export TZ=UTC - - export RUSTFLAGS="\ - --cfg tracing_unstable \ - -C metadata=host \ - " - - export CARGO_TARGET_X86_64_UNKNOWN_LINUX_GNU_RUSTFLAGS="\ - --cfg tracing_unstable \ - --remap-path-prefix /app=. \ - -C codegen-units=1 \ - -C embed-bitcode=no \ - -C link-arg=-static-libgcc \ - -C link-arg=-Wl,--build-id=none \ - -C metadata=target \ - -C target-feature=+crt-static \ - " - - export CARGO_TARGET_AARCH64_UNKNOWN_LINUX_GNU_RUSTFLAGS="\ - --cfg tracing_unstable \ - --remap-path-prefix /app=. \ - -C codegen-units=1 \ - -C embed-bitcode=no \ - -C link-arg=-static-libgcc \ - -C link-arg=-Wl,--build-id=none \ - -C metadata=target \ - -C target-feature=+crt-static \ - " - - cargo build --package rproxy \ - --locked \ - --release \ - --target ${{ matrix.configs.target }} + TARGET="${{ matrix.configs.target }}" \ + ./build.sh - name: upload the binary artifact uses: actions/upload-artifact@v4 diff --git a/Cargo.lock b/Cargo.lock index 041667c..2971df2 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -3079,7 +3079,7 @@ dependencies = [ [[package]] name = "rproxy" -version = "0.0.5" +version = "0.0.6" dependencies = [ "actix", "actix-http", diff --git a/Dockerfile b/Dockerfile index 1bfd4f0..2fcfae9 100644 --- a/Dockerfile +++ b/Dockerfile @@ -18,44 +18,13 @@ WORKDIR /app COPY . . COPY ./.cargo ./ -ENV CARGO_INCREMENTAL="0" -ENV CFLAGS="-D__TIME__=\"\" -D__DATE__=\"\"" -ENV CXXFLAGS="-D__TIME__=\"\" -D__DATE__=\"\"" -ENV LC_ALL="C" -ENV RUSTFLAGS="--cfg tracing_unstable -C metadata=host" -ENV TZ="UTC" - -ENV CARGO_TARGET_X86_64_UNKNOWN_LINUX_GNU_RUSTFLAGS="\ - --cfg tracing_unstable \ - --remap-path-prefix /app=. \ - -C codegen-units=1 \ - -C embed-bitcode=no \ - -C link-arg=-static-libgcc \ - -C link-arg=-Wl,--build-id=none \ - -C metadata=target \ - -C target-feature=+crt-static \ - " - -ENV CARGO_TARGET_AARCH64_UNKNOWN_LINUX_GNU_RUSTFLAGS="\ - --cfg tracing_unstable \ - --remap-path-prefix /app=. \ - -C codegen-units=1 \ - -C embed-bitcode=no \ - -C link-arg=-static-libgcc \ - -C link-arg=-Wl,--build-id=none \ - -C metadata=target \ - -C target-feature=+crt-static \ - " - -RUN SOURCE_DATE_EPOCH=$(git log -1 --pretty=%ct) \ - cargo build --package rproxy \ - --release \ - --locked +RUN ./build.sh +RUN cp target/$( rustc --print host-tuple )/release/rproxy target/rproxy FROM gcr.io/distroless/cc-debian12 AS runtime WORKDIR /app -COPY --from=builder /app/target/release/rproxy ./ +COPY --from=builder /app/target/rproxy ./ ENTRYPOINT [ "/app/rproxy" ] diff --git a/Makefile b/Makefile index ed54621..f535147 100644 --- a/Makefile +++ b/Makefile @@ -2,7 +2,7 @@ SHELL := /bin/bash .PHONY: build build: - @cargo --verbose build + @./build.sh .PHONY: fmt fmt: diff --git a/build.sh b/build.sh new file mode 100755 index 0000000..977ed59 --- /dev/null +++ b/build.sh @@ -0,0 +1,31 @@ +#!/bin/bash + +export CARGO_INCREMENTAL=0 +export CFLAGS="-D__TIME__=\"\" -D__DATE__=\"\"" +export CXXFLAGS="-D__TIME__=\"\" -D__DATE__=\"\"" +export LC_ALL=C +export SOURCE_DATE_EPOCH=$(git log -1 --pretty=%ct) +export TZ=UTC + +TARGET=${TARGET:-$( rustc --print host-tuple )} + +export RUSTFLAGS="\ + --cfg tracing_unstable \ + -C metadata=host \ +" + +export CARGO_TARGET_$( echo "${TARGET}" | tr '[:lower:]' '[:upper:]' | tr '-' '_' )_RUSTFLAGS="\ + --cfg tracing_unstable \ + --remap-path-prefix /app=. \ + -C codegen-units=1 \ + -C embed-bitcode=no \ + -C link-arg=-static-libgcc \ + -C link-arg=-Wl,--build-id=none \ + -C metadata=target \ + -C target-feature=+crt-static \ +" + +cargo build --package rproxy \ + --locked \ + --release \ + --target ${TARGET} diff --git a/crates/rproxy/Cargo.toml b/crates/rproxy/Cargo.toml index b9d7d10..41d7572 100644 --- a/crates/rproxy/Cargo.toml +++ b/crates/rproxy/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "rproxy" -version = "0.0.5" +version = "0.0.6" edition = "2024" default-run = "rproxy"