From 68ffc0337ec36b0174f0b5a5772566d1809dfa35 Mon Sep 17 00:00:00 2001 From: xfy Date: Tue, 2 Jul 2024 11:40:24 +0800 Subject: [PATCH] ci(gitlab): add multiple platform --- .gitlab-ci.yml | 39 ++++++++++++++++++++++++--------------- 1 file changed, 24 insertions(+), 15 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 6a19c5d..0a27425 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -13,7 +13,8 @@ variables: image: "rust:latest" before_script: - - apt update -y + - apt-get update -y + - apt-get install -y docker.io - mkdir $HOME/.cargo - echo "[source.crates-io]" >> $HOME/.cargo/config - echo "replace-with = 'ustc'" >> $HOME/.cargo/config @@ -30,13 +31,15 @@ test: build:freebsd: stage: build + rules: + - if: $CI_COMMIT_TAG script: - - apt-get update -y - - apt-get install -y musl-tools libssl-dev docker.io - - rustup target add x86_64-unknown-freebsd - - cross build --release --target x86_64-unknown-freebsd - - "mv target/release/$APP_NAME target/release/$APP_NAME-x86_64-unknown-freebsd-$CI_COMMIT_TAG" - - "mv target/release/$APP_NAME-x86_64-unknown-freebsd-$CI_COMMIT_TAG public/" + - make build-freebsd + - "mv target/x86_64-unknown-freebsd/release/$APP_NAME target/x86_64-unknown-freebsd/release/$APP_NAME-x86_64-unknown-freebsd-$CI_COMMIT_TAG" + - "mv target/x86_64-unknown-freebsd/release/$APP_NAME-x86_64-unknown-freebsd-$CI_COMMIT_TAG public/" + artifacts: + paths: + - "public/$APP_NAME-x86_64-unknown-freebsd-$CI_COMMIT_TAG" build:linux-gnu-amd64: stage: build @@ -55,10 +58,7 @@ build:linux-musl-amd64: rules: - if: $CI_COMMIT_TAG script: - - apt-get update -y - - apt-get install -y musl-tools libssl-dev - - rustup target add x86_64-unknown-linux-musl - - cargo build --release --target x86_64-unknown-linux-musl + - make build-linux-musl - "mv target/x86_64-unknown-linux-musl/release/$APP_NAME target/x86_64-unknown-linux-musl/release/$APP_NAME-x86_64-unknown-linux-musl-$CI_COMMIT_TAG" - "mv target/x86_64-unknown-linux-musl/release/$APP_NAME-x86_64-unknown-linux-musl-$CI_COMMIT_TAG public/" artifacts: @@ -70,16 +70,25 @@ build:windows-amd64: rules: - if: $CI_COMMIT_TAG script: - - apt-get install -y g++-mingw-w64-x86-64 - - rustup target add x86_64-pc-windows-gnu - - rustup toolchain install stable-x86_64-pc-windows-gnu - - cargo build --release --target x86_64-pc-windows-gnu + - make build-windows-gnu - "mv target/x86_64-pc-windows-gnu/release/$APP_NAME.exe target/x86_64-pc-windows-gnu/release/$APP_NAME-x86_64-pc-windows-gnu-$CI_COMMIT_TAG.exe" - "mv target/x86_64-pc-windows-gnu/release/$APP_NAME-x86_64-pc-windows-gnu-$CI_COMMIT_TAG.exe public/" artifacts: paths: - public/$APP_NAME-x86_64-pc-windows-gnu-$CI_COMMIT_TAG.exe +build:linux-loongarch: + stage: build + rules: + - if: $CI_COMMIT_TAG + script: + - make build-loongarch + - "mv target/loongarch64-unknown-linux-gnu/release/$APP_NAME.exe target/loongarch64-unknown-linux-gnu/release/$APP_NAME-loongarch64-unknown-linux-gnu-$CI_COMMIT_TAG.exe" + - "mv target/loongarch64-unknown-linux-gnu/release/$APP_NAME-loongarch64-unknown-linux-gnu-$CI_COMMIT_TAG.exe public/" + artifacts: + paths: + - public/$APP_NAME-loongarch64-unknown-linux-gnu-$CI_COMMIT_TAG.exe + rustdoc: stage: build rules: