Updating & releasing Accompanist
This doc is mostly for maintainers.
New features & bugfixes
All new features should be uploaded as PRs against the
main
branch.
Once merged into
main
, they will be automatically merged into the
snapshot
branch.
Jetpack Compose Snapshots
We publish snapshot versions of Accompanist, which depend on a
SNAPSHOT
versions of Jetpack Compose. These are built from the
snapshot
branch.
Updating to a newer Compose snapshot
As mentioned above, updating to a new Compose snapshot is done by submitting a new PR against the
snapshot
branch:
git
checkout
snapshot
&&
git
pull
# Create branch for PR
git
checkout
-b
update_snapshot
Now edit the project to depend on the new Compose SNAPSHOT version:
Edit
/gradle/libs.versions.toml
:
Under
[versions]
:
- Update the
composesnapshot
property to be the snapshot number
- Ensure that the
compose
property is correct
Make sure the project builds and test pass:
Now
git commit
the changes and push to GitHub.
Finally create a PR (with the base branch as
snapshot
) and send for review.
Releasing
Once the next Jetpack Compose version is out, we're ready to push a new release:
#1: Merge
snapshot
into
main
First we merge the
snapshot
branch into
main
:
git
checkout
snapshot
&&
git
pull
git
checkout
main
&&
git
pull
# Create branch for PR
git
checkout
-b
main_snapshot_merge
# Merge in the snapshot branch
git
merge
snapshot
#2: Update dependencies
Edit
/gradle/libs.versions.toml
:
Under
[versions]
:
- Update the
composesnapshot
property to a single character (usually
-
). This disables the snapshot repository.
- Update the
compose
property to match the new release (i.e.
1.0.0-beta06
)
Make sure the project builds and test pass:
Commit the changes.
#3: Bump the version number
Edit
gradle.properties
:
- Update the
VERSION_NAME
property and remove the
-SNAPSHOT
suffix.
Commit the changes, using the commit message containing the new version name.
#4: Push to GitHub
Push the branch to GitHub and create a PR against the
main
branch, and send for review. Once approved and merged, it will be automatically deployed to Maven Central.
#5: Create release
Once the above PR has been approved and merged, we need to create the GitHub release:
- Open up the
Releases
page.
- At the top you should see a 'Draft' release, auto populated with any PRs since the last release. Click 'Edit'.
- Make sure that the version number matches what we released (the tool guesses but is not always correct).
- Double check everything, then press 'Publish release'.
At this point the release is published. This will trigger the docs action to run, which will auto-deploy a new version of the
website
.
#6: Prepare the next development version
The current release is now finished, but we need to update the version for the next development version:
Edit
gradle.properties
:
- Update the
VERSION_NAME
property, by increasing the version number, and adding the
-SNAPSHOT
suffix.
- Example: released version:
0.3.0
. Update to
0.3.1-SNAPSHOT
git commit
and push to
main
.
Finally, merge all of these changes back to
snapshot
:
git checkout snapshot && git pull
git merge main
git push