build: bump rust toolchain and dependencies #624
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
--- | |
name: CI | |
"on": | |
push: | |
branches: | |
- main | |
pull_request: | |
branches: | |
- main | |
jobs: | |
build: | |
name: Build | |
runs-on: ${{ matrix.os }} | |
strategy: | |
fail-fast: false | |
matrix: | |
os: [ubuntu-latest, macos-latest] | |
env: | |
RUSTFLAGS: -D warnings | |
RUST_BACKTRACE: 1 | |
steps: | |
- name: Checkout repository | |
uses: actions/checkout@v2 | |
with: | |
submodules: true | |
- name: Install Protoc | |
uses: arduino/setup-protoc@v3 | |
with: | |
repo-token: ${{ secrets.GITHUB_TOKEN }} | |
- name: Install Rust toolchain | |
run: rustup show | |
- name: Compile | |
run: cargo build --workspace --verbose | |
- name: Compile tests | |
run: cargo test --workspace --no-run | |
- name: Test | |
run: cargo test --workspace | |
rust: | |
name: Lint and format Rust | |
runs-on: ubuntu-latest | |
env: | |
RUSTFLAGS: -D warnings | |
RUST_BACKTRACE: 1 | |
steps: | |
- name: Checkout repository | |
uses: actions/checkout@v2 | |
with: | |
submodules: true | |
- name: Install Protoc | |
uses: arduino/setup-protoc@v3 | |
with: | |
repo-token: ${{ secrets.GITHUB_TOKEN }} | |
- name: Install Rust toolchain | |
run: rustup show | |
- name: Check formatting | |
run: cargo fmt -- --check --color=auto | |
- name: Lint with Clippy | |
uses: actions-rs/clippy-check@v1 | |
with: | |
token: ${{ secrets.GITHUB_TOKEN }} | |
args: --workspace | |
- name: Run cargo-deny | |
uses: EmbarkStudios/cargo-deny-action@v1 | |
coverage: | |
name: Code Coverage | |
runs-on: ubuntu-latest | |
env: | |
RUSTFLAGS: -D warnings | |
RUST_BACKTRACE: 1 | |
steps: | |
- name: Checkout repository | |
uses: actions/checkout@v2 | |
with: | |
submodules: true | |
- name: Install Protoc | |
uses: arduino/setup-protoc@v3 | |
with: | |
repo-token: ${{ secrets.GITHUB_TOKEN }} | |
- name: Run cargo-tarpaulin | |
run: | | |
cargo install cargo-tarpaulin | |
cargo tarpaulin --out Xml | |
- name: Upload Coverage | |
uses: codecov/codecov-action@v1 | |
with: | |
token: ${{ secrets.CODECOV_TOKEN }} | |
frontend: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v2 | |
- name: Install Protoc | |
uses: arduino/setup-protoc@v3 | |
with: | |
repo-token: ${{ secrets.GITHUB_TOKEN }} | |
- name: Install node | |
uses: actions/setup-node@v2 | |
with: | |
node-version: '16' | |
- name: Install Python | |
uses: actions/setup-python@v2 | |
with: | |
python-version: '3.9' | |
architecture: 'x64' | |
- name: Install cargo | |
uses: actions-rs/toolchain@v1 | |
with: | |
toolchain: stable | |
- run: cargo install wasm-bindgen-cli | |
- name: Install dependencies | |
run: python -m pip install jupyterlab | |
- name: Build the Typescript project | |
run: | | |
rustup target add wasm32-unknown-unknown | |
yarn install | |
DISABLE_WASM_OPT=1 yarn build |