CI/CD: Secure reliable cross-compilation via explicit Cross.toml registry and container isolation safeguards to solve MIPS, FreeBSD, and GLIBC failures

This commit is contained in:
ospab 2026-05-14 23:51:37 +03:00
parent 6b4edccc64
commit de4e168162
2 changed files with 23 additions and 0 deletions

View File

@ -62,14 +62,17 @@ jobs:
target: aarch64-unknown-linux-musl target: aarch64-unknown-linux-musl
artifact_name: ostp artifact_name: ostp
release_name: ostp-linux-arm64.tar.gz release_name: ostp-linux-arm64.tar.gz
use_cross: true
- os: ubuntu-latest - os: ubuntu-latest
target: armv7-unknown-linux-musleabihf target: armv7-unknown-linux-musleabihf
artifact_name: ostp artifact_name: ostp
release_name: ostp-linux-armv7.tar.gz release_name: ostp-linux-armv7.tar.gz
use_cross: true
- os: ubuntu-latest - os: ubuntu-latest
target: x86_64-unknown-freebsd target: x86_64-unknown-freebsd
artifact_name: ostp artifact_name: ostp
release_name: ostp-freebsd-amd64.tar.gz release_name: ostp-freebsd-amd64.tar.gz
use_cross: true
# ========================================== # ==========================================
# 🛰️ ROUTER & SPECIAL ARCHITECTURES (Cross) # 🛰️ ROUTER & SPECIAL ARCHITECTURES (Cross)
@ -109,6 +112,7 @@ jobs:
uses: dtolnay/rust-toolchain@stable uses: dtolnay/rust-toolchain@stable
- name: Activate rust compilation caching - name: Activate rust compilation caching
if: ${{ !matrix.use_cross }}
uses: swatinem/rust-cache@v2 uses: swatinem/rust-cache@v2
- name: Setup local MUSL linker dependencies - name: Setup local MUSL linker dependencies

19
Cross.toml Normal file
View File

@ -0,0 +1,19 @@
# Professional Cross-Compilation Target Environment Registry
[target.mipsel-unknown-linux-musl]
image = "ghcr.io/cross-rs/mipsel-unknown-linux-musl:edge"
[target.riscv64gc-unknown-linux-gnu]
image = "ghcr.io/cross-rs/riscv64gc-unknown-linux-gnu:edge"
[target.aarch64-linux-android]
image = "ghcr.io/cross-rs/aarch64-linux-android:edge"
[target.x86_64-unknown-freebsd]
image = "ghcr.io/cross-rs/x86_64-unknown-freebsd:edge"
[target.aarch64-unknown-linux-musl]
image = "ghcr.io/cross-rs/aarch64-unknown-linux-musl:edge"
[target.armv7-unknown-linux-musleabihf]
image = "ghcr.io/cross-rs/armv7-unknown-linux-musleabihf:edge"