name: Main
on: [push]
env:
CARGO_TERM_COLOR: always
jobs:
coverage:
name: Run test coverage
runs-on: ubuntu-22.04
steps:
- name: Check out code
uses: actions/checkout@v3
- name: Set up Rust
uses: actions-rust-lang/setup-rust-toolchain@v1.3.7
with:
toolchain: nightly
components: llvm-tools-preview
- name: Install cargo-llvm-cov
run: cargo install cargo-llvm-cov
- name: Setup Cgroup
run: |
sudo mkdir -p $TEST_CGROUP_PATH/test.scope
sudo chown -R $(id -u):$(id -g) $TEST_CGROUP_PATH
sudo usermod --add-subuids 100000-165536 --add-subgids 100000-165536 $(id -un)
sudo echo -n '+memory +pids +cpu' >$TEST_CGROUP_PATH/cgroup.subtree_control
env:
TEST_CGROUP_PATH: /sys/fs/cgroup/sbox.slice
- name: Run test coverage
run: |
sudo bash -c "echo -n $$ >$TEST_CGROUP_PATH/test.scope/cgroup.procs"
cargo llvm-cov clean --workspace
cargo llvm-cov --lcov --output-path ./coverage.lcov
env:
TEST_CGROUP_PATH: /sys/fs/cgroup/sbox.slice
- name: Cleanup Cgroup
run: |
sudo rmdir $(ls -d $TEST_CGROUP_PATH/*/) $TEST_CGROUP_PATH
env:
TEST_CGROUP_PATH: /sys/fs/cgroup/sbox.slice
- name: Upload results to Codecov
uses: codecov/codecov-action@v3
env:
CODECOV_TOKEN: ${{secrets.CODECOV_TOKEN}}
with:
file: ./coverage.lcov