Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Test-tools improvement #456

Merged
merged 69 commits into from
Sep 25, 2023
Merged

Conversation

tsampazk
Copy link
Collaborator

@tsampazk tsampazk commented Aug 24, 2023

Attempting to manipulate github actions to install the toolkit once and then use this single installation to run all the tool tests in parallel, instead of reinstalling the whole toolkit in each separate VM for every tool.

Update: caching the venv partially works speeding up the whole procedure. It seems that some system dependencies are missing, will investigate further.

Update: Progressing well, need to reinstall some system dependencies for each tool which is a really fast process. Many tools also require retinaface's make to run or else they get some Cython errors. End to end planning and multi object search still get some errors, presumably because of ROS dependencies etc, investigating further.

Update: Latest issues were solved, now new speech transcription tools are broken, attempting fixes.

Update: All tests pass successfully, now trying out various scenarios to see if caching behaves as expected for normal use.

@tsampazk tsampazk self-assigned this Aug 24, 2023
@tsampazk tsampazk added the test tools Test the toolkit methods label Aug 24, 2023
@tsampazk tsampazk added the test sources Run style checks label Aug 24, 2023
@tsampazk tsampazk marked this pull request as ready for review September 25, 2023 08:30
@tsampazk
Copy link
Collaborator Author

New workflow should be good to go for normal usage, from my end it seems to be stable.

Toolkit gets installed once and saved to github cache and then loaded for each separate tool. If test tools had been run recently (within last week) and no changes have been made to dependencies, requirements or install.sh, the previous installation is loaded and installation is skipped altogether. If anything goes wrong during cache loading, e.g. timeout on download which is a github issue, toolkit is reinstalled and tests run normally.

Github cache (Actions->cache on github top menu) doesn't seem to require any intervention in regular tests use cases and should be managed automatically.

@tsampazk tsampazk changed the title [Experimental] Improving test tools Test-tools improvement Sep 25, 2023
Copy link
Collaborator

@passalis passalis left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks!

Copy link
Collaborator

@omichel omichel left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

That looks good to me as well.

@tsampazk tsampazk merged commit a3c1cfe into develop Sep 25, 2023
48 checks passed
@tsampazk tsampazk deleted the experimental-improvement-test-tools branch September 25, 2023 11:43
lucamarchionni pushed a commit to lucamarchionni/opendr that referenced this pull request Jun 10, 2024
* Applied latest change from tests_suite.yml

* Add echo message for identification

* Moved identification at the beginning

* Removed identification

* Attempting to split the installation

* Split installation in another job

* Added activation of environment in test tools

* Trying out some caching

* Trying out separate installation job with cache

* Fix cache version in test tools and keep only engine test for debugging

* Trying out caching venv

* Trying out some additional tests

* Re-enabled all tests for full run

* Attempting to install libopenblas etc

* Added more system dependencies and disabled most tests to lessen load

* Attempting to install Cython again

* Attempting different Cython installation

* Attempting retinaface make

* Re-enable all other tests for ful lrun

* Attempting install dependency

* Added missing repositories for ROS

* Attempting to remedy the timeouts on cache restore

* Attempting to update apt after adding keys

* Attempting to run make libopendr as it seems to be used in regular install.sh after ROS installation (presumably builds ROS workspaces?)

* Temporary fix to nms

* Temporary fix for nms

* Temp fix seq2seq nms

* Remove non-existing options

* Update test_seq2seq_nms.py

* Attempting to install mobile manipulation before running

* Attempting make mobile manip

* Removed make libopendr

* Attempting to run mobile manip stuff without if

* Added some echos

* Update tests_suite.yml

* Update tests_suite.yml

* Readded if for mobile manipulation

* Removed if altogether

* Readded accidentally removed cd

* Changed up the if to include multi object search for installing ROS deps

* Attempting make libopendr again

* Added opendr device

* Modified ifs for end to end planning and mobile manip

* Determining whether egl and dependencies are installed

* Attempting installation of libegl1 and some attempted fixes on mobile manip if

* Added if f or libegl installation and attempting to source setup.bash for end-to-end-planning

* Removed ifs between mobile manip and and end-to-end, also enabled all tests for full run

* Added ffmpeg system install and hashing dependencies.inis for cache key

* Removed cache restore key and added test with and without cache

* Testing if cache-hit

* Added missing cache step id

* Added some echos, added regular installation on cache miss, added timeout workaround for downloading

* Fix

* Add dummy dependency to test cache behaviour

* Dummy code change

* Removed dummy code change

* Removed dummy dependency

* Added additional hash name for cache

* Fix actions versions

* Fixed cache restoring

* Increased timeout mins 3->5

* Removed ffmpeg system dependency

* Added apt update
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
test sources Run style checks test tools Test the toolkit methods
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants