Skip to content

fix(algorithm): enable maintenance prereleases #864

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

Conversation

codejedi365
Copy link
Contributor

@codejedi365 codejedi365 commented Mar 19, 2024

Purpose

Rationale

This change implies that where ever you are releasing from within the repository, the only tags you know about are the ones in your direct history line. This means that prereleases of older versions can be created which were not possible as documented in #861. Official releases were possible of older versions but this maintains that implementation.

How you tested

I added 2 more repo rebuild tests that demonstrate and validate the use of PSR for a dual version support environment of both official releases and prerelease variants of the last major version (after the latest major version has been released).

Note that the rebuild repos will need to demonstrate going back to the latest version and releasing a new release but currently the test infrastructure does not support building a changelog relevant to its git history.

We also could extend a dual version environment to GitHub Flow and Git Flow strategies but I did not take the additional time to make that implementation as I don't think it added a lot of value.

How to verify

  1. Check out this pr
  2. Reset 1 commit
  3. Run pytest --comprehensive, see failures:
    • test_trunk_repo_rebuild_dual_version_spt_official_releases_only
    • test_trunk_repo_rebuild_dual_version_spt_w_official_n_prereleases
    • test_increment_version_no_major_on_zero
    • test_increment_version_invalid_operation
  4. Update the repo to this PR head
  5. Run pytest --comprehensive and see failures are resolved

@codejedi365 codejedi365 force-pushed the fix/enable-maintenance-prereleases branch 2 times, most recently from 928aef0 to 54136f8 Compare March 22, 2024 00:53
@codejedi365 codejedi365 force-pushed the fix/enable-maintenance-prereleases branch 2 times, most recently from 408b500 to 0db9a01 Compare April 20, 2024 16:45
@codejedi365 codejedi365 force-pushed the fix/enable-maintenance-prereleases branch from 0db9a01 to 236101b Compare May 18, 2024 04:56
@github-actions github-actions bot added the stale label Jul 17, 2024
@codejedi365 codejedi365 added the confirmed Prevent from becoming stale label Jul 18, 2024
@github-actions github-actions bot added the needs-update Needs status update from maintainers label Sep 16, 2024
@codejedi365 codejedi365 removed stale needs-update Needs status update from maintainers labels Sep 17, 2024
@codejedi365 codejedi365 force-pushed the fix/enable-maintenance-prereleases branch from 236101b to 5d33b30 Compare November 10, 2024 08:35
@codejedi365 codejedi365 force-pushed the fix/enable-maintenance-prereleases branch 2 times, most recently from 2e06030 to 8314655 Compare December 3, 2024 08:07
@codejedi365 codejedi365 force-pushed the fix/enable-maintenance-prereleases branch from 8314655 to c0623a0 Compare December 15, 2024 01:57
@codejedi365 codejedi365 marked this pull request as ready for review December 15, 2024 01:58
@codejedi365 codejedi365 force-pushed the fix/enable-maintenance-prereleases branch 2 times, most recently from 188cbb9 to 68e19fa Compare December 15, 2024 03:57
@codejedi365 codejedi365 force-pushed the fix/enable-maintenance-prereleases branch 2 times, most recently from 2716519 to 967cf9f Compare December 15, 2024 20:47
Adds an automatic cancelation of in-progress pipelines to limit action minutes
used (especially for e2e testing) when developer has already pushed a new update
This clarifies repeated function calls and pytest parameter names included
the unclear assert diff.  Adds additional tests to check bad states for failures
and refactored to match new function signature.
@codejedi365 codejedi365 force-pushed the fix/enable-maintenance-prereleases branch from 967cf9f to f61db36 Compare December 15, 2024 21:00
refactor duplicate logging messages and flow to process out odd cases
in a fail fast methodology. This removes the reliance on any last full
release that is not within the history of the current branch.

Resolves: python-semantic-release#861
@codejedi365 codejedi365 force-pushed the fix/enable-maintenance-prereleases branch from f61db36 to c85d520 Compare December 15, 2024 21:01
@codejedi365 codejedi365 merged commit b88108e into python-semantic-release:master Dec 15, 2024
12 checks passed
@codejedi365 codejedi365 deleted the fix/enable-maintenance-prereleases branch December 15, 2024 21:26
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
confirmed Prevent from becoming stale
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Unclear how to release a patch of an old version
1 participant