Update installation.rst #699
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Coverage | |
on: | |
push: | |
branches: [master] | |
pull_request: | |
# Check all PR | |
concurrency: | |
group: coverage-${{ github.ref }} | |
cancel-in-progress: ${{ github.ref != 'refs/heads/master' }} | |
jobs: | |
coverage: | |
runs-on: ubuntu-22.04 | |
name: collect code coverage | |
steps: | |
- name: free disk space | |
run: sudo rm -rf /usr/share/dotnet /usr/local/lib/android || true | |
- uses: actions/checkout@v4 | |
- name: setup Python | |
uses: actions/setup-python@v5 | |
with: | |
python-version: "3.12" | |
- name: setup rust | |
uses: dtolnay/rust-toolchain@master | |
with: | |
toolchain: stable | |
- name: install cargo tarpaulin | |
uses: taiki-e/install-action@v2 | |
with: | |
tool: cargo-tarpaulin | |
- name: install python dependencies | |
run: | | |
python -m pip install --upgrade pip | |
# https://github.com/tox-dev/tox/issues/3238 | |
python -m pip install tox==4.14.0 | |
python -m pip install coverage | |
- name: install lcov | |
run: sudo apt install -y lcov | |
- name: cache tox environments | |
uses: actions/cache@v3 | |
with: | |
path: .tox | |
key: tox-${{ hashFiles('pyproject.toml', 'setup.cfg', 'tox.ini') }} | |
- name: Setup sccache | |
uses: mozilla-actions/[email protected] | |
with: | |
version: "v0.5.4" | |
- name: Setup sccache environnement variables | |
run: | | |
echo "SCCACHE_GHA_ENABLED=true" >> $GITHUB_ENV | |
echo "RUSTC_WRAPPER=sccache" >> $GITHUB_ENV | |
echo "CMAKE_C_COMPILER_LAUNCHER=sccache" >> $GITHUB_ENV | |
echo "CMAKE_CXX_COMPILER_LAUNCHER=sccache" >> $GITHUB_ENV | |
- name: collect rust and C/C++ coverage | |
env: | |
RASCALINE_TEST_WITH_STATIC_LIB: "1" | |
run: | | |
cargo tarpaulin --all-features --workspace --engine=llvm --out=xml --output-dir=target/tarpaulin --objects target/debug/librascaline.so | |
# cleanup C/C++ coverage | |
lcov --directory . --capture --output-file coverage.info | |
lcov --remove coverage.info '/usr/*' "$(pwd)/rascaline-c-api/tests/*" "$(pwd)/rascaline-c-api/examples/*" --output-file coverage.info | |
- name: collect Python coverage | |
run: | | |
tox -e all-deps | |
tox -e torch-tests | |
env: | |
# Use the CPU only version of torch when building/running the code | |
PIP_EXTRA_INDEX_URL: https://download.pytorch.org/whl/cpu | |
- name: combine Python coverage files | |
run: | | |
coverage combine --append \ | |
./.coverage \ | |
./python/rascaline-torch/.coverage | |
coverage xml | |
- name: upload to codecov.io | |
uses: codecov/codecov-action@v4 | |
with: | |
fail_ci_if_error: true | |
files: target/tarpaulin/cobertura.xml,coverage.xml,coverage.info | |
token: ${{ secrets.CODECOV_TOKEN }} |