-
Notifications
You must be signed in to change notification settings - Fork 980
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
[question] Best practices for handling test data in a CI pipeline #17133
Comments
Thanks for your question As a general guideline for CI at scale, the ongoing work in conan-io/docs#3799 might be useful, hopefully it can be published soon, but you might be able to generate the docs locally. This is not really about your questions, but it might be useful for the general issues of defining a CI pipeline. Regarding your question, indeed you could put more artifacts inside the If the balance points that this could be a real problem, then there could be some alternatives to consider, like storing the test artifacts in a separate package that can be used as
In general, it is better for Conan to model things more explicitly, like using Conan So having a bit more info about the test artifacts sizes and patterns/frequency of usage, could help deciding in one direction or another. |
Another important aspect to take into account would be the time of building the |
Any further question or clarification? Thanks for the feedback! |
Hi @memsharded, thanks so much for your advice! Unfortunately other tasks came up in the meantime which is why I could not yet fully implement the suggestions, but I'm happy to share an update :) I went with including the database dumps in the I unfortunately did not yet get to setting up the build for the downstream repositories for Thanks again :) |
Thanks very much for the feedback @AndreasAckermannTSystems !
Sounds good, happy that it is working. If you don't need more advice or feedback from us at the moment, it is fine to close the ticket, and when you have any further question or feedback, you can re-open or create a new ticket (depending on the case, as you wish). |
What is your question?
Hi everyone,
I'm working on establishing Conan packages and a CI pipeline for a product line of applications built from a shared set of modules, each contained in its own repository. These modules (e.g.
modA
andmodB
) all access a common database via classes contained in a module calledorm
.The
orm
repository also contains database dumps for a test-database, an import script, and a database configuration file used by our applications unit tests.modA
andmodB
's tests expect an initialized test database, and to have been provided this configuration file in a well-known location relative to their test binaries.The CI pipeline runs in ephemeral Docker containers for each repository, and as such, the test database needs to be recreated by importing the dumps on each run.
My current intended approach is the following:
orm
, package the test database dumps, config file and an importer script into theorm
packagemodA
, initialize the test database during theconanfile.py
'sbuild
method, if aCI=1
environment variable is detected, by copying out the config file fromorm
and executing the data import script contained there as wellAre there best practices / better ways to handle test data with Conan in a CI pipeline setting?
Have you read the CONTRIBUTING guide?
The text was updated successfully, but these errors were encountered: