Update CI
This commit is contained in:
parent
b486e5e590
commit
43e526c834
3 changed files with 49 additions and 46 deletions
|
|
@ -1,20 +1,15 @@
|
|||
#!/usr/bin/env bash
|
||||
|
||||
export EDITION=$1
|
||||
export BA="--network=host --build-arg EDITION=$1 --build-arg DATABASE_URL="$DATABASE_URL""
|
||||
source /etc/environment
|
||||
: "${RNEX_CONTAINER_PLATFORM:=podman}"
|
||||
export BUILDKIT_PROGRESS=plain
|
||||
|
||||
# $RNEX_CONTAINER_PLATFORM build $BA -t "$CI_REGISTRY_IMAGE/$EDITION/dev-container:latest" --target=dev-container .
|
||||
# $RNEX_CONTAINER_PLATFORM push "$CI_REGISTRY_IMAGE/$EDITION/dev-container:latest"
|
||||
$RNEX_CONTAINER_PLATFORM build $BA -t "$CI_REGISTRY_IMAGE/$EDITION/node-holder:$CI_COMMIT_SHORT_SHA" --target=node-holder .
|
||||
$RNEX_CONTAINER_PLATFORM build $BA -t "$CI_REGISTRY_IMAGE/$EDITION/proxy-secure:$CI_COMMIT_SHORT_SHA" --target=proxy-secure .
|
||||
$RNEX_CONTAINER_PLATFORM build $BA -t "$CI_REGISTRY_IMAGE/$EDITION/proxy-insecure:$CI_COMMIT_SHORT_SHA" --target=proxy-insecure .
|
||||
$RNEX_CONTAINER_PLATFORM build $BA -t "$CI_REGISTRY_IMAGE/$EDITION/backend-auth:$CI_COMMIT_SHORT_SHA" --target=backend-auth .
|
||||
$RNEX_CONTAINER_PLATFORM build $BA -t "$CI_REGISTRY_IMAGE/$EDITION/backend-secure:$CI_COMMIT_SHORT_SHA" --target=backend-secure .
|
||||
$RNEX_CONTAINER_PLATFORM push "$CI_REGISTRY_IMAGE/$EDITION/node-holder:$CI_COMMIT_SHORT_SHA"
|
||||
$RNEX_CONTAINER_PLATFORM push "$CI_REGISTRY_IMAGE/$EDITION/proxy-secure:$CI_COMMIT_SHORT_SHA"
|
||||
$RNEX_CONTAINER_PLATFORM push "$CI_REGISTRY_IMAGE/$EDITION/proxy-insecure:$CI_COMMIT_SHORT_SHA"
|
||||
$RNEX_CONTAINER_PLATFORM push "$CI_REGISTRY_IMAGE/$EDITION/backend-auth:$CI_COMMIT_SHORT_SHA"
|
||||
$RNEX_CONTAINER_PLATFORM push "$CI_REGISTRY_IMAGE/$EDITION/backend-secure:$CI_COMMIT_SHORT_SHA"
|
||||
for TARGET in node-holder proxy-secure proxy-insecure backend-auth backend-secure; do
|
||||
$RNEX_CONTAINER_PLATFORM build \
|
||||
--network=host \
|
||||
--build-arg EDITION="$EDITION" \
|
||||
--build-arg DATABASE_URL="$DATABASE_URL" \
|
||||
-t "$CI_REGISTRY_IMAGE/$EDITION/$TARGET:$CI_COMMIT_SHORT_SHA" \
|
||||
--target="$TARGET" .
|
||||
|
||||
$RNEX_CONTAINER_PLATFORM push "$CI_REGISTRY_IMAGE/$EDITION/$TARGET:$CI_COMMIT_SHORT_SHA"
|
||||
done
|
||||
52
Dockerfile
52
Dockerfile
|
|
@ -1,43 +1,57 @@
|
|||
FROM rust:alpine AS build-container
|
||||
|
||||
RUN apk add --no-cache protobuf-dev git musl-dev lld openssl-dev openssl-libs-static yq bash
|
||||
|
||||
FROM build-container AS builder
|
||||
|
||||
# syntax=docker/dockerfile:1
|
||||
FROM rust:alpine AS chef
|
||||
RUN apk add --no-cache musl-dev lld g++ make
|
||||
RUN cargo install cargo-chef
|
||||
WORKDIR /app
|
||||
|
||||
FROM chef AS planner
|
||||
COPY . .
|
||||
RUN cargo chef prepare --recipe-path recipe.json
|
||||
|
||||
FROM chef AS builder
|
||||
RUN apk add --no-cache protobuf-dev git openssl-dev openssl-libs-static bash yq
|
||||
|
||||
COPY --from=planner /app/recipe.json recipe.json
|
||||
ARG EDITION
|
||||
ARG DATABASE_URL
|
||||
|
||||
RUN git submodule update --init --recursive
|
||||
RUN --mount=type=cache,target=/usr/local/cargo/registry \
|
||||
--mount=type=cache,target=/app/target \
|
||||
cargo chef cook --release --recipe-path recipe.json --target x86_64-unknown-linux-musl && \
|
||||
cargo chef cook --tests --target x86_64-unknown-linux-musl --recipe-path recipe.json
|
||||
|
||||
COPY . .
|
||||
RUN --mount=type=cache,target=/usr/local/cargo/registry \
|
||||
--mount=type=cache,target=/app/target \
|
||||
./test-edition.sh && ./build-edition.sh && \
|
||||
mkdir -p /app/dist && \
|
||||
cp /app/target/x86_64-unknown-linux-musl/release/edge_node_holder_server /app/dist/ && \
|
||||
cp /app/target/x86_64-unknown-linux-musl/release/proxy_insecure /app/dist/ && \
|
||||
cp /app/target/x86_64-unknown-linux-musl/release/proxy_secure /app/dist/ && \
|
||||
cp /app/target/x86_64-unknown-linux-musl/release/backend_server_insecure /app/dist/ && \
|
||||
cp /app/target/x86_64-unknown-linux-musl/release/backend_server_secure /app/dist/
|
||||
|
||||
RUN ./test-edition.sh
|
||||
RUN ./build-edition.sh
|
||||
|
||||
FROM scratch AS node-holder
|
||||
COPY --from=builder /app/target/x86_64-unknown-linux-musl/release/edge_node_holder_server /edge_node_holder_server
|
||||
COPY --from=builder /app/dist/edge_node_holder_server /edge_node_holder_server
|
||||
ENTRYPOINT ["/edge_node_holder_server"]
|
||||
|
||||
|
||||
FROM scratch AS proxy-insecure
|
||||
COPY --from=builder /app/target/x86_64-unknown-linux-musl/release/proxy_insecure /proxy_insecure
|
||||
COPY --from=builder /app/dist/proxy_insecure /proxy_insecure
|
||||
ENTRYPOINT ["/proxy_insecure"]
|
||||
|
||||
FROM scratch AS proxy-secure
|
||||
COPY --from=builder /app/target/x86_64-unknown-linux-musl/release/proxy_secure /proxy_secure
|
||||
COPY --from=builder /app/dist/proxy_secure /proxy_secure
|
||||
ENTRYPOINT ["/proxy_secure"]
|
||||
|
||||
|
||||
FROM scratch AS backend-auth
|
||||
COPY --from=builder /app/target/x86_64-unknown-linux-musl/release/backend_server_insecure /backend_server_insecure
|
||||
COPY --from=builder /app/dist/backend_server_insecure /backend_server_insecure
|
||||
ENTRYPOINT ["/backend_server_insecure"]
|
||||
|
||||
FROM scratch AS backend-secure
|
||||
COPY --from=builder /app/target/x86_64-unknown-linux-musl/release/backend_server_secure /backend_server_secure
|
||||
COPY --from=builder /app/dist/backend_server_secure /backend_server_secure
|
||||
ENTRYPOINT ["/backend_server_secure"]
|
||||
|
||||
# make sure the final output container is the dev container so that we can use it from the devcontainer.json
|
||||
FROM build-container AS dev-container
|
||||
RUN apk add openjdk21-jdk gcompat
|
||||
FROM chef AS dev-container
|
||||
RUN apk add --no-cache openjdk21-jdk gcompat git bash protobuf-dev
|
||||
COPY --from=builder /app/dist/* /usr/local/bin/
|
||||
18
README.md
18
README.md
|
|
@ -1,20 +1,14 @@
|
|||
# Splatoon NEX Server in Rust
|
||||
|
||||
## Credits:
|
||||
- Pretendo team for the rest of the Servers and Reverse engineering efforts
|
||||
- Pretendo team for their reverse engineering efforts
|
||||
- Kinnay for his huge work on reversing nex servers and documentation(https://github.com/Kinnay/NintendoClients/)
|
||||
- Splatfestival testing team for helping us test our messes of code
|
||||
- The SPFN team(Bloxer, Ceantix and RusticMaple)
|
||||
- The SPFN team(RusticMaple, BloxerHD, Ceantix, RedBinder0526)
|
||||
|
||||
This nex implementation was not created and is not intended to compete with pretendo,
|
||||
we wholeheartedly support pretendo.
|
||||
This NEX implementation was not created to rival Pretendo, we don't want any bad blood between anyone.
|
||||
This project would never have been possible without their reverse engineering efforts.
|
||||
As such if you want to respect the Authors wishes(Maple(Me) is pretty much the sole author of Rust-Nex), do not
|
||||
use it if you mean any harm to pretendo. If you do show intent to harm them you will be blocked from ever contributing
|
||||
and will be refused support, as such please also refrain from asking for support if you have been blocked by pretendo.
|
||||
As such if you want to respect the Authors wishes, do not use it if you mean any harm to Pretendo. (harm falls under e.g. using this software while also sabotaging pretendo) If you do show intent to harm them you will be blocked from ever contributing and will be refused support.
|
||||
|
||||
|
||||
I felt like this needed to be said as there are far too many pretendo copycats who blatantly copy their code and use
|
||||
their reversal efforts with no credits in sight in an attempt to harm them for some grudge or stupid reason.
|
||||
I feel that by working together and not against each other we can reach a better and healthier future for the community,
|
||||
health of developers and numerous more reasons.
|
||||
We felt like this needed to be said as there are far too many Pretendo copycats who blatantly copy their code and use their reversal efforts with no credits in sight in an attempt to harm them for some grudge or stupid reason.
|
||||
We feel that by working together and not against each other we can reach a better and healthier future for the community, health of developers and numerous more reasons.
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue