poetry lock #1
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: Tests & Coverage | |
on: [ push, pull_request ] | |
jobs: | |
test: | |
runs-on: ubuntu-latest | |
defaults: | |
run: | |
shell: bash -el {0} | |
strategy: | |
matrix: | |
python-version: ["3.9", "3.10"] | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
submodules: 'recursive' | |
- name: Install EGL mesa - required for Panda3D renderer | |
run: | | |
sudo apt-get update -y -qq | |
sudo apt-get install -y -qq libegl1-mesa libegl1-mesa-dev | |
- name: Setup conda | |
uses: conda-incubator/setup-miniconda@v2 | |
with: | |
activate-environment: happypose | |
python-version: ${{ matrix.python-version }} | |
miniforge-variant: Mambaforge | |
miniforge-version: latest | |
use-mamba: true | |
- name: Get date for caching, reset cache every day | |
id: get-date | |
run: echo "::set-output name=today::$(/bin/date -u '+%Y%m%d')" | |
shell: bash | |
- name: Caching of the happypose installation | |
uses: actions/cache@v3 | |
with: | |
path: ${{ env.CONDA }}/envs | |
key: | |
conda-${{ runner.os }}--${{ runner.arch }}--${{steps.get-date.outputs.today }}-${{hashFiles('environment.yml') }}-${{env.CACHE_NUMBER }} | |
env: | |
# Increase this value to reset cache manually | |
CACHE_NUMBER: 0 | |
id: cache | |
- name: Update conda environment with happypose dependencies | |
run: | |
mamba env update -n happypose -f environment.yml | |
if: steps.cache.outputs.cache-hit != 'true' | |
- name: Install bop toolkit (temporal fix) | |
run: | | |
cd deps/bop_toolkit_challenge/ | |
sed 's/==.*$//' requirements.txt > req_nover.txt | |
pip install -r req_nover.txt -e . | |
if: steps.cache.outputs.cache-hit != 'true' | |
- name: Install happypose | |
run: | | |
cd happypose/pose_estimators/cosypose | |
pip install . | |
cd ../../.. | |
pip install -e . | |
- name: Download pre-trained models required for tests | |
run: | | |
mkdir local_data | |
python -m happypose.toolbox.utils.download --cosypose_model=detector-bop-ycbv-pbr--970850 | |
python -m happypose.toolbox.utils.download --cosypose_model=coarse-bop-ycbv-pbr--724183 | |
python -m happypose.toolbox.utils.download --cosypose_model=refiner-bop-ycbv-pbr--604090 | |
python -m happypose.toolbox.utils.download --megapose_models | |
cd tests/data | |
git clone https://github.com/petrikvladimir/happypose_test_data.git crackers_example | |
- name: Run tests | |
run: | | |
pip install pytest coverage | |
coverage run --source=happypose -m pytest tests | |
coverage xml | |
- uses: codecov/codecov-action@v3 | |
env: | |
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }} |