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

Quality-of-life suggestions for release, CI, semantic versioning, etc. #59

Closed
ziatdinovmax opened this issue Oct 19, 2023 Discussed in #56 · 3 comments · Fixed by #85
Closed

Quality-of-life suggestions for release, CI, semantic versioning, etc. #59

ziatdinovmax opened this issue Oct 19, 2023 Discussed in #56 · 3 comments · Fixed by #85
Labels
enhancement New feature or request
Milestone

Comments

@ziatdinovmax
Copy link
Owner

Discussed in #56

Originally posted by matthewcarbone October 4, 2023
@ziatdinovmax I have a couple of suggestions for your consideration:

  • Pool all setup protocol into pyproject.toml. PEP 621 began the transition of Python setup to the "non-python" pyproject file. In GPax, the setup.py file is not necessary. We can pool all build instructions into the pyproject.toml file.
  • CI code can be slightly refactored for clarity.
  • Similarly, I have developed a procedure for on-the-fly semantic versioning from tags, similar to the old versioneer.py method, but my method is a few lines and relies on dunamai to grab the current HEAD's tag. I use this combined with "API-key-free" publishing to PyPI, my CI procedure, and GH environments to securely publish any new tagged release. The environment configuration requires manual confirmation before any release, in case you were worried about over-automation causing unintended things to happen. EDIT: there is a better way to do this using hatchling. See here.
  • Implement dependabot for automatic version bumps, and version-lock all dependencies. I think this is just good practice to ensure your code works even if a dependency releases an update that should be backwards compatible, but isn't. Example of that here.

The most recent example I have of all of this can be found here, with a slightly less recent example here.

I am more than happy to implement these QOL changes.

@ziatdinovmax ziatdinovmax added the enhancement New feature or request label Oct 19, 2023
@ziatdinovmax ziatdinovmax added this to the v0.3 milestone Oct 19, 2023
@ziatdinovmax
Copy link
Owner Author

@matthewcarbone - I converted it back to issue so that we can keep better track of it

@matthewcarbone matthewcarbone changed the title [v0.2.0] Quality-of-life suggestions for release, CI, semantic versioning, etc. Quality-of-life suggestions for release, CI, semantic versioning, etc. Oct 19, 2023
@ziatdinovmax
Copy link
Owner Author

@matthewcarbone have you had a chance to start implementing any of these?

@matthewcarbone
Copy link
Collaborator

@ziatdinovmax I'm sorry I missed this. No I haven't unfortunately. Been bogged down with other projects and stuff. I will do my best to get to it as soon as I can 👍

@matthewcarbone matthewcarbone linked a pull request Feb 14, 2024 that will close this issue
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants