diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml new file mode 100644 index 0000000..aa81eee --- /dev/null +++ b/.gitlab-ci.yml @@ -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 testfile + - cargo run -- upload testfile -n testfile.bin -a -d 10 -p secret -I + # TODO: download this file, compare checksums diff --git a/.travis.yml b/.travis.yml index 2b169a9..035ebb4 100644 --- a/.travis.yml +++ b/.travis.yml @@ -3,10 +3,6 @@ language: rust sudo: required services: - docker -addons: - apt: - packages: - - libssl-dev stages: - build diff --git a/Cargo.toml b/Cargo.toml index acccb1b..0750467 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,11 +1,11 @@ [package] name = "ffsend" -version = "0.0.6" +version = "0.0.7" authors = ["Tim Visee "] 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.\ diff --git a/README.md b/README.md index fc6a8b0..8876ad4 100644 --- a/README.md +++ b/README.md @@ -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 @@ -38,6 +38,7 @@ Find out more about security [here](#security). - [Configuration and environment](#configuration-and-environment) - [Security](#security) - [Help](#help) +- [Special thanks](#special-thanks) - [License](#license) The public [Send][send] service that is used as default host is provided by @@ -324,7 +325,7 @@ documentation [here][send-encryption]. ``` $ ffsend help -ffsend 0.0.6 +ffsend 0.0.7 Tim Visee Easily and securely share files from the command line. A fully featured Firefox Send client. @@ -360,6 +361,13 @@ The public Send service that is used as default host is provided by Mozilla. This application is not affiliated with Mozilla, Firefox or Firefox Send. ``` +## Special thanks +- to [Mozilla][mozilla] for building and hosting the amazing + [Firefox Send][send] service +- to everyone involved with [asciinema][asciinema] and [svg-term][svg-term] for + providing tools to make great visual demos +- to everyone involved in all crate dependencies used + ## License This project is released under the GNU GPL-3.0 license. Check out the [LICENSE](LICENSE) file for more information. @@ -375,4 +383,6 @@ Check out the [LICENSE](LICENSE) file for more information. [rustup]: https://rustup.rs/ [send]: https://send.firefox.com/ [send-encryption]: https://github.com/mozilla/send/blob/master/docs/encryption.md +[asciinema]: https://asciinema.org/ +[svg-term]: https://github.com/marionebl/svg-term-cli [github-latest-release]: https://github.com/timvisee/ffsend/releases/latest