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-0.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
tzemanovic added a commit that referenced this pull request Dec 11, 2024
* tomas/ci/test-ledger-app:
  ci/test-ledger-app: specify container image
  Point to Ledger app patched to fix decimal point and internal address issue.
  Format timestamps so that they exactly match hardware wallet outputs.
  ci: minors
  Minor simplifications.
  Added changelog entry.
  Make the CI run the generated test vectors through the Ledger app unit tests.
  fix readme links
  Added a changelog entry.
  Change the Hermes branch used by the CI.
  Refactors attaching signatures on wrapper dump
  ci: run on maint-libs PRs
  mergify: add apps backport rules, add prefix for libs
  Hide modified ZIP 32 behind a CLI flag.
  Downgraded the ledger-namada-rs branch. Now print error messages when MASP hardware wallet integration functionality is triggered.
  Test that the transfer source now displays as a viewing key.
  Make the the software wallet support the old Store format.
  Adjust integration tests to work with both hardware and localnet genesis files.
  update for mainnet release
  Namada 1.0.0
  clear changelogs released in libs-v0.46.1
  changelog: add #4123
  Changelog #4120
  Removes duplicated `sign-tx` command
  Adds tests for offline wrapper signature
  Fixes offline wrapper signature
  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
  Make shielded balance checking more robust for IBC tests.
  Sometimes use literals instead of aliases in the IBC tests.
  test/e2e/masp: add support for testing with HW wallet
  Always sign MASP Transactions before dumping because randomness parameters cannot be reused. Fixed MASP integration tests depending on access to secret keys.
  fix proposal type
  Dont do a dry run if using a device in the MASP integration tests.
  Moved the shielded keys used in the integration tests into the localnet wallet.
  Never use the hardware wallet to sign the fee header alone. Always ensure removal of MASP Builder data.
  Separate the storage of shielded keys from their birthdays.
  Expand MASP hardware wallet support to other transaction types.
  Factored out the logic for MASP hardware wallet signing.
  Implemented MASP signing using the hardware wallet.
  mergify: move autosquash to queue_rules
  Adds debug trace for masp epochs in asset types
  Revert "ci(mergify): upgrade configuration to current format"
  Error match for shielding retry logic
  Fix `gen_localnet.py` json exception
  Improves implicit vp display
  Changelog #4083
  Adds missing protocol params in logs
  Log the implicit vp in `query-protocol-parameters`
  mergify: backport 0.46
  Changelog #4071
  Refactors shielding retry logic
  Shielding retry logic only when masp vp rejects
  Fix typos in README.md
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
backport-libs-0.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