diff --git a/.drone.yml b/.drone.yml index 34200b7..f431761 100644 --- a/.drone.yml +++ b/.drone.yml @@ -9,16 +9,16 @@ steps: - name: code style image: rust:1.47 commands: - - rustup component add rustfmt - - cargo fmt --all -- --check + - rustup toolchain install nightly-x86_64-unknown-linux-gnu + - rustup component add rustfmt --toolchain nightly + - cargo +nightly fmt --all -- --check # - name: code quality # image: rust:1.47 # commands: # - cargo clippy -- --deny warnings -# - name: test -# image: rust:1.47 -# commands: -# - cargo build --verbose --all -# - cargo test --verbose --all +- name: test + image: rust:1.47 + commands: + - cargo build --verbose --all + - cargo test --verbose --all - \ No newline at end of file diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index f8de6cc..01e1e12 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -8,12 +8,13 @@ #### Installing rustfmt -You can run `rustfmt` with Rust 1.24 and above. +You must install a very recent version of `rustfmt` through rust nightly To install: ``` -rustup component add rustfmt +rustup toolchain install nightly-x86_64-unknown-linux-gnu +rustup component add rustfmt --toolchain nightly ``` #### Usage @@ -21,14 +22,24 @@ rustup component add rustfmt To run on Diplonat, launch the following in the root directory: ``` -cargo fmt --all +cargo +nightly fmt ``` -This will format the whole repository using the settigs defined in [`.rustfmt.toml`](./.rustfmt.toml): soft tabs of 2 spaces. +This will format the whole repository using the settigs defined in [`.rustfmt.toml`](./.rustfmt.toml). #### Auto-format code You can automate formatting in a number of ways: -* [Setup your IDE to use `rustfmt`](https://github.com/rust-lang/rustfmt#running-rustfmt-from-your-editor). -* Setup a git hook to run `rustfmt` before each commit. +[Setup your IDE to use `rustfmt`](https://github.com/rust-lang/rustfmt#running-rustfmt-from-your-editor). + +Setup a git hook to run `rustfmt` before each commit: + +```bash +cat < .git/hooks/pre-commit +#!/bin/bash + +cargo +nightly fmt +EOF +chmod +x .git/hooks/pre-commit +```