On July 30, publish_beta.yml
workflow released v0.13.0-beta.9.
But I had already published v0.13.0 on master
. So, there was a problem.
$ git show v0.13.0
commit 2836e49592af0d8ca8ad87d25bfdff23932f2248 (tag: v0.13.0, origin/master-backup, master-backup)
Author: lydavid <lydavid@users.noreply.github.com>
Date: Tue Jul 18 23:36:57 2023 +0000
chore: bump version [skip ci]
diff --git a/gradle.properties b/gradle.properties
index 26d869a8..1431fc00 100644
--- a/gradle.properties
+++ b/gradle.properties
@@ -6,5 +6,5 @@ kotlin.code.style=official
When I released v0.13.0, I first did it through a PR and chose to rebase. I had thought this would be equivalent to:
git checkout master
git fetch
git rebase origin/beta
git push
But quickly found out that wasn’t the case. So I reverted the merge, forced push to master
and beta
, rewriting history,
then rebased on my own machine and pushed those changes.
This allowed master
and beta
to keep a linear history, and the same history.
What I did not realize at the time was this would throw semantic-release out of sync.
It would not notice that it had released v0.13.0, so a new feature on beta
would become v0.13.0-beta.9 instead of v0.14.0-beta.1.
I just rebased beta
on top of master
from my machine, and pushed it.
publish_production.yml
ran and submitted the new v0.13.0 build to Google Play.
But it failed to publish to GitHub.
fatal: tag 'v0.13.0' already exists
I forgot to delete the tag.
This time, I deleted the release from GitHub. And ran this locally:
git tag -d v0.13.0
git push --delete origin v0.13.0
npx semantic-release --no-ci
This worked, but it failed to include an apk in the release.
This time, I will delete the previous release, and merge beta
into master
on my machine, push it, and let publish_production.yml
handle the release.