From 9c4b6ab7dffb1424eaa65a646394a3b717244bac Mon Sep 17 00:00:00 2001 From: Nils Andreas Svee Date: Fri, 9 May 2025 18:45:43 +0700 Subject: [PATCH] chore(build): use premade docker env --- Jenkinsfile | 53 +++++++++++------------------------------------------ 1 file changed, 11 insertions(+), 42 deletions(-) diff --git a/Jenkinsfile b/Jenkinsfile index 88825c8..72dea4c 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -1,30 +1,5 @@ -def getArch(target) { - return target.tokenize('-')[0] -} - -def getGCCTarget(rust_target) { - def targetMapping = [ - "aarch64-unknown-linux-musl": "aarch64-linux-musl", - "arm-unknown-linux-musleabi": "arm-linux-musleabi", - "armv7-unknown-linux-musleabi": "armv7m-linux-musleabi", - "armv7-unknown-linux-musleabihf": "armv7l-linux-musleabihf", - "mips-unknown-linux-musl": "mips-linux-muslsf", - "mips64-unknown-linux-muslabi64": "mips64-linux-musl", - "mips64el-unknown-linux-muslabi64": "mips64el-linux-musl", - "mipsel-unknown-linux-musl": "mipsel-linux-muslsf", - "x86_64-unknown-linux-musl": "x86_64-linux-musl" - ] - - return targetMapping[rust_target] -} - -// CARGO_TARGET_X86_64_UNKNOWN_LINUX_GNU_LINKER -def getLinkerEnv(target) { - return 'CARGO_TARGET_' + target.replaceAll('-', '_').toUpperCase() + '_LINKER' -} - pipeline { - agent { dockerfile true } + agent any stages { stage('Main') { @@ -32,28 +7,22 @@ pipeline { axes { axis { name 'TARGET' - values 'aarch64-unknown-linux-musl', 'arm-unknown-linux-musleabi', 'armv7-unknown-linux-musleabi', 'armv7-unknown-linux-musleabihf','mips-unknown-linux-musl', 'mips64-unknown-linux-muslabi64', 'mips64el-unknown-linux-muslabi64', 'mipsel-unknown-linux-musl', 'x86_64-unknown-linux-musl' + values 'x86_64-musl', 'i686-musl', 'arm-musleabi', 'arm-musleabihf', 'armv7-musleabi', 'armv7-musleabihf', 'aarch64-musl', 'mips-musl', 'mipsel-musl', 'mips64-musl', 'mips64el-musl', 'mips64-muslabi64', 'mips64el-muslabi64', 'riscv64gc-musl' } } - environment { - GCC_TARGET = getGCCTarget(TARGET) - TARGET_ARCH = getArch(GCC_TARGET) - GCC = "${GCC_TARGET}-gcc" - LINKER_ENV_KEY = getLinkerEnv(TARGET) - PATH_CC = "/opt/${GCC_TARGET}-cross/bin:/home/sdk/.cargo/bin" - RUSTFLAGS = "-C target-feature=+crt-static -C link-arg=-fuse-ld=lld" - } + agent { + docker { + image "ghcr.io/rust-cross/rust-musl-cross:${TARGET}" + } + } stages { stage('Build') { steps { sh ''' - export CC="$GCC" PATH="$PATH_CC:$PATH" - cargo +nightly build \ - -Z build-std=std,panic_abort \ - -Z build-std-features="optimize_for_size" \ - --target $TARGET --release + cargo build \ + --release ''' } } @@ -61,8 +30,8 @@ pipeline { stage('Archive artifact') { steps { dir("target/${TARGET}/release") { - sh "cp -v sqm-autorate-rust sqm-autorate-rust-${TARGET_ARCH}" - archiveArtifacts artifacts: "sqm-autorate-rust-${TARGET_ARCH}", fingerprint: true, onlyIfSuccessful: true + sh "cp -v sqm-autorate-rust sqm-autorate-rust-${TARGET}" + archiveArtifacts artifacts: "sqm-autorate-rust-${TARGET}", fingerprint: true, onlyIfSuccessful: true } } }