From 90ad5d8349f687822a332d390e31e93aa4ccb7cc Mon Sep 17 00:00:00 2001 From: Jonas Zohren Date: Fri, 2 Jul 2021 10:33:05 +0000 Subject: [PATCH] Also build and release deb package for x86_64 --- .gitlab-ci.yml | 48 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 48 insertions(+) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index ce00371..930e8f6 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -92,6 +92,50 @@ build:cargo:aarch64-unknown-linux-gnu: TARGET_AR: "/usr/bin/aarch64-linux-gnu-gcc-ar-8" +# --------------------------------------------------------------------- # +# Cargo: Compiling deb packages for different architectures # +# --------------------------------------------------------------------- # + + +.build-cargo-deb-shared-settings: + stage: "build" + needs: [] + rules: + - if: '$CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH' + interruptible: true + image: "rust:latest" + cache: + paths: + - cargohome + - target/ + key: "build_cache-deb-$TARGET" + before_script: + - 'echo "Building debian package for target $TARGET"' + - 'mkdir -p cargohome && CARGOHOME="cargohome"' + - "cat /etc/*-release && rustc --version && cargo --version" # Print version info for debugging + - 'apt-get update -yqq' + - 'echo "Installing packages: $NEEDED_PACKAGES"' + - "apt-get install -yqq --no-install-recommends $NEEDED_PACKAGES" + - "rustup target add $TARGET" + - "cargo install cargo-deb" + script: + - time cargo deb --target $TARGET + - 'mv target/$TARGET/debian/*.deb "conduit-$TARGET.deb"' + artifacts: + name: "conduit-$TARGET.deb" + expose_as: "Debian Package" + paths: + - "conduit-$TARGET.deb" + +build:cargo-deb:x86_64-unknown-linux-gnu: + extends: .build-cargo-deb-shared-settings + variables: + TARGET: "x86_64-unknown-linux-gnu" + NEEDED_PACKAGES: "" + + + + # --------------------------------------------------------------------- # # Storing and releasing compiled binaries # # --------------------------------------------------------------------- # @@ -102,6 +146,7 @@ publish:package: - "build:cargo:x86_64-unknown-linux-gnu" - "build:cargo:armv7-unknown-linux-gnueabihf" - "build:cargo:aarch64-unknown-linux-gnu" + - "build:cargo-deb:x86_64-unknown-linux-gnu" rules: - if: '$CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH' image: curlimages/curl:latest @@ -112,6 +157,7 @@ publish:package: - 'curl --header "JOB-TOKEN: $CI_JOB_TOKEN" --upload-file conduit-x86_64-unknown-linux-gnu "${BASE_URL}/conduit-x86_64-unknown-linux-gnu"' - 'curl --header "JOB-TOKEN: $CI_JOB_TOKEN" --upload-file conduit-armv7-unknown-linux-gnueabihf "${BASE_URL}/conduit-armv7-unknown-linux-gnueabihf"' - 'curl --header "JOB-TOKEN: $CI_JOB_TOKEN" --upload-file conduit-aarch64-unknown-linux-gnu "${BASE_URL}/conduit-aarch64-unknown-linux-gnu"' + - 'curl --header "JOB-TOKEN: $CI_JOB_TOKEN" --upload-file conduit-x86_64-unknown-linux-gnu.deb "${BASE_URL}/conduit-x86_64-unknown-linux-gnu.deb"' @@ -138,3 +184,5 @@ publish:nightly: url: "${CI_API_V4_URL}/projects/${CI_PROJECT_ID}/packages/generic/conduit-${CI_COMMIT_REF_SLUG}/build-${CI_PIPELINE_ID}/conduit-armv7-unknown-linux-gnueabihf" - name: 'conduit-aarch64-unknown-linux-gnu' url: "${CI_API_V4_URL}/projects/${CI_PROJECT_ID}/packages/generic/conduit-${CI_COMMIT_REF_SLUG}/build-${CI_PIPELINE_ID}/conduit-aarch64-unknown-linux-gnu" + - name: 'conduit-x86_64-unknown-linux-gnu.deb' + url: "${CI_API_V4_URL}/projects/${CI_PROJECT_ID}/packages/generic/conduit-${CI_COMMIT_REF_SLUG}/build-${CI_PIPELINE_ID}/conduit-x86_64-unknown-linux-gnu.deb"