diff options
Diffstat (limited to '.github/workflows')
-rw-r--r-- | .github/workflows/ci.yaml | 61 |
1 files changed, 60 insertions, 1 deletions
diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index 56cfdda..c13f63e 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -12,6 +12,53 @@ concurrency: name: ci jobs: + clippy: + runs-on: ubuntu-latest + permissions: + security-events: write # to upload sarif results + name: beta / clippy + steps: + - uses: actions/checkout@v5 + with: + submodules: true + - uses: dtolnay/rust-toolchain@master + with: + toolchain: beta + components: clippy,rustfmt + - uses: Swatinem/rust-cache@v2 + - run: cargo install clippy-sarif sarif-fmt + - name: install protoc + uses: arduino/setup-protoc@v3 + with: + repo-token: ${{ secrets.GITHUB_TOKEN }} + - name: Run rust-clippy + run: + cargo clippy + --workspace + --all-features + --message-format=json | clippy-sarif | tee rust-clippy-results.sarif | sarif-fmt + continue-on-error: true + - name: Upload analysis results to GitHub + uses: github/codeql-action/upload-sarif@v3 + with: + sarif_file: rust-clippy-results.sarif + wait-for-processing: true + + + fmt: + runs-on: ubuntu-latest + name: stable / fmt + steps: + - uses: actions/checkout@v5 + with: + submodules: true + - name: Install stable + uses: dtolnay/rust-toolchain@stable + with: + components: rustfmt + - name: cargo fmt --check + run: cargo fmt --check + os-check: runs-on: ${{ matrix.os }} name: ${{ matrix.os }} / stable @@ -175,14 +222,26 @@ jobs: # # cargo llvm-cov --no-report nextest # # cargo llvm-cov --no-report --doc # # cargo llvm-cov report --doctests --lcov --output-path lcov.info + - name: Create junit.xml (nextest) + run: | + mkdir -p .config + echo '[profile.ci.junit]' > .config/nextest.toml + echo 'path = "junit.xml"' >> .config/nextest.toml - name: cargo llvm-cov - run: cargo llvm-cov nextest --workspace --locked --all-features --lcov --output-path lcov.info + run: cargo llvm-cov nextest --profile ci --workspace --locked --all-features --lcov --output-path lcov.info - name: Upload to codecov.io uses: codecov/codecov-action@v5 with: fail_ci_if_error: true token: ${{ secrets.CODECOV_TOKEN }} slug: ${{ github.repository }} + - uses: codecov/test-results-action@v1 + if: ${{ !cancelled() }} + with: + fail_ci_if_error: true + files: ./target/nextest/ci/junit.xml + token: ${{ secrets.CODECOV_TOKEN }} + verbose: true - name: Stop stack if: always() run: | |