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

split release versions of bins and libs #4117

Merged
merged 8 commits into from
Nov 29, 2024
Merged

Conversation

tzemanovic
Copy link
Member

@tzemanovic tzemanovic commented Nov 29, 2024

Describe your changes

  • crates/apps will be versioned separately from everything else, starting at v1.0
    • tagged v1.0.0
    • maintenance branch maint-1.0
    • released with scripts/release_bins.sh
    • apps may be preceded by libs release with the libs release backported to the apps maintenance branch
  • everything else will continue with the current versioning scheme, currently at v0.46.0
    • the tags will be prefixed with libs-, e.g. next patch release tag would be libs-v.46.1
    • maintenance branch at maint-libs-0.46
    • released with scripts/release_libs.sh
    • libs can be released independently of apps at any time
  • what about changelogs?
    • both kinds of releases will be appended to the CHANGELOG.md in their release order and the libs release versions will be prefixed with libs- to distinguish them
    • most apps releases will usually have their changes coming from the libs, their changelog may often only contain e.g. updated namada libraries to libs-vX.Y.Z
  • backporting PRs
    • we can use labels backport-lib-X.Y for libs and backport-X.Y for apps
    • the vast majority of backporting PRs will only be touching libs as the crates/apps is a very thin layer of main fns which dispatch most of their functionality to crates/apps_lib
      • but if you need to modify both libs and apps with a non-breaking change, tag it with both labels
Updated release process
  • patch releases (non-breaking changes)
    • release from maintenance branches
    • libs: after release merge the maintenance branch back to main
    • apps:
      • if we need changes from libs, merge the needed libs tagged release libs-vX.Y.Z into apps maint branch before release (never merge unreleased libs branches here, such as a libs maintenance branch)
        • with this we should add a changelog updated namada libraries to libs-vX.Y.Z to serve as a link to the change set from libs
      • merge after release to main and then merge main into latest maint-libs-X.Y
  • minor releases (breaking changes)
    • if we're releasing both libs and apps at the same time, libs should be released first
    • always release from the main branch
    • libs: after release create a new maintenance branch maint-libs-X.Y
    • apps:
      • before release, if libs version has changed from the last apps release, also add a changelog updated namada libraries to libs-vX.Y.Z to serve as a link to the change set from libs
      • after release create a new maintenance branch maint-X.Y

Checklist before merging

  • If this PR has some consensus breaking changes, I added the corresponding breaking:: labels
    • This will require 2 reviewers to approve the changes
  • If this PR requires changes to the docs or specs, a corresponding PR is opened in the namada-docs repo
    • Relevant PR if applies:
  • If this PR affects services such as namada-indexer or namada-masp-indexer, a corresponding PR is opened in that repo
    • Relevant PR if applies:

@tzemanovic tzemanovic marked this pull request as ready for review November 29, 2024 15:52
Copy link

codecov bot commented Nov 29, 2024

Codecov Report

All modified and coverable lines are covered by tests ✅

Project coverage is 74.58%. Comparing base (c61bbe0) to head (63dae40).
Report is 12 commits behind head on main.

Additional details and impacted files
@@           Coverage Diff           @@
##             main    #4117   +/-   ##
=======================================
  Coverage   74.58%   74.58%           
=======================================
  Files         341      341           
  Lines      107491   107491           
=======================================
+ Hits        80169    80170    +1     
+ Misses      27322    27321    -1     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

@tzemanovic tzemanovic added merge Ready to merge - mergifyio bot will add the PR to merge queue when all checks pass backport-libs-46 Backport libraries to 0.46 maintenance branch and removed merge Ready to merge - mergifyio bot will add the PR to merge queue when all checks pass labels Nov 29, 2024
@tzemanovic tzemanovic added the merge Ready to merge - mergifyio bot will add the PR to merge queue when all checks pass label Nov 29, 2024
@tzemanovic tzemanovic merged commit 6f0e3b0 into main Nov 29, 2024
17 of 18 checks passed
@tzemanovic tzemanovic deleted the tomas/split-release branch November 29, 2024 16:57
mergify bot pushed a commit that referenced this pull request Nov 29, 2024
(cherry picked from commit 63dae40)
mergify bot added a commit that referenced this pull request Nov 29, 2024
split release versions of bins and libs (backport #4117)
tzemanovic added a commit that referenced this pull request Nov 29, 2024
* maint-0.46:
  Namada libs 0.46.1
  changelog: add #4117
  exclude apps crate from libs release
  apps: don't use workspace version anymore
  add a script to release apps bins
  prefix libs release tag with "libs-"
  mv scripts/release.sh scripts/release_libs.sh
  add different commit msg for libs release
  add a different release config for apps
  Changelog
  Add a single CometBFT dummy validator
  mergify: move autosquash to queue_rules
  Adds debug trace for masp epochs in asset types
  Fix `gen_localnet.py` json exception
  Revert "ci(mergify): upgrade configuration to current format"
  Error match for shielding retry logic
  Changelog #4071
  Refactors shielding retry logic
  Shielding retry logic only when masp vp rejects
  Improves implicit vp display
  Changelog #4083
  Adds missing protocol params in logs
  Log the implicit vp in `query-protocol-parameters`
  mergify: backport 0.46
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
backport-libs-46 Backport libraries to 0.46 maintenance branch merge Ready to merge - mergifyio bot will add the PR to merge queue when all checks pass
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants