Start implementing GitLab CI

This commit is contained in:
Tim Visée 2018-06-04 23:06:12 +00:00
parent d443e17f6e
commit 8e93b9ebb4
3 changed files with 63 additions and 3 deletions

60
.gitlab-ci.yml Normal file
View file

@ -0,0 +1,60 @@
image: "rust:slim"
stages:
- check
- test
- integration
- release
variables:
RUST_VERSION: stable
# Cargo artifacts caching per Rust version
cache:
key: "$RUST_VERSION"
paths:
- /usr/local/rustup/
- /usr/local/cargo/
- target/
# Install compiler and OpenSSL dependencies
before_script:
- apt-get update -y
- apt-get install -y --no-install-recommends build-essential pkg-config libssl-dev
- rustup install $RUST_VERSION && rustup default $RUST_VERSION
- rustc --version && cargo --version
# Check on stable, beta and nightly
.check-base: &check-base
stage: check
script:
- cargo check --all --verbose
- cargo check --no-default-features --all --verbose
- cargo check --features no-color --all --verbose
check-stable:
<<: *check-base
variables:
RUST_VERSION: stable
check-beta:
<<: *check-base
variables:
RUST_VERSION: beta
check-nightly:
<<: *check-base
variables:
RUST_VERSION: nightly
# Run unit tests
test-unit:
stage: test
script:
- cargo test --all --verbose
# Run integration test with the public Send service
integration-send:
stage: integration
script:
- cargo build
- 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

View file

@ -4,8 +4,8 @@ version = "0.0.7"
authors = ["Tim Visee <timvisee@gmail.com>"] authors = ["Tim Visee <timvisee@gmail.com>"]
license = "GPL-3.0" license = "GPL-3.0"
readme = "README.md" readme = "README.md"
homepage = "https://github.com/timvisee/ffsend" homepage = "https://gitlab.com/timvisee/ffsend"
repository = "https://github.com/timvisee/ffsend" repository = "https://gitlab.com/timvisee/ffsend"
description = """\ description = """\
Easily and securely share files from the command line.\n\ Easily and securely share files from the command line.\n\
A fully featured Firefox Send client.\ A fully featured Firefox Send client.\

View file

@ -20,7 +20,7 @@ Files are shared using the [Send][send] service and may be up
to 2GB. Others are able to download these files with this tool, or through to 2GB. Others are able to download these files with this tool, or through
their webbrowser. their webbrowser.
[![ffsend usage demo][usage-demo-svg]][usage-demo-asciinema] [![ffsend usage demo][usage-demo-svg]][usage-demo-asciinema]
_No demo visible here? View it on [asciinema][usage-demo-asciinema]._ _No demo visible here? View it on [asciinema][usage-demo-asciinema]._
All files are always encrypted on the client, and secrets are never shared with All files are always encrypted on the client, and secrets are never shared with