This monorepo contains the code for the AI Lab Datastore project. The project aims to provide a data store with metadata for images and other data types related to different projects. The datastore folder contains common code for projects used by Nachet and Fertiscan projects.
The monorepo consists of three main folders: datastore
, fertiscan
, and
nachet
. Here's an overview:
requirements.txt
using a tag like
git+https://github.com/ai-cfia/ailab-datastore.git@v1.0.0-fertiscan-datastore
.nachet-datastore @git+https://github.com/ai-cfia/ailab-datastore.git@v1.0.0-nachet-datastore
.Additionally, there is a common tests
folder that aggregates tests for all
three folders (datastore, fertiscan, and nachet). All project-specific tests
should be placed in their respective folders under ./tests
.
The monorepo has a CI/CD pipeline in place that automates the release process for both Nachet and Fertiscan packages. Here's how it works:
Version Bump Check:
nachet
, fertiscan
, or
datastore
folders when a pull request is created.datastore
, the pipeline validates the version
bumps for both the nachet_pyproject.toml
and fertiscan_pyproject.toml
files.nachet
folder, it triggers version bump
validation for nachet_pyproject.toml
. Similarly, changes to the
fertiscan
folder trigger validation for fertiscan_pyproject.toml
.pyproject.toml
.PR Merge and Release:
main
, the pipeline runs again and enters the
package release stage.nachet
folder, the
nachet-datastore
package will be released, tagged with the new version.fertiscan-backend
and nachet-backend
) can then
update their dependencies to point to the new release version.Release Handling:
v1.0.0-nachet-datastore
or
v1.0.0-fertiscan-datastore
.For detailed information on the specific workflows and configurations, please
refer to the respective README files in the nachet
and fertiscan
folders.