fix(ci): stabilize Rust and Docker builds

pull/433/head
zijiren233 1 month ago
parent be4d933a8b
commit 564f8bba08
No known key found for this signature in database
GPG Key ID: 534E082AAA9B39DC

@ -31,8 +31,9 @@ jobs:
- uses: actions/checkout@v5
- name: Install Rust toolchain
uses: dtolnay/rust-toolchain@nightly
uses: dtolnay/rust-toolchain@master
with:
toolchain: nightly-2026-08-21
components: rustfmt
- name: Check formatting
@ -46,8 +47,9 @@ jobs:
- uses: actions/checkout@v5
- name: Install Rust toolchain
uses: dtolnay/rust-toolchain@nightly
uses: dtolnay/rust-toolchain@master
with:
toolchain: nightly-2026-08-21
components: clippy
- name: Install build dependencies
@ -69,7 +71,9 @@ jobs:
- uses: actions/checkout@v5
- name: Install Rust toolchain
uses: dtolnay/rust-toolchain@nightly
uses: dtolnay/rust-toolchain@master
with:
toolchain: nightly-2026-08-21
- name: Install build dependencies
run: sudo apt-get update && sudo apt-get install -y protobuf-compiler nasm libclang-dev
@ -88,7 +92,9 @@ jobs:
- uses: actions/checkout@v5
- name: Install Rust toolchain
uses: dtolnay/rust-toolchain@nightly
uses: dtolnay/rust-toolchain@master
with:
toolchain: nightly-2026-08-21
- name: Install build dependencies
run: sudo apt-get update && sudo apt-get install -y protobuf-compiler nasm libclang-dev
@ -108,7 +114,9 @@ jobs:
- uses: actions/checkout@v5
- name: Install Rust toolchain
uses: dtolnay/rust-toolchain@nightly
uses: dtolnay/rust-toolchain@master
with:
toolchain: nightly-2026-08-21
- name: Install build dependencies
run: sudo apt-get update && sudo apt-get install -y protobuf-compiler nasm libclang-dev
@ -134,7 +142,9 @@ jobs:
- uses: actions/checkout@v5
- name: Install Rust toolchain
uses: dtolnay/rust-toolchain@nightly
uses: dtolnay/rust-toolchain@master
with:
toolchain: nightly-2026-08-21
- name: Install cargo-nextest
uses: taiki-e/install-action@nextest
@ -181,7 +191,9 @@ jobs:
- uses: actions/checkout@v5
- name: Install Rust toolchain
uses: dtolnay/rust-toolchain@nightly
uses: dtolnay/rust-toolchain@master
with:
toolchain: nightly-2026-08-21
- name: Install cargo-nextest
uses: taiki-e/install-action@nextest
@ -205,7 +217,9 @@ jobs:
- uses: actions/checkout@v5
- name: Install Rust toolchain
uses: dtolnay/rust-toolchain@nightly
uses: dtolnay/rust-toolchain@master
with:
toolchain: nightly-2026-08-21
- name: Install cargo-audit
run: make install-cargo-audit
@ -226,7 +240,9 @@ jobs:
- uses: actions/checkout@v5
- name: Install Rust toolchain
uses: dtolnay/rust-toolchain@nightly
uses: dtolnay/rust-toolchain@master
with:
toolchain: nightly-2026-08-21
- name: Install cargo-deny
run: make install-cargo-deny
@ -258,7 +274,9 @@ jobs:
- uses: actions/checkout@v5
- name: Install Rust nightly
uses: dtolnay/rust-toolchain@nightly
uses: dtolnay/rust-toolchain@master
with:
toolchain: nightly-2026-08-21
- name: Install build dependencies
run: sudo apt-get update && sudo apt-get install -y protobuf-compiler nasm libclang-dev

@ -49,7 +49,9 @@ jobs:
uses: azure/setup-helm@v4
- name: Install Rust toolchain
uses: dtolnay/rust-toolchain@nightly
uses: dtolnay/rust-toolchain@master
with:
toolchain: nightly-2026-08-21
- name: Install build dependencies
run: sudo apt-get update && sudo apt-get install -y protobuf-compiler nasm libclang-dev

@ -39,7 +39,9 @@ jobs:
uses: azure/setup-helm@v4
- name: Install Rust toolchain
uses: dtolnay/rust-toolchain@nightly
uses: dtolnay/rust-toolchain@master
with:
toolchain: nightly-2026-08-21
- name: Install build dependencies
run: sudo apt-get update && sudo apt-get install -y protobuf-compiler nasm libclang-dev

@ -28,7 +28,9 @@ jobs:
uses: actions/checkout@v5
- name: Install Rust toolchain
uses: dtolnay/rust-toolchain@nightly
uses: dtolnay/rust-toolchain@master
with:
toolchain: nightly-2026-08-21
- name: Normalize release version
id: version

@ -52,6 +52,7 @@ RUN apt-get update && apt-get install -y \
protobuf-compiler \
pkg-config \
build-essential \
lld \
libclang-dev \
nasm \
cmake \
@ -111,8 +112,8 @@ RUN --mount=type=cache,target=/usr/local/cargo/registry \
if [ -n "$SYNCTV_BUILD_FEATURES" ]; then \
build_flags="$build_flags --features $SYNCTV_BUILD_FEATURES"; \
fi; \
RUSTFLAGS="-Zthreads=$SYNCTV_RUSTC_THREADS -Zshare-generics=y -Clink-arg=-Wl,-z,pack-relative-relocs" \
cargo +nightly \
RUSTFLAGS="-Zthreads=$SYNCTV_RUSTC_THREADS -Clink-arg=-fuse-ld=lld -Clink-arg=-Wl,-z,pack-relative-relocs" \
cargo \
build $build_flags \
--jobs "$SYNCTV_CARGO_BUILD_JOBS" \
--bin synctv && \

@ -7,9 +7,8 @@ COMPOSE ?= docker compose
PROD_COMPOSE_FILE ?= docker-compose.yml
COMPOSE_PROD := $(COMPOSE) -f $(PROD_COMPOSE_FILE)
COMPOSE_ENV_FILES := .env.postgres .env.redis .env.synctv
RUST_TOOLCHAIN ?= nightly
CARGO ?= cargo +$(RUST_TOOLCHAIN)
CROSS ?= cargo cross +$(RUST_TOOLCHAIN)
CARGO ?= cargo
CROSS ?= cargo cross
CARGO_LOCKED ?= --locked
CARGO_WORKSPACE_ARGS ?= --workspace
CARGO_ALL_TARGETS_ARGS ?= --all-targets
@ -187,7 +186,7 @@ dev-check: ## Check required local tools.
@$(COMPOSE) version >/dev/null
@command -v rustup >/dev/null
@$(CARGO) --version >/dev/null
@printf "Docker, Docker Compose, and Cargo %s are available.\n" "$(RUST_TOOLCHAIN)"
@printf "Docker, Docker Compose, and Cargo are available.\n"
dev-env: ## Print local service URLs and credentials.
@printf "SyncTV: http://127.0.0.1:8080 root / %s\n" "$(DEV_ROOT_PASSWORD)"
@ -411,10 +410,10 @@ cargo-workspace-version: ## Print the Cargo workspace version.
set-release-version: ## Synchronize release files. Set VERSION=x.y.z.
@test -n "$(VERSION)" || { printf "VERSION is required.\n" >&2; exit 1; }
RUSTUP_TOOLCHAIN="$(RUST_TOOLCHAIN)" scripts/set-release-version.sh "$(VERSION)"
scripts/set-release-version.sh "$(VERSION)"
validate-helm: ## Validate Helm charts and rendered SyncTV configuration.
RUSTUP_TOOLCHAIN="$(RUST_TOOLCHAIN)" scripts/validate-helm.sh
scripts/validate-helm.sh
require-cross:
@command -v cargo-cross >/dev/null || { printf "cargo-cross is required; run 'make install-cross'.\n" >&2; exit 1; }

@ -1,4 +1,4 @@
[toolchain]
channel = "nightly"
channel = "nightly-2026-08-21"
profile = "minimal"
components = ["clippy", "rustfmt"]

Loading…
Cancel
Save