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>"]
license = "GPL-3.0"
readme = "README.md"
homepage = "https://github.com/timvisee/ffsend"
repository = "https://github.com/timvisee/ffsend"
homepage = "https://gitlab.com/timvisee/ffsend"
repository = "https://gitlab.com/timvisee/ffsend"
description = """\
Easily and securely share files from the command line.\n\
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
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]._
All files are always encrypted on the client, and secrets are never shared with