Notebooks to upload/download marine footage, connect to a citizen science project, train machine learning models and publish marine biological observations.
This resolves issue #231. In the old workflow, the docker was build with the requirements from master, but the tests were run in a clone of the branch of the push/PR was made from, with a different version of ffmpeg than the container had. In this way we did not test if the code actually runs in the container.
The logic of this workflow is:
Run the pipeline in "dev", "master", and PRs to "dev", and "master"
If any of the files we related to the container has changed, then rebuild it.
On a PR, this new image gets the tag of the current branch, in a push it gets the tag of what we push to (dev or master)
To fetch the correct image for the tests: If we're in PR, and the files changed, or we're in dev and master, then fetch current branch. Otherwise, the PR target
Run the tests unconditionally
This results in that the dev or master docker image only gets updated on a push, independent on if the tests pass/fail during that push. (That they will pas should be checked first in a PR). The dev image only gets updated if the requirements/Docker file changed in the push. The master image always gets updated, since we want to have the new version of code available for the users on SNIC. (See issue #234)
Further improvements to the pipeline and the docker files are mentioned in issue #233.
This resolves issue #231. In the old workflow, the docker was build with the requirements from master, but the tests were run in a clone of the branch of the push/PR was made from, with a different version of ffmpeg than the container had. In this way we did not test if the code actually runs in the container.
The logic of this workflow is:
This results in that the dev or master docker image only gets updated on a push, independent on if the tests pass/fail during that push. (That they will pas should be checked first in a PR). The dev image only gets updated if the requirements/Docker file changed in the push. The master image always gets updated, since we want to have the new version of code available for the users on SNIC. (See issue #234)
Further improvements to the pipeline and the docker files are mentioned in issue #233.