Skip to content
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

Delete deprecated host-environment-markers key #7698

Merged
merged 1 commit into from
Aug 2, 2023

Conversation

jeffwidman
Copy link
Member

@jeffwidman jeffwidman commented Aug 2, 2023

Our pipenv fixtures are a bit outdated... when I tried to delete Python 3.6, they started failing because we've got some code that reads the python version and tries to use that to guess at what version of python to run.

However, when I tried regenerating one of these lockfiles under a newer Python, I was surprised that the entire host-environment-markers key disappeared.

After a little digging, I found that this key was removed in 2018, which also explains why only the older fixtures have it and not the more recent fixtures. More historical context:

In order to update our lockfiles, I first started by running PYENV_VERSION=3.11.4 pyenv exec pipenv lock... However, I ran into some problems because:

  1. Some of the lockfiles are simply unresolvable by design in order to stress test our code. So they have to be manually munged around.
  2. We are currently pinned to an olde version of pipenv due to conflicts with Python 3.6, etc: Bump pipenv to 2022.11.5 #6104

Since we will soon be dropping Python 3.6, 3.7, and then planning to update pipenv version, I decided it would be more efficient from an engineering perspective to hack my way through the jungle with a machete for a little bit by:

  1. Manually delete the key from the lockfiles (that's what this PR does)
  2. File a ticket to track regenerating the pipenv lockfiles: Regenerate pipenv lockfiles used as test fixtures #7697
  3. Finish the work of deprecating EOL'd python versions and updating pipenv
  4. Then finally regenerate the fixtures using pipenv lock.

So in this PR I manually deleted the key... but note that I was forced to do so manually not programmatically, so these fixtures may still be outdated in other ways.

Our `pipenv` fixtures are a bit outdated... when I tried to delete
Python 3.6, they started failing because we've got some code that reads
the python version and tries to use that to guess at what version of
python to run.

However, when I tried regenerating one of these lockfiles under a newer
Python, I was surprised that the entire `host-environment-markers` key
disappeared.

After a little digging, I found that this key was removed in 2018, which
also explains why only the older fixtures have it and not the more
recent fixtures. More historical context:
* pypa/pipenv#753
* pypa/pipenv@ecf7842#r28870534
* pypa/pipenv@ecf7842#diff-ef852c4ac364f946819f765a6bc26f04f1b0968f31fc512949a60fa2ab0685e8L1201

In order to update our lockfiles, I first started by running
`PYENV_VERSION=3.11.4 pyenv exec pipenv lock`... However, I ran into
some problems because:
1. Some of the lockfiles are simply unresolvable by design in order to
   stress test our code. So they have to be manually munged around.
2. We are currently pinned to an olde version of `pipenv` due to
   conflicts with Python `3.6`, etc: #6104

Since we will soon be dropping Python 3.6, 3.7, and then planning to
update `pipenv` version, I decided it would be more efficient from an
engineering perspective to hack my way through the jungle with a machete
for a little bit by:
1. Manually delete the key from the lockfiles (that's what this PR does)
2. File a ticket to track regenerating the `pipenv` lockfiles: #7697
3. Finish the work of deprecating EOL'd python versions and updating
   `pipenv`
4. Then finally regenerate the fixtures using `pipenv lock`.

So in this PR I manually deleted the key... but note that I did so
manually not programmatically, so these fixtures may still be outdated
in other ways.
@jeffwidman jeffwidman requested a review from a team as a code owner August 2, 2023 19:54
@jeffwidman jeffwidman merged commit 1bbea43 into main Aug 2, 2023
102 checks passed
@jeffwidman jeffwidman deleted the drop-host-environment-markers-key branch August 2, 2023 20:19
@jeffwidman jeffwidman added L: elixir:hex Elixir packages via hex Ecosystems Used by the maintainer team for internal-facing project tracking and removed L: python labels Aug 3, 2023
brettfo pushed a commit to brettfo/dependabot-core that referenced this pull request Oct 11, 2023
Our `pipenv` fixtures are a bit outdated... when I tried to delete
Python 3.6, they started failing because we've got some code that reads
the python version and tries to use that to guess at what version of
python to run.

However, when I tried regenerating one of these lockfiles under a newer
Python, I was surprised that the entire `host-environment-markers` key
disappeared.

After a little digging, I found that this key was removed in 2018, which
also explains why only the older fixtures have it and not the more
recent fixtures. More historical context:
* pypa/pipenv#753
* pypa/pipenv@ecf7842#r28870534
* pypa/pipenv@ecf7842#diff-ef852c4ac364f946819f765a6bc26f04f1b0968f31fc512949a60fa2ab0685e8L1201

In order to update our lockfiles, I first started by running
`PYENV_VERSION=3.11.4 pyenv exec pipenv lock`... However, I ran into
some problems because:
1. Some of the lockfiles are simply unresolvable by design in order to
   stress test our code. So they have to be manually munged around.
2. We are currently pinned to an olde version of `pipenv` due to
   conflicts with Python `3.6`, etc: dependabot#6104

Since we will soon be dropping Python 3.6, 3.7, and then planning to
update `pipenv` version, I decided it would be more efficient from an
engineering perspective to hack my way through the jungle with a machete
for a little bit by:
1. Manually delete the key from the lockfiles (that's what this PR does)
2. File a ticket to track regenerating the `pipenv` lockfiles: dependabot#7697
3. Finish the work of deprecating EOL'd python versions and updating
   `pipenv`
4. Then finally regenerate the fixtures using `pipenv lock`.

So in this PR I manually deleted the key... but note that I did so
manually not programmatically, so these fixtures may still be outdated
in other ways.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Ecosystems Used by the maintainer team for internal-facing project tracking L: elixir:hex Elixir packages via hex
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants