Closed carver closed 3 years ago
- delete the v0.1.0 stable build of py-evm
I wanted to highlight this. Anything I'm missing about why it might be a bad idea?
Oh, and if this had been for a stable release, the best course of action would probably have been to immediately issue a rollback version that tags an old commit with a new version number. Then anyone doing pip install -U
or installing fresh will get a working version. It adds more churn to the versioning, but that's better than trying to rush into finding a solution.
A note about that probably belongs here:
That seems like the closest thing to the "best practice" from the web app deployment world of always having a "revert deploy" button easily accessible. It doesn't translate perfectly to pip, since
I wanted to highlight this. Anything I'm missing about why it might be a bad idea?
I think it's fine. I'm pretty sure that's a leftover of me initially not finding the UX for deleting repositories in the pypi interface.
What is wrong?
Releaser: @carver
There was a bug in the code that only affected packaged code (the source project was unaffected). In the process of fixing it and re-releasing, a lot of other problems occurred.
requests
in: efce4981ff095b0d9d6249974093fb63a421c39e and re-running thetwine
step of the releasepython setup.py sdist bdist_wheel
run, and inspecting thetrinity/assets
folder, it became clear that the files were included, but not the subfolders.trinity
in sight: https://github.com/ethereum/py-evm/commit/8d902b4f3b56b903a788a82548a77a4537ab46f2twine upload
: https://github.com/ethereum/py-evm/blob/a251ffbd773a6d062497341ae41789be8b76dcd3/Makefile#L64-L69twine
:python setup_trinity.py
line lists out all files added via manifest, and the assets subfolders still weren't listed...recursive-include
command uses a different format for the argument, which space-separates the folder from its contents, instead of slash-separatinggit-reflog
history and push it up.twine upload
trinity v19. Smoke test. Same failure. :rage2: :rage2:trinity
module, they are actually bundled (and searched for) in thepy-evm
package... Great, time to re-bump py-evm and trinity, and release again :man_facepalming: .twine
pip install
the wheel in thedist/
directory, that's neat. Why weren't we doing that all along? No time for that now...pip install
the wheel into a fresh virtualenv, after looking up how to install a wheel with extras, ie~pip install 'py-evm/dist/py_evm-0.2.0a37-py3-none-any.whl[p2p,trinity]'
twine upload/*
the py-evm build, watching the logs scroll by. See atrinity
wheel getting uploaded...Ctrl-C
because I don't want an unexpected package to be uploaded.clean
step which is tucked away on therelease:
line... https://github.com/ethereum/py-evm/blob/a251ffbd773a6d062497341ae41789be8b76dcd3/Makefile#L63Ctrl-C
in the middle.pip install -U py-evm[p2p,trinity]
, and get some terrible crash that I don't recognize/remember :rage4: :rage4: :rage4: :rage4: (did you spot my mistake?)Ctrl-C
broke it, intermediate states can fail in all sorts of weird, hard-to-diagnose ways. People could be installing trinity right now! Just bump py-evm one more time and release: 68026a4524108f8840aa3602f6205355055a9e4aFollow-ups:
Ctrl-C
? -- It turns out it was because I forgot to--pre
in my pip install. Weirdly there is currently a stable v0.1.0 release on pip (which is super old & busted). So (AFAICT) the last py-evm version bump was unnecessary.How can it be fixed
pip install 'py-evm/path/build.whl[p2p,trinity]'
MANIFEST.in
isn't reused in bothsetup.py
builds.