diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml new file mode 100644 index 00000000..d49f6b2c --- /dev/null +++ b/.gitlab-ci.yml @@ -0,0 +1,49 @@ +stages: + - test + - lint + +before_script: +- apt-get update -yqq +- apt-get install -yqq --no-install-recommends build-essential +- apt-get install -yqq --no-install-recommends libgtk-3-dev +- apt-get install -yqq libgmp-dev +# - apt-get install -yqq --no-install-recommends meson + +test:stable: + # Stable img + # https://hub.docker.com/_/rust/ + image: "rust" + script: + - rustc --version && cargo --version + - cargo build --all + - cargo test --all --verbose + +test:nightly: + # Nightly + # https://hub.docker.com/r/rustlang/rust/ + image: "rustlang/rust:nightly" + script: + - rustc --version && cargo --version + - cargo build --all + - cargo test --all --verbose + # - cargo bench + +# Configure and run rustfmt on nightly +# Exits and builds fails on bad format +lint:rustfmt: + image: "rustlang/rust:nightly" + script: + - rustc --version && cargo --version + - cargo install rustfmt-nightly + - cargo fmt --all -- --write-mode=diff + allow_failure: true + +# Configure and run clippy on nightly +# Only fails on errors atm. +lint:clippy: + image: "rustlang/rust:nightly" + script: + - rustc --version && cargo --version + - cargo install clippy + - cargo clippy --all + allow_failure: true