Update CI
Some checks failed
Build and Test / splatoon (push) Has been cancelled
Build and Test / wii-u-chat (push) Has been cancelled
Build and Test / friends (push) Has been cancelled
Build and Test / super-mario-maker (push) Has been cancelled

This commit is contained in:
SolidStateDrive 2026-04-29 01:21:47 +02:00
commit f3ea6b1725
3 changed files with 49 additions and 46 deletions

View file

@ -1,20 +1,15 @@
#!/usr/bin/env bash #!/usr/bin/env bash
export EDITION=$1 export EDITION=$1
export BA="--network=host --build-arg EDITION=$1 --build-arg DATABASE_URL="$DATABASE_URL""
source /etc/environment source /etc/environment
: "${RNEX_CONTAINER_PLATFORM:=podman}" : "${RNEX_CONTAINER_PLATFORM:=podman}"
export BUILDKIT_PROGRESS=plain
# $RNEX_CONTAINER_PLATFORM build $BA -t "$CI_REGISTRY_IMAGE/$EDITION/dev-container:latest" --target=dev-container . for TARGET in node-holder proxy-secure proxy-insecure backend-auth backend-secure; do
# $RNEX_CONTAINER_PLATFORM push "$CI_REGISTRY_IMAGE/$EDITION/dev-container:latest" $RNEX_CONTAINER_PLATFORM build \
$RNEX_CONTAINER_PLATFORM build $BA -t "$CI_REGISTRY_IMAGE/$EDITION/node-holder:$CI_COMMIT_SHORT_SHA" --target=node-holder . --network=host \
$RNEX_CONTAINER_PLATFORM build $BA -t "$CI_REGISTRY_IMAGE/$EDITION/proxy-secure:$CI_COMMIT_SHORT_SHA" --target=proxy-secure . --build-arg EDITION="$EDITION" \
$RNEX_CONTAINER_PLATFORM build $BA -t "$CI_REGISTRY_IMAGE/$EDITION/proxy-insecure:$CI_COMMIT_SHORT_SHA" --target=proxy-insecure . --build-arg DATABASE_URL="$DATABASE_URL" \
$RNEX_CONTAINER_PLATFORM build $BA -t "$CI_REGISTRY_IMAGE/$EDITION/backend-auth:$CI_COMMIT_SHORT_SHA" --target=backend-auth . -t "$CI_REGISTRY_IMAGE/$EDITION/$TARGET:$CI_COMMIT_SHORT_SHA" \
$RNEX_CONTAINER_PLATFORM build $BA -t "$CI_REGISTRY_IMAGE/$EDITION/backend-secure:$CI_COMMIT_SHORT_SHA" --target=backend-secure . --target="$TARGET" .
$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/$TARGET:$CI_COMMIT_SHORT_SHA"
$RNEX_CONTAINER_PLATFORM push "$CI_REGISTRY_IMAGE/$EDITION/proxy-insecure:$CI_COMMIT_SHORT_SHA" done
$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"

View file

@ -1,43 +1,57 @@
FROM rust:alpine AS build-container # syntax=docker/dockerfile:1
FROM rust:alpine AS chef
RUN apk add --no-cache protobuf-dev git musl-dev lld openssl-dev openssl-libs-static yq bash RUN apk add --no-cache musl-dev lld g++ make
RUN cargo install cargo-chef
FROM build-container AS builder
WORKDIR /app WORKDIR /app
FROM chef AS planner
COPY . . 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 EDITION
ARG DATABASE_URL 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 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"] ENTRYPOINT ["/edge_node_holder_server"]
FROM scratch AS proxy-insecure 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"] ENTRYPOINT ["/proxy_insecure"]
FROM scratch AS proxy-secure 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"] ENTRYPOINT ["/proxy_secure"]
FROM scratch AS backend-auth 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"] ENTRYPOINT ["/backend_server_insecure"]
FROM scratch AS backend-secure 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"] 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 chef AS dev-container
FROM build-container AS dev-container RUN apk add --no-cache openjdk21-jdk gcompat git bash protobuf-dev
RUN apk add openjdk21-jdk gcompat COPY --from=builder /app/dist/* /usr/local/bin/

View file

@ -1,20 +1,14 @@
# Splatoon NEX Server in Rust # Splatoon NEX Server in Rust
## Credits: ## 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/) - 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 - 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, This NEX implementation was not created to rival Pretendo, we don't want any bad blood between anyone.
we wholeheartedly support pretendo.
This project would never have been possible without their reverse engineering efforts. 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 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.
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.
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.
I felt like this needed to be said as there are far too many pretendo copycats who blatantly copy their code and use 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.
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.