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

Maintenance: Create a development release versions in pypi #4506

Closed
1 of 2 tasks
leandrodamascena opened this issue Jun 13, 2024 · 7 comments
Closed
1 of 2 tasks

Maintenance: Create a development release versions in pypi #4506

leandrodamascena opened this issue Jun 13, 2024 · 7 comments
Assignees
Labels
internal Maintenance changes

Comments

@leandrodamascena
Copy link
Contributor

Why is this needed?

Development releases allow customers to preview upcoming changes in advance. Although these releases should not be used in production, this allows customers to test bug fixes, new features, and other changes in advance.

To add this new package in Pypi, we must follow the Python packaging guide defined here for Development releases: https://packaging.python.org/en/latest/specifications/version-specifiers/#public-version-identifiers

Which area does this relate to?

Automation

Solution

No response

Acknowledgment

@heitorlessa
Copy link
Contributor

yup, this would be technically a pre-release in PyPi.

What I love about this is that customers would have to intentionally want to install a pre-release version, allowing bugfixes to land quicker for those who can't wait w/o impacting stability for the majority of customers.

@leandrodamascena
Copy link
Contributor Author

Assinging to @heitorlessa!
BTW, I prefer to use the .alpha name as suffix.

@leandrodamascena leandrodamascena removed the triage Pending triage from maintainers label Jun 13, 2024
@heitorlessa heitorlessa moved this from Backlog to Working on it in Powertools for AWS Lambda (Python) Jun 17, 2024
@heitorlessa
Copy link
Contributor

@leandrodamascena how much of a deal breaker it is if we can't have .alpha suffix? I asked poetry a question as they hard code a suffix: https://github.com/orgs/python-poetry/discussions/9496

If it is, I might need an extra day to think of a non-fragile way of letting Poetry resolve a newer pre-release version, parse it, then replace pyproject.toml and shared/version.py with the .alpha suffix.

Listing out requirements in the meantime shortly

@leandrodamascena
Copy link
Contributor Author

Let's keep the standard and not complicate things, Heitor.
If they follow the specification, we will also follow and use a. 🚀

@heitorlessa
Copy link
Contributor

heitorlessa commented Jun 17, 2024

Perfect, figured as much.. tks for confirming!


List of requirements - lemme know if I missed anything.

  • Confirm whether .alpha over poetry default .a is a deal breaker (nope)
  • Release every weekday early morning (on-call coverage, no impact to release day)
  • Do not touch CHANGELOG (avoid spam, doesn't affect stable release on what's in it)
  • PyPi only; do not release a new Lambda Layer (no alias yet, it'd impact versioning)
  • Create PR to update pyproject.toml and shared/version.py (ensure deterministic for next release)
  • Ensure it doesn't create a new release notes (avoid spam, provenance signing etc)
  • Always autoincrement pre-release version (keep it simple over substantial checking for changes, dep/runtime devs etc)
  • Run full quality check and test suite
  • Do not release docs for each pre-release (develop covers it, avoid dropdown UX issue)
  • Allow manual trigger a.k.a dispatch
  • Release to PyPi prod, not PyPi test (test pypi maintenance and supply chain differences)
  • Do not touch pending-release issues (no post-release prod tasks)

Separate PR

  • Update docs to tell customers about unstable/prereleases

Copy link
Contributor

⚠️COMMENT VISIBILITY WARNING⚠️

This issue is now closed. Please be mindful that future comments are hard for our team to see.

If you need more assistance, please either tag a team member or open a new issue that references this one.

If you wish to keep having a conversation with other community members under this issue feel free to do so.

@github-actions github-actions bot added the pending-release Fix or implementation already in dev waiting to be released label Jun 20, 2024
@heitorlessa heitorlessa moved this from Coming soon to Shipped in Powertools for AWS Lambda (Python) Jun 24, 2024
Copy link
Contributor

This is now released under 2.40.0 version!

@github-actions github-actions bot removed the pending-release Fix or implementation already in dev waiting to be released label Jun 27, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
internal Maintenance changes
Projects
Status: Shipped
Development

No branches or pull requests

2 participants