-
Notifications
You must be signed in to change notification settings - Fork 15
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
Describe how to handle dependencies between repositories #74
Comments
@t-persson @sodero @fdegir @tobiasake Please give your view on this or ask questions if the issue is hard to understand. |
ETOS is built with tag ":dev" with every merge, meaning that if you are following the ":dev" tag you might get stuff that is not working properly. We then handle the dependencies whenever we create a production release of ETOS in order to make sure that all the components work together. ETOS is a set of building blocks that, when put together, produces the system. There are no dependencies until the building blocks are put together Thanks for notifying us :) |
@t-persson while I was working on bringing the basic builds for etos-test-runner-containers repo, I noticed that go, python, and rust container images pull etos-base-test-runner:$DEBIAN release during their build. I suppose the image etos-base-test-runner:$DEBIAN_RELEASE is built in advance/manually (?) and pushed to the registry? |
I guess its ok to make latest commit docker image builds, but I take no responsibility if there is incompatibilities between frontend and backend components. So I am ok with latest/dev docker image builds, but I would like to complement with that we build docker image when a GitHub release has been made. I have heavy occupied with other projects and do not work with Eiffel that much, so can be slow on answer, sorry for that :) |
The test runner containers don't get rebuilt that often because they install most dependencies in run-time.
This makes it a bit harder for us to set up an automatic build process, I guess ( at least before we have an Eiffel queue that we can populate with new tool versions ;) ) How about the test-runner-containers jobs are created and we (etos-maintainers) manually trigger them, instead? |
@tobiasake thanks for the comments.
I see 2 things about this. The other thing; what is happening right now is to make this type of stuff community driven/oriented/maintained. If things work with the help of community, it will indirectly benefit the companies consuming these since making a release will hopefully as simple as clicking few buttons since the things are already proven to work at all times. If things don't work, then it is again community's responsibility to look at them collaboratively.
This is what is in our mind as well but for the community, done openly so everyone can see and contribute to how things are done, helping with moving to community driven approach.
The build jobs per GitHub release will be created soon once we settle the basic build process.
Yep, released versions will be kept as is and tags will not be reused.
Yes, definitely. The document linked below describes the current thinking. https://hackmd.io/X3Nrxe4MRdSJI_lsTkSwiQ?view
No problem and thanks for your comments. |
@t-persson we most definitely can do that. I'll send a review or two on Nordix Gerrit and add you as reviewer so we finalize ETOS builds and move to adjusting the builds of other ETOS repos to trigger on after merge. |
Description
Describe how to handle dependencies between repositories.
Currently Eiffel Intelligence Frontend is dependent on Eiffel Intelligence . If the front-end requires a feature in the back-end there is no point in releasing or building a Docker container for the front-end until the back-end has the functionality merged.
In ETOS on the other hand there is a wish to build the containers on every merge.
Motivation
Need a unified way of handling dependencies between repositories.
Exemplification
See description
Benefits
Avoiding unusable releases and docker containers
Possible Drawbacks
N/A
The text was updated successfully, but these errors were encountered: