Skip to content

Replace the project name "Chariott" in code and package names, with the component name "intent brokering" #425

Replace the project name "Chariott" in code and package names, with the component name "intent brokering"

Replace the project name "Chariott" in code and package names, with the component name "intent brokering" #425

Workflow file for this run

name: Rust CI
on:
push:
branches:
- main
pull_request:
branches:
- main
paths:
- 'intent_brokering/common/**'
- 'intent_brokering/src/**'
- 'intent_brokering/tests/**'
- 'intent_brokering/proto/**'
- 'intent_brokering/proto.rs/**'
- 'intent_brokering/ess/**'
- 'intent_brokering/keyvalue/**'
- 'intent_brokering/examples/**'
- '.github/workflows/rust-ci.yml'
- 'Cargo.lock'
- 'Cargo.toml'
- 'rust-toolchain.toml'
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: ${{ github.ref != 'refs/heads/main' }}
env:
CARGO_TERM_COLOR: always
jobs:
static_code_analysis:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Install protobuf-compiler
run: sudo apt-get install -y protobuf-compiler
- name: Install stable toolchain
run: |
rustup show
rustup component add rustfmt clippy
- name: Cache Dependencies
uses: Swatinem/rust-cache@v1
- run: cargo check --workspace --locked
- run: cargo clippy --all-targets --all-features --workspace --no-deps -- -D warnings
- run: cargo fmt --all -- --check
- name: Run doctest only
# we run doctests here as cargo tarpaulin (our test runner)
# requires nightly toolchain to do so
uses: actions-rs/cargo@v1
with:
command: test
args: --workspace --doc
- name: Run cargo doc
# This step is required to detect possible errors in docs that are not doctests.
uses: actions-rs/cargo@v1
with:
command: doc
args: --workspace --no-deps # Warnings are treated as errors due to our .cargo/config file.
build_and_test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Install protobuf-compiler
run: sudo apt-get install -y protobuf-compiler
- name: Install stable toolchain
run: rustup show
- name: Cache Dependencies
uses: Swatinem/rust-cache@v1
- name: Run cargo-tarpaulin
uses: actions-rs/[email protected]
with:
version: '0.21.0'
args: '--workspace --ignore-tests --skip-clean --exclude-files spikes/* --exclude-files examples/* --exclude-files tests/*'
- name: Archive code coverage results
uses: actions/upload-artifact@v1
with:
name: code-coverage-report
path: cobertura.xml
- uses: 5monkeys/cobertura-action@master
if: ${{ github.event_name == 'pull_request' && github.event.pull_request.head.repo.full_name == 'eclipse/chariott' && github.actor != 'dependabot[bot]' }}
with:
path: cobertura.xml
repo_token: ${{ secrets.GITHUB_TOKEN }}
minimum_coverage: 80
only_changed_files: true
buf:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: bufbuild/buf-setup-action@v1
with:
version: '1.8.0'
- uses: bufbuild/buf-lint-action@v1