Files
concrete/.github/workflows/rust.yml

45 lines
973 B
YAML

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
- name: Build
run: cargo build --all-targets
- name: Lint
run: cargo clippy --all-targets
- name: Tests
run: |
cargo test --no-fail-fast --all-targets
make -C concrete-optimizer-cpp test-ci