Open sevagh opened 10 months ago
You can do it pretty easily with the included Docker image.
checkout
workflow of github actions (https://github.com/actions/checkout) to clone the code (make sure you use the appropriate options to enable git-lfs, since the test data files are stored with git-lfs: https://docs.github.com/en/repositories/working-with-files/managing-large-files/about-git-large-file-storage ubuntu-latest
runnerdocker build
command, using a docker workflow or just a bash run command in GitHub Actions: docker build --rm --pull -f "Dockerfile" -t pitchdetection:latest "."
docker run --rm --init -it pitchdetection:latest /usr/src/pitch-detection/build/pitch_tests
docker run --rm --init -it pitchdetection:latest /usr/src/pitch-detection/build/pitch_bench
We can also possibly look at GHCR.io/github's container registry to store the pitch_detection docker container as a release artifact: https://docs.github.com/en/actions/publishing-packages/publishing-docker-images
Feel free to explore at your pace, and ping me when you have any questions. There is no urgency on this issue.
Hey sevagh,
Thanks for the detailed steps.
While running unit test im getting error code of 139
Run docker run --rm --init -t pitchdetection:latest /usr/src/pitch-detection/build/pitch_tests
Running main() from ./googletest/src/gtest_main.cc
[==========] Running 228 tests from 22 test suites.
[----------] Global test environment set-up.
[----------] 2 tests from MpmSinewaveTestManualAllocFloat
[ RUN ] MpmSinewaveTestManualAllocFloat.OneAllocMultipleFreqFromFile
Error: Process completed with exit code 13[9](https://github.com/prabhjotsingh18/pitch-detection/actions/runs/7462132679/job/20303759912#step:5:10).
is this expected ?
I also tried the same locally I'm still getting the same error code when running it on my local machine.
Did you make sure to enable git-lfs?
Use the standard checkout workflow of github actions (https://github.com/actions/checkout) to clone the code (make sure you use the appropriate options to enable git-lfs, since the test data files are stored with git-lfs: https://docs.github.com/en/repositories/working-with-files/managing-large-files/about-git-large-file-storage
If you run git lfs ls-files
, what happens?
(system) sevagh@pop-os:~/repos/pitch-detection$ git lfs ls-files
5f6ff87b4d * misc/degraded_audio_tests/Viola-deg0.wav
f2ded53416 * misc/degraded_audio_tests/Viola-deg1.wav
c687598952 * misc/degraded_audio_tests/Viola-deg2.wav
0c125d1b40 * misc/degraded_audio_tests/Viola-deg3.wav
85382ee6f4 * misc/degraded_audio_tests/Viola-deg4.wav
96da9d1b2c * misc/degraded_audio_tests/Viola-deg5.wav
700846a8db * misc/degraded_audio_tests/Viola.arco.ff.sulC.E3.stereo.aiff
ada1f0cae6 * misc/degraded_audio_tests/restaurant08.wav
6839a50862 * misc/deps.png
fd6ebe74a3 * misc/mcleod/.github/degraded_e3_nsdf.png
2dc888c12b * misc/mcleod/.github/open_e_autocorrelation.png
...
The test data is stored with git-lfs (git large-file storage), which needs an extra step to clone.
Are there any more messages printed by the failing test?
Hey @sevagh ,
I would love to take this up, If you can let me know the steps involved in the process of building and commands to run tests