rider/.circleci/config.yml

64 lines
2.1 KiB
YAML
Raw Normal View History

version: 2.1
jobs:
build:
working_directory: ~/rider
docker:
- image: abronan/rust-circleci:latest
environment:
CODECOV_TOKEN: "e58da505-19f2-481c-8068-e845cb36fbe4"
TZ: "/usr/share/zoneinfo/Europe/Paris"
rider-config: "1"
steps:
- checkout
- restore_cache:
key: project-cache
- run:
name: Install dependencies
command: |
apt-get update
apt-get install -y -qq xvfb mesa-utils mesa-vdpau-drivers
apt-get install -y libssl-dev pkg-config cmake zlib1g-dev
apt-get install -q -y libsdl2-dev libsdl2-2.0-0 libsdl2-gfx-dev libsdl2-image-dev libsdl2-mixer-dev libsdl2-net-dev libsdl2-ttf-dev
- run:
name: Check formatting
command: |
rustfmt --version
cargo fmt -- --error-on-unformatted --unstable-features --check
- run:
name: Nightly Build
command: |
rustup run nightly rustc --version --verbose
rustup run nightly cargo --version --verbose
rustup run nightly cargo build --all
mkdir -p ~/.local/bin
cp $(pwd)/target/debug/rider-* $HOME/.local/bin
export XDG_BIN_HOME=$HOME/.local/bin
- run:
name: Run rider-generator
command: |
export XDG_RUNTIME_DIR=$(pwd)
export XDG_BIN_HOME=$HOME/.local/bin
rustup run nightly cargo run -p rider-generator
- run:
name: Test and code coverage
command: |
RUSTFLAGS="--cfg procmacro2_semver_exempt" cargo install cargo-tarpaulin || echo 0
export XDG_RUNTIME_DIR=$(pwd)
export XDG_BIN_HOME=$HOME/.local/bin
rustup run nightly cargo tarpaulin --all --ciserver circle-ci --out Xml
- run:
name: Upload Coverage
command: |
wget -O - -q "https://codecov.io/bash" > .codecov
chmod +x .codecov
./.codecov -t $CODECOV_TOKEN
echo "Uploaded code coverage"
- save_cache:
key: project-cache
paths:
- "~/.cargo"
- "./target"