-
Notifications
You must be signed in to change notification settings - Fork 0
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
docker: Actually install dependencies #32
Conversation
Weirdly on b8803b4 the CI passed. Then the next commit, c9fed63, which I pushed directly to master this morning (note to self: never do this even if it's Obviously Safe) failed. It's weird that Reading the news entries a little more i think this change is wrong. One moment... |
4a7b604
to
784e154
Compare
Dockerfile
Outdated
|
||
RUN pipenv install --ignore-pipfile --dev | ||
RUN pipenv install --dev |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
What you really want to do is call pipenv sync
. Then you still only need Pipfile.lock
. I thought I made that change here, but I only did it in Azafea.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
That's what I did in the first version of this patch. If you read the diff in https://github.com/pypa/pipenv/pull/6098/files they changed https://pipenv.pypa.io/en/latest/workflows.html from recommending pipenv sync
to pipenv install
. I think both would work. OK, I'll go back to v1.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ah, I didn't read the earlier context. That is... quite the choice they made there. How did all those people involved in the project review that PR and decide that changing the behavior of install
again was OK?
IMO, I think it's better to stick with sync
since it clearly does what we want with both older and newer versions of pipenv.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We should probably start pinning the version of pipenv
used since clearly the maintainers have little regard for compatibility. I also like the "we're using semantic versioning now but the major version is just the year" policy. Uh, ok.
Previously, `pipenv install` would relock dependencies unless you passed `--ignore-pipfile`. This was changed in pipenv 2024.0.0: > As much requested, the `install` no longer does a complete lock > operation. Instead `install` follows the same code path as pipenv update > (which is upgrade + sync). > – https://github.com/pypa/pipenv/blob/v2024.0.0/CHANGELOG.md#behavior-changes What does not seem to be documented is that, if no `Pipfile` is present, `pipenv install` now does nothing. Use `pipenv sync` instead.
784e154
to
cf81aa5
Compare
Previously,
pipenv install
would relock dependencies unless youpassed
--ignore-pipfile
. This was changed in pipenv 2024.0.0:What does not seem to be documented is that, if no
Pipfile
is present,pipenv install
now does nothing.Adjust for this: add the
Pipfile
to the container as well asPipfile.lock
, and drop--ignore-pipfile
.