diff --git a/.github/workflows/go-auto-merge-main.yml b/.github/workflows/go-auto-merge-main.yml index c8945c5..ea7c7eb 100644 --- a/.github/workflows/go-auto-merge-main.yml +++ b/.github/workflows/go-auto-merge-main.yml @@ -130,10 +130,9 @@ jobs: git push --delete origin "$RC_TAG" || true git push origin "$RC_TAG" - echo "Tag ${{ env.RC_TAG }} was **pushed to remote**" >> $GITHUB_STEP_SUMMARY + echo "RC Tag ${{ env.RC_TAG }} was **pushed to remote**" >> $GITHUB_STEP_SUMMARY echo " -> Pushed tag $RC_TAG" - ## LABEL PR for Auto Deploy, to trigger 'Tag Main' Workflow after merge ## - name: Search for 'auto-deploy', among the registered Repository PR Labels run: echo AUTO_DEPLOY_LABEL_OBJECT="$(gh label list --json id,name,description,isDefault --jq '.[] | select(.name == "auto-deploy")')" >> $GITHUB_ENV @@ -149,6 +148,15 @@ jobs: env: GH_TOKEN: ${{ secrets.pat_token }} + - run: echo "## Derived Merge Commit Message on `main`" >> $GITHUB_STEP_SUMMARY + - run: | + echo "\`\`\`" >> $GITHUB_STEP_SUMMARY + echo "${{ env.CM_MSG }}" >> $GITHUB_STEP_SUMMARY + echo "\`\`\`" >> $GITHUB_STEP_SUMMARY + echo "" >> $GITHUB_STEP_SUMMARY + + - run: echo "${{ env.CM_MSG }}" >> $GITHUB_STEP_SUMMARY + ### Merge PR, when CI Pass + Human Review OK + Webhook Statuses Green + etc ### - name: "Merge PR 'head': ${{ env.RELEASE_BR }} --> 'base': ${{ env.MAIN_BR }}" run: | diff --git a/docs/guides/gitops/run/guide_run_gitops_release_me_process.md b/docs/guides/gitops/run/guide_run_gitops_release_me_process.md index 4a3a268..a981161 100644 --- a/docs/guides/gitops/run/guide_run_gitops_release_me_process.md +++ b/docs/guides/gitops/run/guide_run_gitops_release_me_process.md @@ -41,12 +41,12 @@ This is a `how-to` Guide, with everything you need, to "run" the - [Setup Human Approval](../setup/guide_setup_main_manual_acceptance.md) -## Guide +## :material-forward: Guide -
+ -1. Fire-up `release-me` git tag event +1. :octicons-tag-24: Fire-up `release-me` git tag event ```sh export _tag=release-me @@ -54,9 +54,9 @@ This is a `how-to` Guide, with everything you need, to "run" the git tag "$_tag" && git push origin "$_tag" ``` -2. Wait for PR to open against *base* `main` branch, from *head* `release` branch +2. :material-source-pull: Wait for PR to open against *base* `main` branch, from *head* `release` branch -3. Sync `release` branch to local checkout +3. :material-sync: Sync `release` branch to local checkout ```sh export release=release @@ -69,35 +69,67 @@ This is a `how-to` Guide, with everything you need, to "run" the git pull origin "${release}" ``` -4. Derive new Sem Ver +4. :simple-semanticrelease: Derive Release Semantic Version - {% include 'diagram-sem-ver-derivation-process.md' %} + **Please enter** the new **Semantic Release Version**, you intend to publish: -5. Update Changelog (1) +
-6. If you maintain the Sem Ver in your source files, **update Sem Ver in sources** +- -7. Fire-up a `auto-prod-` git tag event (ie `auto-prod-1.2.0`) + --- - ```sh - export _SEM_VER=... - ``` + Input Release Semantic Version; ie 1.2.1 - ```sh - export _tag="auto-prod-${_SEM_VER}" - git tag -d "$_tag"; git push --delete origin "$_tag"; - git tag "$_tag" && git push origin "$_tag" - ``` + - Get help in **determining Version Bump**, from the [:material-arrow-decision: Decision Diagram](../../../topics/semantic-release.md#semantic-release-version-bump) + - Read more on [:octicons-book-16: Semantic Release Topic](../../../topics/semantic-release.md) + + +- :material-clock-fast:{ .lg .middle } __Automation currently supports__ + + --- + + - `` for Public Changes + + Eg: `1.0.0`, `1.2.1`, `0.5.0` + + - `` for Private Changes + + Eg: `1.0.1-dev`, `1.2.1-dev2`, + `0.5.0-dev1` -8. If, you have setup `Human Approval`, give the Release a **green light**, by approving a Code Review. +
+ +
+ +
    +
  1. Update Changelog (1)
    code CHANGELOG.md
    git add CHANGELOG.md && commit -m "chore(changelog): add v... Changelog Release Entry"
    git push origin release
  2. +
  3. If you maintain the Sem Ver in your source files, update Sem Ver in sources (2)
  4. +
  5. Fire-up an auto-prod-<sem ver> git tag event (ie auto-prod-1.2.0) + +
    export _SEM_VER=...
    + + ```sh + export _tag="auto-prod-${_SEM_VER}" + git tag -d "$_tag"; git push --delete origin "$_tag"; + git tag "$_tag" && git push origin "$_tag" + ``` + +
  6. +
  7. If, you have setup Human Approval, give the Release a green light, by approving a Code Review.
  8. +
+ +
1. :man_raising_hand: Typically the CHANGELOG.md file! -## Congratulations :partying_face: ! +2. :man_raising_hand: Typical files are, `VERSION`, `pyproject.toml`, `package.json`, etc. + +## Congratulations :partying_face: -Your changes should now be merged into `main`. +Your changes should now be **merged** and **tagged** into `main`! ```mermaid %%{init: { 'logLevel': 'debug', 'theme': 'gitGraph': {'rotateCommitLabel': false, 'showBranches': true, 'showCommitLabel':true, 'mainBranchName': 'main / master'}} }%% @@ -118,5 +150,13 @@ Your changes should now be merged into `main`. commit id: "CHANGELOG.md" tag: "v2.1.0-rc" checkout main - merge release id: "[NEW] 2.1.0" type: HIGHLIGHT + merge release id: "[NEW] 2.1.0" type: HIGHLIGHT tag: "v2.1.0" ``` + +### Next Steps + +- :material-sync: Sync your local `main` branch with **remote** + + ```sh + git checkout main && git pull origin main + ``` diff --git a/docs/topics/semantic-release.md b/docs/topics/semantic-release.md index 7087310..0da2c49 100644 --- a/docs/topics/semantic-release.md +++ b/docs/topics/semantic-release.md @@ -27,6 +27,11 @@ quadrantChart Add support for new python 3.14: [0.25, 0.64] ``` +## Semantic Release - Version Bump + +{% include 'diagram-sem-ver-derivation-process.md' %} + + ## Non-Public API Changes > Essentially anything that is backwords-compatible. > Any non-breaking changes.