|
@@ -27,7 +27,6 @@ before_script:
|
|
|
# Variable defaults
|
|
|
variables:
|
|
|
RUST_VERSION: stable
|
|
|
- CI_COMMIT_TAG: 0.0.0
|
|
|
|
|
|
# Check on stable, beta and nightly
|
|
|
.check-base: &check-base
|
|
@@ -61,127 +60,3 @@ public-send-test:
|
|
|
- head -c 1M </dev/urandom >testfile
|
|
|
- cargo run -- upload testfile -n testfile.bin -a -d 10 -p secret -I
|
|
|
# TODO: download this file, compare checksums
|
|
|
-
|
|
|
-# TODO: only build releases when running CI for version tags
|
|
|
-
|
|
|
-# Cargo crate release
|
|
|
-crate:
|
|
|
- stage: release
|
|
|
- variables:
|
|
|
- TARGET: x86_64-unknown-linux-gnu
|
|
|
- script:
|
|
|
- - echo "Creating release crate on crates.io..."
|
|
|
- - echo $CARGO_TOKEN | cargo login
|
|
|
- # TODO: enable after the test succeeds
|
|
|
- # - cargo publish --verbose
|
|
|
-
|
|
|
-# GitHub binary release for Linux on x86/x86_64
|
|
|
-linux-x64:
|
|
|
- stage: release
|
|
|
- image: docker:stable
|
|
|
- variables:
|
|
|
- TARGET: x86_64-unknown-linux-gnu
|
|
|
- TARGET_SIMPLE: linux-x64
|
|
|
- DEB: y
|
|
|
- before_script: &release-before-script
|
|
|
- - apk update
|
|
|
- - apk add curl openssl-dev sh pkgconfig
|
|
|
- - curl https://sh.rustup.rs -sSf | sh -s -- -y --no-modify-path --default-toolchain $RUST_VERSION
|
|
|
- - export PATH=/usr/local/cargo/bin:$PATH
|
|
|
- - export RUSTUP_HOME=/usr/local/rustup
|
|
|
- - export CARGO_HOME=/usr/local/cargo
|
|
|
- - rustc --version && cargo --version
|
|
|
- script: &release-script
|
|
|
- - echo Install release dependencies
|
|
|
- - |
|
|
|
- if [ ! $TARGET == "x86_64-unknown-linux-gnu" ]; then
|
|
|
- cargo install cross
|
|
|
- fi
|
|
|
- - |
|
|
|
- if [ -n "$DEB" ]; then
|
|
|
- cargo install cargo-deb
|
|
|
- fi
|
|
|
- - echo Build release
|
|
|
- - |
|
|
|
- if [ $TARGET == "x86_64-unknown-linux-gnu" ]; then
|
|
|
- echo "Creating release binary on GitHub for $TARGET..."
|
|
|
- cargo build --release --verbose --all
|
|
|
- cp target/release/ffsend ./ffsend
|
|
|
- else
|
|
|
- echo "Creating release binary on GitHub for $TARGET (cross compiled)..."
|
|
|
- cross build --target $TARGET --release --verbose --all
|
|
|
- cp target/$TARGET/release/ffsend ./ffsend
|
|
|
- fi
|
|
|
- - tar -czvf ./ffsend-$CI_COMMIT_TAG-$TARGET_SIMPLE.tar.gz ffsend
|
|
|
- - |
|
|
|
- if [ -n "$DEB" ]; then
|
|
|
- cargo deb --verbose
|
|
|
- fi
|
|
|
- - mv ./ffsend ./ffsend-$CI_COMMIT_TAG-$TARGET_SIMPLE
|
|
|
- # TODO: this is in Travis CI style, convert this to GitLab CI
|
|
|
- # deploy: &deploy-github-release
|
|
|
- # provider: releases
|
|
|
- # api_key: $GITHUB_OAUTH_TOKEN
|
|
|
- # skip_cleanup: true
|
|
|
- # overwrite: true
|
|
|
- # file_glob: true
|
|
|
- # file:
|
|
|
- # - target/debian/ffsend_*.deb
|
|
|
- # - ffsend-$CI_COMMIT_TAG-$TARGET_SIMPLE.tar.gz
|
|
|
- # - ffsend-$CI_COMMIT_TAG-$TARGET_SIMPLE
|
|
|
- # on:
|
|
|
- # tags: true
|
|
|
- # branch: master
|
|
|
-
|
|
|
-linux-i368:
|
|
|
- stage: release
|
|
|
- image: docker:stable
|
|
|
- variables:
|
|
|
- TARGET: i686-unknown-linux-gnu
|
|
|
- TARGET_SIMPLE: linux-i386
|
|
|
- DEB: y
|
|
|
- before_script: *release-before-script
|
|
|
- script: *release-script
|
|
|
- # deploy: *deploy-github-release
|
|
|
-
|
|
|
-# GitHub binary release for Linux on arch
|
|
|
-linux-aarch64:
|
|
|
- stage: release
|
|
|
- image: docker:stable
|
|
|
- variables:
|
|
|
- TARGET: aarch64-unknown-linux-gnu
|
|
|
- TARGET_SIMPLE: linux-aarch64
|
|
|
- before_script: *release-before-script
|
|
|
- script: *release-script
|
|
|
- # deploy: *deploy-github-release
|
|
|
-
|
|
|
-linux-arm:
|
|
|
- stage: release
|
|
|
- image: docker:stable
|
|
|
- variables:
|
|
|
- TARGET: arm-unknown-linux-gnueabi
|
|
|
- TARGET_SIMPLE: linux-arm
|
|
|
- before_script: *release-before-script
|
|
|
- script: *release-script
|
|
|
- # deploy: *deploy-github-release
|
|
|
-
|
|
|
-linux-armv7:
|
|
|
- stage: release
|
|
|
- image: docker:stable
|
|
|
- variables:
|
|
|
- TARGET: armv7-unknown-linux-gnueabihf
|
|
|
- TARGET_SIMPLE: linux-armv7
|
|
|
- before_script: *release-before-script
|
|
|
- script: *release-script
|
|
|
- # deploy: *deploy-github-release
|
|
|
-
|
|
|
-# GitHub binary release for macOX
|
|
|
-osx-x64:
|
|
|
- stage: release
|
|
|
- image: docker:stable
|
|
|
- variables:
|
|
|
- TARGET: x86_64-apple-darwin
|
|
|
- TARGET_SIMPLE: osx-x64
|
|
|
- before_script: *release-before-script
|
|
|
- script: *release-script
|
|
|
- # deploy: *deploy-github-release
|