Skip to content

Maintenance: Create a development release versions in pypi #4506

Closed

Description

@leandrodamascena

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

Activity

  1. heitorlessa commented on Jun 13, 2024

    @heitorlessa
    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.

  2. leandrodamascena commented on Jun 13, 2024

    @leandrodamascena
    ContributorAuthor

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

  3. moved this from Backlog to Working on it in Powertools for AWS Lambda (Python)on Jun 17, 2024
  4. heitorlessa commented on Jun 17, 2024

    @heitorlessa
    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

  5. leandrodamascena commented on Jun 17, 2024

    @leandrodamascena
    ContributorAuthor

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

  6. heitorlessa commented on Jun 17, 2024

    @heitorlessa
    Contributor

    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
  7. github-actions commented on Jun 20, 2024

    @github-actions
    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.

  8. moved this from Coming soon to Shipped in Powertools for AWS Lambda (Python)on Jun 24, 2024
  9. github-actions commented on Jun 27, 2024

    @github-actions
    Contributor

    This is now released under 2.40.0 version!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

internalMaintenance changes

Type

No type

Projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions