mirror of
https://github.com/fluencelabs/trust-graph
synced 2025-04-24 15:22:13 +00:00
90 lines
2.3 KiB
YAML
90 lines
2.3 KiB
YAML
name: Rust CI
|
|
on:
|
|
push:
|
|
workflow_dispatch:
|
|
|
|
concurrency:
|
|
group: "${{ github.workflow }}-${{ github.ref }}"
|
|
cancel-in-progress: true
|
|
|
|
jobs:
|
|
check:
|
|
name: cargo nextest
|
|
runs-on: builder
|
|
container: rust
|
|
defaults:
|
|
run:
|
|
working-directory: service
|
|
shell: bash
|
|
steps:
|
|
- name: Checkout sources
|
|
uses: actions/checkout@v2
|
|
|
|
- uses: actions/cache@v2
|
|
with:
|
|
path: |
|
|
~/.cargo/registry
|
|
~/.cargo/git
|
|
key: ${{ runner.os }}-cargo-${{ hashFiles('**/Cargo.lock') }}
|
|
|
|
- run: mkdir -p ~/.bin
|
|
- run: echo "~/.bin" >> $GITHUB_PATH
|
|
|
|
- name: Install Rust
|
|
working-directory: ./service
|
|
run: |
|
|
rustup toolchain install nightly-2022-01-16-x86_64-unknown-linux-gnu
|
|
rustup default nightly-2022-01-16-x86_64-unknown-linux-gnu
|
|
rustup override set nightly-2022-01-16-x86_64-unknown-linux-gnu
|
|
rustup target add wasm32-wasi --toolchain nightly-2022-01-16-x86_64-unknown-linux-gnu
|
|
|
|
- name: Download jq
|
|
run: |
|
|
curl -L https://github.com/stedolan/jq/releases/download/jq-1.5/jq-linux64 -o ~/.bin/jq
|
|
chmod +x ~/.bin/jq
|
|
|
|
- name: Download marine
|
|
run: bash $GITHUB_WORKSPACE/.github/download_marine.sh
|
|
|
|
- name: Build
|
|
run: ./build.sh
|
|
|
|
- run: cargo install --locked cargo-nextest --version 0.9.22
|
|
- run: cargo nextest run --release --all-features --no-fail-fast --retries 10 --test-threads 10
|
|
|
|
lints:
|
|
name: Lints
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- name: Checkout sources
|
|
uses: actions/checkout@v2
|
|
|
|
- uses: actions/cache@v2
|
|
with:
|
|
path: |
|
|
~/.cargo/registry
|
|
~/.cargo/git
|
|
target
|
|
key: ${{ runner.os }}-cargo-${{ hashFiles('**/Cargo.lock') }}
|
|
|
|
- name: Install toolchain
|
|
uses: actions-rs/toolchain@v1
|
|
with:
|
|
profile: minimal
|
|
toolchain: nightly
|
|
override: true
|
|
components: rustfmt, clippy
|
|
|
|
- name: Run cargo fmt
|
|
uses: actions-rs/cargo@v1
|
|
with:
|
|
command: fmt
|
|
args: --all -- --check
|
|
|
|
- name: Run cargo clippy
|
|
uses: actions-rs/cargo@v1
|
|
with:
|
|
command: clippy
|
|
args: -Z unstable-options --all
|
|
continue-on-error: true # do not fail for now
|