diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 6e6e85a..6c7027b 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -114,41 +114,134 @@ test:cargo: # - linux # - docker -build:nightly: +build:nightly-armv6: image: rust:latest stage: build + before_script: + - cp cargo-cross-config /usr/local/cargo/config + - dpkg --add-architecture armel + - apt-get update -y + - apt-get install -o dir::cache::archives="$APT_CACHE_DIR" -y libc6-armel-cross libc6-dev-armel-cross gcc-arm-linux-gnueabi g++-arm-linux-gnueabi + - apt-get install -o dir::cache::archives="$APT_CACHE_DIR" -y --no-install-recommends capnproto build-essential cmake clang libclang-dev libgsasl7-dev libgsasl7-dev:armel libssl-dev:armel + - rustup target add arm-unknown-linux-gnueabihf script: - cargo update - cargo build --release --target arm-unknown-linux-gnueabihf - - cargo build --release --target armv7-unknown-linux-gnueabihf - - cargo build --release --target x86_64-unknown-linux-gnu artifacts: paths: - target/arm-unknown-linux-gnueabihf/release - - target/armv7-unknown-linux-gnueabihf/release - - target/x86_64-unknown-linux-gnu/release # only: # - development tags: - linux - docker -build:release: +build:nightly-armv7: image: rust:latest stage: build - variables: - BFFHD_BUILD_TAGGED_RELEASE: 1 + before_script: + - cp cargo-cross-config /usr/local/cargo/config + - dpkg --add-architecture armhf + - apt-get update -y + - apt-get install -o dir::cache::archives="$APT_CACHE_DIR" -y libc6-armhf-cross libc6-dev-armhf-cross gcc-arm-linux-gnueabihf g++-arm-linux-gnueabihf + - apt-get install -o dir::cache::archives="$APT_CACHE_DIR" -y --no-install-recommends capnproto build-essential cmake clang libclang-dev libgsasl7-dev libgsasl7-dev:armhf libssl-dev:armhf + - rustup target add armv7-unknown-linux-gnueabihf script: - cargo update - - cargo build --release --target arm-unknown-linux-gnueabihf - cargo build --release --target armv7-unknown-linux-gnueabihf + + artifacts: + paths: + - target/armv7-unknown-linux-gnueabihf/release + # only: + # - development + tags: + - linux + - docker + +build:nightly-x86_64: + image: rust:latest + stage: build + before_script: + - cp cargo-cross-config /usr/local/cargo/config + - apt-get install -o dir::cache::archives="$APT_CACHE_DIR" -y --no-install-recommends capnproto build-essential cmake clang libclang-dev libgsasl7-dev + script: + - cargo update - cargo build --release --target x86_64-unknown-linux-gnu + artifacts: + paths: + - target/x86_64-unknown-linux-gnu/release + # only: + # - development + tags: + - linux + - docker + +build:release-armv6: + image: rust:latest + stage: build + variables: + BFFHD_BUILD_TAGGED_RELEASE: 1 + before_script: + - cp cargo-cross-config /usr/local/cargo/config + - dpkg --add-architecture armel + - apt-get update -y + - apt-get install -o dir::cache::archives="$APT_CACHE_DIR" -y libc6-armel-cross libc6-dev-armel-cross gcc-arm-linux-gnueabi g++-arm-linux-gnueabi + - apt-get install -o dir::cache::archives="$APT_CACHE_DIR" -y --no-install-recommends capnproto build-essential cmake clang libclang-dev libgsasl7-dev libgsasl7-dev:armel libssl-dev:armel + - rustup target add arm-unknown-linux-gnueabihf + script: + - cargo update + - cargo build --release --target arm-unknown-linux-gnueabihf + artifacts: paths: - target/arm-unknown-linux-gnueabihf/release + rules: + - if: $CI_COMMIT_TAG + tags: + - linux + - docker + +build:release-armv7: + image: rust:latest + stage: build + variables: + BFFHD_BUILD_TAGGED_RELEASE: 1 + before_script: + - cp cargo-cross-config /usr/local/cargo/config + - dpkg --add-architecture armhf + - apt-get update -y + - apt-get install -o dir::cache::archives="$APT_CACHE_DIR" -y libc6-armhf-cross libc6-dev-armhf-cross gcc-arm-linux-gnueabihf g++-arm-linux-gnueabihf + - apt-get install -o dir::cache::archives="$APT_CACHE_DIR" -y --no-install-recommends capnproto build-essential cmake clang libclang-dev libgsasl7-dev libgsasl7-dev:armhf libssl-dev:armhf + - rustup target add armv7-unknown-linux-gnueabihf + script: + - cargo update + - cargo build --release --target armv7-unknown-linux-gnueabihf + artifacts: + paths: - target/armv7-unknown-linux-gnueabihf/release + rules: + - if: $CI_COMMIT_TAG + tags: + - linux + - docker + +build:release-x86_64: + image: rust:latest + stage: build + variables: + BFFHD_BUILD_TAGGED_RELEASE: 1 + before_script: + - cp cargo-cross-config /usr/local/cargo/config + - apt-get install -o dir::cache::archives="$APT_CACHE_DIR" -y --no-install-recommends capnproto build-essential cmake clang libclang-dev libgsasl7-dev + script: + - cargo update + - cargo build --release --target x86_64-unknown-linux-gnu + + artifacts: + paths: - target/x86_64-unknown-linux-gnu/release rules: - if: $CI_COMMIT_TAG