name: Continuous integration on: push: branches: [ master ] pull_request: env: CARGO_TERM_COLOR: always jobs: all: runs-on: ubuntu-20.04 env: RUSTFLAGS: -D warnings steps: - name: Code checkout uses: actions/checkout@v2 - name: Rust install uses: actions-rs/toolchain@v1 with: toolchain: stable - name: Download cargo cache uses: Swatinem/rust-cache@v1 # A SSH private key is required as some dependencies are from private repos - uses: webfactory/ssh-agent@v0.5.2 with: ssh-private-key: ${{ secrets.CONCRETE_COMPILER_CI_SSH_PRIVATE }} - name: Formatting run: cargo fmt --check # For some reason doing the build explicitely before make it available for both clippy and test # But clippy and test alone do not share the build - name: Build run: cargo build --all-targets - name: Lint run: cargo clippy --all-targets - name: Tests run: cargo test --no-fail-fast --all-targets