-
Notifications
You must be signed in to change notification settings - Fork 40
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
Separate packages #264
Separate packages #264
Conversation
Codecov Report
@@ Coverage Diff @@
## master #264 +/- ##
==========================================
- Coverage 90.03% 0.00% -90.04%
==========================================
Files 54 47 -7
Lines 2268 1972 -296
==========================================
- Hits 2042 0 -2042
- Misses 226 1972 +1746
Continue to review full report at Codecov.
|
I've got this pretty far, but I'm sorta stuck on checks. The eager deps workflow doesn't make much sense. They don't recreate the same tests as the main tests, and we have an arbitrary requirements text file buried in the github actions? As for the API, i'm completely stumped on the pre-commit and OpenAPI actions. They both work on my computer. The Docker GH Validator will just fail till we merge this in and update that. |
In our CI it always defaults to the last |
Not a failure. It's what it's supposed to do: Use the validator from the PR commit. |
Actually, there is no need anymore for us to call the validator in our internal pytests, other than it's nice to have when running the tests locally. But for CI we're already running these tests for our "implementation" via the Docker CI job run. |
ah, um, this is more convoluted than I remembered >< |
Ok, so it appears there is a dependency cycle that normally works because the structure of the repo doesn't change, but it's broken this one situation. The GH-Validator makes an assumption on how the validator gets installed which is no longer the case for this one PR simply because there is no If you have an idea on how to do this without breaking a repo's CI tests, I'm all ears. |
Right: It's expecting it to be |
Yeah! This works for now. |
I forgot to update the release workflow. Also, each package will need a version. Do we just keep them all in sync with one version file? I'm thinking linked |
It's trying to be a fail-safe of sorts to check the tag name (i.e., the version) matches the package
Definitely just one single version number. Everything else gets too confusing, right? |
Any issues with using the git tag for |
There is the discrepancy of the inital Also, the "manual" part here is mitigated somewhat by the |
What do you mean by this? Like the tag will have |
yepper |
Ah |
Going through their readme, it seems a lot of trouble for a small issue. Hmm.. I'm seeing a lot both for and against this. Would it be possible to address this in a separate PR maybe or would it fit best here if the change is needed? |
That's fine. I've got to figure out how to do one central file for versioning then. |
It's a huge issue. Just because we write 50 asserts to check versions doesn't mean they capture the important edge cases. I'm not seeing a good way to maintain multiple packages with consistent versions that's not a lot of untested infrastructure on our part. The alternative is to just go back to the giant mono-package. |
# Conflicts: # optimade/adapters/__init__.py # setup.cfg
Versioning is turning out to be a nightmare. So I'm going to close this for now and build a PR for some of the fixes and updates that can be incorporated back into the mono-package structure. |
This deals with #255 and breaks up the various parts of the tools into induvidual packages. There is also an
optimade
meta-package that installs everything.One thing we need to decide is where
__version__
and__api_version__
go. I'm managing this break up via namespace packages which don't allow for an__init__.py
at the namespace level. Right now they are both in theoptimade-server
, but I could understand them being moved intooptimade-core
.