chore(ci): Add codecov and test report (#366)

* Add codecov and test report

* Fix

* Fix

* Download wasm pack

* Apply suggestion from nextest errors

* Revert "Apply suggestion from nextest errors"

This reverts commit 0124cc1f6972cba81c24387333452af6819a151e.

* Add badge
This commit is contained in:
Anatolios Laskaris 2023-09-04 14:56:21 +03:00 committed by GitHub
parent 854397a6c3
commit 65f6c7b1fa
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 46 additions and 5 deletions

19
.config/nextest.toml Normal file
View File

@ -0,0 +1,19 @@
# https://nexte.st/book/configuration.html
[store]
dir = "target/nextest"
[profile.default]
retries = 0
test-threads = "num-cpus"
threads-required = 1
status-level = "pass"
final-status-level = "fail"
failure-output = "immediate"
success-output = "never"
fail-fast = false
slow-timeout = { period = "60s", terminate-after = 2 }
leak-timeout = "100ms"
[profile.ci]
[profile.ci.junit]
path = "junit.xml"

View File

@ -91,15 +91,38 @@ jobs:
-p marine \
-p mrepl
- name: Run cargo test
run: |
cargo test --release -v --all-features \
- uses: taiki-e/install-action@cargo-llvm-cov
- uses: taiki-e/install-action@nextest
- name: Run cargo nextest
run: cargo llvm-cov nextest --release -v --all-features --profile ci --lcov --output-path lcov.info \
-p marine-core \
-p marine \
-p fluence-app-service \
-p marine \
-p mrepl \
- name: Coveralls upload
uses: coverallsapp/github-action@v2
with:
github-token: ${{ secrets.GITHUB_TOKEN }}
file: lcov.info
- name: Archive code coverage results
if: github.event.pull_request.head.repo.fork != true
uses: actions/upload-artifact@v3
with:
name: code-coverage-report.zip
path: lcov.info
- name: Upload test report
uses: dorny/test-reporter@v1
if: (success() || failure()) && !github.event.pull_request.head.repo.fork
with:
name: marine report
path: target/nextest/ci/junit.xml
reporter: java-junit
- name: Run cargo clippy
run: cargo clippy -v

View File

@ -1,6 +1,7 @@
# Marine
![marine version on crates.io](https://img.shields.io/crates/v/marine?color=green&style=flat-square)
[![Coverage Status](https://coveralls.io/repos/github/fluencelabs/marine/badge.svg)](https://coveralls.io/github/fluencelabs/marine)
Marine is a modern general purpose Wasm runtime based on the [component model](https://github.com/WebAssembly/component-model) capable of running multi-module Wasm applications, aka services, with [interface-types](https://github.com/WebAssembly/interface-types) and a [shared-nothing linking](https://training.linuxfoundation.org/blog/how-and-why-to-link-webassembly-modules/) scheme. This execution model is well suited for a variety of scenarios and especially applicable to implementations following the [entity component system](https://en.wikipedia.org/wiki/Entity_component_system) (ECS) pattern or plugin-based architectures.
@ -136,5 +137,3 @@ Any interested person is welcome to contribute to the project. Please, make sure
## License
All software code is copyright (c) Fluence Labs, Inc. under the [Apache-2.0](./LICENSE) license.