-
Notifications
You must be signed in to change notification settings - Fork 108
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
Define method of installation validation of wmcore packages that are uploaded to Pypi #11331
Comments
@khurtado , there is 3rd and more easy option which I'll recommend. We should use user virtual environment where packages can be installed directly. If I'm not mistaken the build produce (s)dist python packages and venv can use them. @todor-ivanov can you provide instructions how to use local (s)dist python packages (after the |
Hi @vkuznet thanks fro mentioning it here.
The idea behind this script was exactly to also be able to deploy our packages from the test Pypi repository/index and give us the ability to use it as a validation repository. There is a minor problem that needs to be mentioned though, some of our external packages dependencies do exist only in the production Pypi repository/index. Because of that, the script would ask you at some point if you would like to try to resolve those dependencies from the production Pypi repository. It is up to you to chose that path and let the script do it for you, or to take the list of unresolved dependencies and do it manually post deployment process. The script can also deploy not the full WMCore stack but just a single component.
this will deploy For help on the full set of options you may use:
Please let me know if you need more instructions on this. Or if you find something broken, or anything that is needed and not worked out to the end. I will be extremely happy to work on fixing it and help speeding up this process. |
p.s. |
@todor-ivanov , I think we need an option to install packages whose wheel or dist tarballs are available locally, i..e before uploading them to pypi. If I recall correctly the whl file can be installed as simple as @khurtado , I think the workflow should be the following:
My point is that you should not upload to pypi a broken package and we need ability to test it before we upload it. Or, if there is no such option we should upload package to |
Hi @vkuznet :
Agreed. I am on it already.
Agreed again. Or to put it in some other perspective, we should make sure at least that the packages to be uploaded in Pypi (test index) are install-able/deploy-able. While for later bugs and errors ... well here comes into the picture the proper validation process to find and clean them, for which the Pypi Test index should be used. And later to Pypi prod index we upload hopefully only bug and error free versions. |
Sorry ... the prevous version of this comment was meant to end up in another issue, but It is for sure useful information here as well. |
@khurtado maybe we could simplify it by actually installing all the packages/versions listed in the requirements.txt file. This should be the first job in our GH action and then the subsequent jobs would have to use the |
Impact of the new feature
We have the ability to build and upload packages to Pypi based on tags. We need a way to validate that the services we are building don't have version conflicts within dependencies, ideally before uploading them to Pypi. This is linked to the package versions defined below:
https://github.com/dmwm/WMCore/blob/master/requirements.txt
Is your feature request related to a problem? Please describe.
This is related to #11327. E.g.: Different tags for wmagent are showing different pypi issues when installing, but all are AFAIK all related to the requirements.txt file where we define the package version dependencies.
Describe the solution you'd like
There are different ways to go around this:
If we do the first, we could append something like
.pypi_validated
at the end of the tag, so the github actions will only pick those tags to upload to Pypi.Describe alternatives you've considered
Fix #11327 and do nothing afterwards. We should be okay for a while until we are not, which would require another issue reporting an installation bug to fix it.
The text was updated successfully, but these errors were encountered: