Improving CircleCI config and separate lint form tests

This commit is contained in:
Syrus 2019-01-18 11:27:16 -08:00
parent 6d55776b8e
commit eb9f3fd274

View File

@ -1,22 +1,32 @@
version: 2 version: 2
jobs: jobs:
# Job used for testing # Job used for testing
lint:
docker:
- image: circleci/rust:latest
steps:
- checkout
- run: rustup component add rustfmt
- run: rustup component add clippy
- run:
name: Execute lints
command: make lint
test: test:
docker: docker:
- image: circleci/rust:latest - image: circleci/rust:latest
resource_class: medium+
steps: steps:
- checkout - checkout
- restore_cache: - restore_cache:
keys: keys:
- v4-test-cargo-cache-linux-{{ arch }}-{{ checksum "Cargo.lock" }} - v4-test-cargo-cache-linux-{{ arch }}-{{ checksum "Cargo.lock" }}
- run: sudo apt-get install -y cmake - run:
- run: sudo apt-get install texinfo name: Install dependencies
- run: sudo apt-get install libclang-dev llvm-3.9-dev libclang-3.9-dev clang-3.9 command: |
sudo apt-get install -y cmake
sudo apt-get install texinfo
sudo apt-get install libclang-dev llvm-3.9-dev libclang-3.9-dev clang-3.9
- run: make test - run: make test
- run: rustup component add rustfmt
- run: rustup component add clippy
- run: make lint
- save_cache: - save_cache:
paths: paths:
- /usr/local/cargo/registry - /usr/local/cargo/registry
@ -28,7 +38,6 @@ jobs:
test-macos: test-macos:
macos: macos:
xcode: "9.0" xcode: "9.0"
resource_class: medium+
steps: steps:
- checkout - checkout
- restore_cache: - restore_cache:
@ -59,8 +68,6 @@ jobs:
curl https://sh.rustup.rs -sSf | sh -s -- -y curl https://sh.rustup.rs -sSf | sh -s -- -y
export PATH="$HOME/.cargo/bin:$PATH" export PATH="$HOME/.cargo/bin:$PATH"
cargo --version cargo --version
rustup component add rustfmt
rustup component add clippy
- run: - run:
name: Execute tests name: Execute tests
command: | command: |
@ -70,7 +77,6 @@ jobs:
ulimit -n 8000 ulimit -n 8000
sudo sysctl -w kern.maxfiles=655360 kern.maxfilesperproc=327680 sudo sysctl -w kern.maxfiles=655360 kern.maxfilesperproc=327680
make test make test
make lint
- run: - run:
name: Execute integration tests name: Execute integration tests
command: | command: |
@ -91,23 +97,20 @@ jobs:
test-and-build: test-and-build:
docker: docker:
- image: circleci/rust:latest - image: circleci/rust:latest
resource_class: medium+
steps: steps:
- checkout - checkout
- restore_cache: - restore_cache:
keys: keys:
- v4-cargo-cache-linux-{{ arch }}-{{ checksum "Cargo.lock" }} - v4-cargo-cache-linux-{{ arch }}-{{ checksum "Cargo.lock" }}
- run: sudo apt-get install -y cmake - run:
- run: sudo apt-get install texinfo name: Install dependencies
- run: sudo apt-get install libclang-dev llvm-3.9-dev libclang-3.9-dev clang-3.9 command: |
sudo apt-get install -y cmake
sudo apt-get install texinfo
sudo apt-get install libclang-dev llvm-3.9-dev libclang-3.9-dev clang-3.9
- run: - run:
name: Execute tests name: Execute tests
command: make test command: make test
- run: rustup component add rustfmt
- run: rustup component add clippy
- run:
name: Execute lints
command: make lint
- run: - run:
name: Make release build name: Make release build
command: | command: |
@ -137,7 +140,6 @@ jobs:
test-and-build-macos: test-and-build-macos:
macos: macos:
xcode: "9.0" xcode: "9.0"
resource_class: medium+
steps: steps:
- checkout - checkout
- restore_cache: - restore_cache:
@ -168,8 +170,6 @@ jobs:
curl https://sh.rustup.rs -sSf | sh -s -- -y curl https://sh.rustup.rs -sSf | sh -s -- -y
export PATH="$HOME/.cargo/bin:$PATH" export PATH="$HOME/.cargo/bin:$PATH"
cargo --version cargo --version
rustup component add rustfmt
rustup component add clippy
- run: - run:
name: Execute tests name: Execute tests
command: | command: |
@ -179,7 +179,6 @@ jobs:
ulimit -n 8000 ulimit -n 8000
sudo sysctl -w kern.maxfiles=655360 kern.maxfilesperproc=327680 sudo sysctl -w kern.maxfiles=655360 kern.maxfilesperproc=327680
make test make test
make lint
- run: - run:
name: Make release build name: Make release build
command: | command: |
@ -208,7 +207,6 @@ jobs:
test-rust-nightly: test-rust-nightly:
docker: docker:
- image: circleci/rust:latest - image: circleci/rust:latest
resource_class: medium+
steps: steps:
- checkout - checkout
- restore_cache: - restore_cache:
@ -257,6 +255,7 @@ workflows:
version: 2 version: 2
main: main:
jobs: jobs:
- lint
- test: - test:
filters: filters:
branches: branches:
@ -284,6 +283,7 @@ workflows:
- publish-github-release: - publish-github-release:
requires: requires:
- lint
- test-and-build - test-and-build
- test-and-build-macos - test-and-build-macos
filters: filters: