mirror of
https://seed.radicle.dev/rad:z4V1sjrXqjvFdnCUbxPFqd5p4DtH5.git
synced 2026-11-15 11:20:36 +08:00
desktop: Prefix the release commit and tag
- Write "desktop: Release <version>" as the release commit subject and the tag message, like httpd - Drop the v before the version everywhere else too: changelog headings, the releases/ folders and the apt branch - Still find older release commits, which lack the prefix and have a v
This commit is contained in:
committed by
Rūdolfs Ošiņš
parent
58e848d1d0
commit
3b64bbf556
+21
-21
@@ -1,4 +1,4 @@
|
||||
### v0.18.0
|
||||
### 0.18.0
|
||||
|
||||
**Features**
|
||||
|
||||
@@ -28,7 +28,7 @@
|
||||
- [brandonoxendine](https://radicle.network/nodes/iris.radicle.network/users/did:key:z6MkpwnLQxFBQXyMK3Es91s8A7Ew7G11BFFyng1dqZR8QhG3)
|
||||
- [ioannis](https://radicle.network/nodes/iris.radicle.network/users/did:key:z6MkfcWogpi5oLMvhvkk1M91CcrQhWgvbxbWCPDXxWATu8fG)
|
||||
|
||||
### v0.17.0
|
||||
### 0.17.0
|
||||
|
||||
**Features**
|
||||
|
||||
@@ -80,7 +80,7 @@
|
||||
- [brandonoxendine](https://radicle.network/nodes/iris.radicle.network/users/did:key:z6MkpwnLQxFBQXyMK3Es91s8A7Ew7G11BFFyng1dqZR8QhG3)
|
||||
- [efstajas](https://radicle.network/nodes/iris.radicle.network/users/z6MkqG3Pu18RWuZ8GrqGQ9s4yoi5rfhcLq9rpo1ZZX8en994)
|
||||
|
||||
### v0.16.0
|
||||
### 0.16.0
|
||||
|
||||
**Features**
|
||||
|
||||
@@ -124,7 +124,7 @@
|
||||
- [brandonoxendine](https://radicle.network/nodes/iris.radicle.network/users/did:key:z6MkpwnLQxFBQXyMK3Es91s8A7Ew7G11BFFyng1dqZR8QhG3)
|
||||
- [upbeat-molar](https://radicle.network/nodes/iris.radicle.network/users/did:key:z6MkmRaBHeJuJKQE21aRVSe2uW3j5T7gQQAEAY7UF4tr5jRn)
|
||||
|
||||
### v0.15.0
|
||||
### 0.15.0
|
||||
|
||||
**Features**
|
||||
|
||||
@@ -148,7 +148,7 @@
|
||||
|
||||
- [brandonoxendine](https://radicle.network/nodes/iris.radicle.network/users/did:key:z6MkpwnLQxFBQXyMK3Es91s8A7Ew7G11BFFyng1dqZR8QhG3)
|
||||
|
||||
### v0.14.0
|
||||
### 0.14.0
|
||||
|
||||
**Features**
|
||||
|
||||
@@ -169,7 +169,7 @@
|
||||
- [hlatimer266](https://radicle.network/nodes/iris.radicle.network/users/did:key:z6MkkwiqeqFrjPNvSNuNACpynpwiuVHqF8YHwGLzCBSfNJzZ)
|
||||
- [justarandomgeek](https://radicle.network/nodes/iris.radicle.network/users/did:key:z6MkwfrBy9mKTfcVELcV4wc6zfN379FPMnAqsxnwt4j2TdQ2)
|
||||
|
||||
### v0.13.0
|
||||
### 0.13.0
|
||||
|
||||
**Features**
|
||||
|
||||
@@ -191,7 +191,7 @@
|
||||
- List scroll position is now restored when navigating back and forth through
|
||||
history
|
||||
|
||||
### v0.12.0
|
||||
### 0.12.0
|
||||
|
||||
**Features**
|
||||
|
||||
@@ -207,7 +207,7 @@
|
||||
- Fixed the Linux AppImage failing to launch on non-Debian distributions
|
||||
- Fixed duplicate CI job runs by deduplicating them by run ID
|
||||
|
||||
### v0.11.0
|
||||
### 0.11.0
|
||||
|
||||
**Features**
|
||||
|
||||
@@ -261,7 +261,7 @@
|
||||
- [lorenz](https://radicle.network/nodes/iris.radicle.network/users/did:key:z6MkkPvBfjP4bQmco5Dm7UGsX2ruDBieEHi8n9DVJWX5sTEz)
|
||||
- [yarikoptic](https://radicle.network/nodes/iris.radicle.network/users/did:key:z6MkfCGiLM9j7AstSVNGhqtz9zkAhfb863etsbkRnXsipuRr)
|
||||
|
||||
### v0.10.0
|
||||
### 0.10.0
|
||||
|
||||
- Fixed app loading indicator
|
||||
- Sidebar scroll position is now preserved when navigating between views
|
||||
@@ -272,7 +272,7 @@
|
||||
|
||||
- [lorenz](https://radicle.network/nodes/iris.radicle.network/users/did:key:z6MkkPvBfjP4bQmco5Dm7UGsX2ruDBieEHi8n9DVJWX5sTEz)
|
||||
|
||||
### v0.9.0
|
||||
### 0.9.0
|
||||
|
||||
- Redesigned the entire app with a new UI kit — typography, colors, icons,
|
||||
avatars, and border radii have all been updated for a more polished,
|
||||
@@ -297,7 +297,7 @@
|
||||
- [brandonhaslegs](https://radicle.network/nodes/iris.radicle.network/users/did:key:z6MkpwnLQxFBQXyMK3Es91s8A7Ew7G11BFFyng1dqZR8QhG3)
|
||||
- [julien](https://radicle.network/nodes/iris.radicle.network/users/did:key:z6MkgvaRdahQZfnf7ccMHByeHtTYrMrM3MuSGYawF6ZL6DNj)
|
||||
|
||||
### v0.8.0
|
||||
### 0.8.0
|
||||
|
||||
- CI job run statuses are now shown for the default branch and in patch revision
|
||||
commit lists
|
||||
@@ -312,12 +312,12 @@
|
||||
|
||||
- [geigerzaehler](https://radicle.network/nodes/iris.radicle.network/users/did:key:z6Mki9XNNHeVRnYS88U59iCBzKUp2xWM3f4zvA3cXuKJFvWF)
|
||||
|
||||
### v0.7.1
|
||||
### 0.7.1
|
||||
|
||||
- Fixed a bug in patch and notification lists caused by a library
|
||||
incompatibility
|
||||
|
||||
### v0.7.0
|
||||
### 0.7.0
|
||||
|
||||
- Source code can now be browsed directly within the app
|
||||
- Draft reviews and their comments can now be deleted
|
||||
@@ -328,13 +328,13 @@
|
||||
|
||||
- [geigerzaehler](https://radicle.network/nodes/iris.radicle.network/users/did:key:z6Mki9XNNHeVRnYS88U59iCBzKUp2xWM3f4zvA3cXuKJFvWF)
|
||||
|
||||
### v0.6.1
|
||||
### 0.6.1
|
||||
|
||||
- Fixed a bug where the app wouldn't onboard new users or locked identities
|
||||
- Fixed regression where the current version of the app wasn't including the
|
||||
commit it was built from
|
||||
|
||||
### v0.6.0
|
||||
### 0.6.0
|
||||
|
||||
- UI polish: scrollbars now auto-hide across the app
|
||||
- Fixed button overflow in issue and patch sidebars
|
||||
@@ -346,7 +346,7 @@
|
||||
|
||||
- [geigerzaehler](https://radicle.network/nodes/iris.radicle.network/users/did:key:z6Mki9XNNHeVRnYS88U59iCBzKUp2xWM3f4zvA3cXuKJFvWF)
|
||||
|
||||
### v0.5.0
|
||||
### 0.5.0
|
||||
|
||||
- The app is now officially available via Arch packaging
|
||||
- Fuzzy search now supports repo IDs, descriptions, and issue/patch IDs
|
||||
@@ -368,12 +368,12 @@
|
||||
- [lorenz](https://radicle.network/nodes/iris.radicle.network/users/did:key:z6MkkPvBfjP4bQmco5Dm7UGsX2ruDBieEHi8n9DVJWX5sTEz)
|
||||
- [tippfehlr](https://radicle.network/nodes/iris.radicle.network/users/did:key:z6MksSTAFPKk7eQju9aGzK64qpfiSnKQ1tJWv1rdzRd5bMHU)
|
||||
|
||||
### v0.4.1
|
||||
### 0.4.1
|
||||
|
||||
- Fixed a bug in the release pipeline to update the latest artifacts
|
||||
- Added WSL2 installation instructions to https://radworks.garden
|
||||
|
||||
### v0.4.0
|
||||
### 0.4.0
|
||||
|
||||
- Notification inbox is now accessible from any view without navigating away
|
||||
- App icon now shows a badge with the unread notification count and polls for
|
||||
@@ -393,7 +393,7 @@
|
||||
- [tshepang](https://radicle.network/nodes/iris.radicle.network/users/did:key:z6MkfPSKW7AgQqXSi8fgEJMduHpm9ABmsPYwPhMeF7PssonK)
|
||||
- [youthlic](https://radicle.network/nodes/iris.radicle.network/users/did:key:z6MktsSuE4bVYbuTtEPjmhrQWA7dMri7GUg9Qp9o8tRCsmhu)
|
||||
|
||||
### v0.3.0
|
||||
### 0.3.0
|
||||
|
||||
- New onboarding guide to help users get started faster
|
||||
- Repo homepage now shows README and project info for quick overview
|
||||
@@ -401,7 +401,7 @@
|
||||
- Settings now show version and commit hash for easier support
|
||||
- Fixed notification count and comment placement bugs
|
||||
|
||||
### v0.2.0
|
||||
### 0.2.0
|
||||
|
||||
- Added font size controls for enhanced readability and accessibility
|
||||
- Introduced contextual explainers in key areas to guide users and improve
|
||||
@@ -409,6 +409,6 @@
|
||||
- Enhanced contrast in both dark and light modes to improve legibility and
|
||||
visual clarity
|
||||
|
||||
### v0.1.0
|
||||
### 0.1.0
|
||||
|
||||
- First public release
|
||||
|
||||
@@ -71,9 +71,9 @@ SHORT_SHA="$(git -C "$PROJECT_DIR" rev-parse --short=8 HEAD)"
|
||||
# container's root doesn't own, so build.rs can't rely on asking it for the
|
||||
# commit. Pass it in the way build.rs would get it.
|
||||
GIT_HEAD="$(git -C "$PROJECT_DIR" rev-parse --short HEAD)"
|
||||
RELEASE_DIR="$PROJECT_DIR/releases/v$VERSION"
|
||||
RELEASE_DIR="$PROJECT_DIR/releases/$VERSION"
|
||||
|
||||
step "Building release v$VERSION (${SHORT_SHA})"
|
||||
step "Building release $VERSION (${SHORT_SHA})"
|
||||
echo " Output: $RELEASE_DIR"
|
||||
mkdir -p "$RELEASE_DIR"
|
||||
|
||||
|
||||
+25
-21
@@ -150,9 +150,13 @@ conf_version() {
|
||||
jq -r '.version' "$TAURI_CONF"
|
||||
}
|
||||
|
||||
# Release commits are "desktop: Release X.Y.Z". Older ones lack the prefix
|
||||
# and have a v before the version.
|
||||
RELEASE_SUBJECT='^(desktop: )?Release v?'
|
||||
|
||||
# The SHA of the release commit for $1, looked up by its commit subject.
|
||||
release_commit_sha() {
|
||||
git -C "$PROJECT_DIR" log --grep="^Release v$1\$" -1 --format=%H -- "${RELEASE_PATHS[@]}"
|
||||
git -C "$PROJECT_DIR" log -E --grep="$RELEASE_SUBJECT$1\$" -1 --format=%H -- "${RELEASE_PATHS[@]}"
|
||||
}
|
||||
|
||||
# ---- Phases ----
|
||||
@@ -161,7 +165,7 @@ phase_prep() {
|
||||
local version="$1"
|
||||
[[ -n "$version" ]] || die "prep requires --version X.Y.Z"
|
||||
|
||||
step "Preparing release v$version"
|
||||
step "Preparing release $version"
|
||||
|
||||
info "Syncing and fetching"
|
||||
run rad sync
|
||||
@@ -170,9 +174,9 @@ phase_prep() {
|
||||
info "Creating branch release/desktop/$version"
|
||||
run git -C "$PROJECT_DIR" checkout -b "release/desktop/$version"
|
||||
|
||||
step "Changelog material (for the v$version entry)"
|
||||
step "Changelog material (for the $version entry)"
|
||||
local prev
|
||||
prev="$(git -C "$PROJECT_DIR" log --grep='^Release v' -1 --format=%H -- "${RELEASE_PATHS[@]}" || true)"
|
||||
prev="$(git -C "$PROJECT_DIR" log -E --grep="${RELEASE_SUBJECT}[0-9]" -1 --format=%H -- "${RELEASE_PATHS[@]}" || true)"
|
||||
if [[ -n "$prev" ]]; then
|
||||
info "Commits since $(git -C "$PROJECT_DIR" log -1 --format='%s' "$prev"):"
|
||||
echo
|
||||
@@ -185,7 +189,7 @@ phase_prep() {
|
||||
echo
|
||||
info "Format the list into the user-facing changes for the CHANGELOG entry."
|
||||
else
|
||||
warn "no previous 'Release v*' commit found; writing the entry from scratch"
|
||||
warn "no previous 'Release *' commit found; writing the entry from scratch"
|
||||
fi
|
||||
|
||||
if ! confirm "Continue and open CHANGELOG.md in \$EDITOR?"; then
|
||||
@@ -197,11 +201,11 @@ phase_prep() {
|
||||
[[ "$DRY_RUN" == true ]] || info "tauri.conf.json -> $(conf_version)"
|
||||
|
||||
step "Editing CHANGELOG.md"
|
||||
info "Add the v$version entry (Features, Bug fixes, Shout-out block)."
|
||||
info "Add the $version entry (Features, Bug fixes, Shout-out block)."
|
||||
run "${EDITOR:-vi}" "$CHANGELOG"
|
||||
|
||||
step "Creating Release Commit"
|
||||
run git -C "$PROJECT_DIR" commit -m "Release v$version" -- "$TAURI_CONF" "$CHANGELOG"
|
||||
run git -C "$PROJECT_DIR" commit -m "desktop: Release $version" -- "$TAURI_CONF" "$CHANGELOG"
|
||||
local sha
|
||||
sha="$(git -C "$PROJECT_DIR" rev-parse HEAD)"
|
||||
info "Release commit: $sha"
|
||||
@@ -220,11 +224,11 @@ phase_build() {
|
||||
local version
|
||||
version="$(conf_version)"
|
||||
require_podman
|
||||
step "Building release artifacts for v$version"
|
||||
step "Building release artifacts for $version"
|
||||
run "$SCRIPT_DIR/build-artifacts"
|
||||
|
||||
step "Build complete"
|
||||
info "Install releases/v$version/radicle-desktop-aarch64.dmg and verify it runs."
|
||||
info "Install releases/$version/radicle-desktop-aarch64.dmg and verify it runs."
|
||||
next "scripts/release --phase apt"
|
||||
}
|
||||
|
||||
@@ -232,7 +236,7 @@ phase_apt() {
|
||||
local version
|
||||
version="$(conf_version)"
|
||||
local deb="radicle-desktop_${version}_amd64.deb"
|
||||
local src="$PROJECT_DIR/releases/v$version/$deb"
|
||||
local src="$PROJECT_DIR/releases/$version/$deb"
|
||||
|
||||
step "Staging the Debian package for signing"
|
||||
[[ -f "$src" ]] || fail "$src not found — run --phase build first"
|
||||
@@ -261,12 +265,12 @@ phase_apt() {
|
||||
RADICLE_APT_SIGNING_KEY=/src/keys/signing-key ./import-deb $deb
|
||||
|
||||
# Back on the host:
|
||||
git checkout -b release-v$version
|
||||
git checkout -b release-$version
|
||||
git add db/ dists/ pool/
|
||||
git commit -m "Update radicle-desktop to $version"
|
||||
git push rad HEAD:refs/patches
|
||||
# After peer approval:
|
||||
git checkout main && git merge --ff-only release-v$version && git push
|
||||
git checkout main && git merge --ff-only release-$version && git push
|
||||
make publish
|
||||
EOF
|
||||
next "scripts/release --phase publish"
|
||||
@@ -275,7 +279,7 @@ EOF
|
||||
phase_publish() {
|
||||
local version
|
||||
version="$(conf_version)"
|
||||
local release_dir="$PROJECT_DIR/releases/v$version"
|
||||
local release_dir="$PROJECT_DIR/releases/$version"
|
||||
local remote="/var/www/$FILES_HOST/releases/radicle-desktop"
|
||||
local key target
|
||||
key="$(rad path)/keys/radicle"
|
||||
@@ -307,15 +311,15 @@ phase_publish() {
|
||||
phase_tag() {
|
||||
local version
|
||||
version="$(conf_version)"
|
||||
step "Tagging canonical release v$version"
|
||||
step "Tagging canonical release $version"
|
||||
|
||||
local sha
|
||||
sha="$(release_commit_sha "$version")"
|
||||
[[ -n "$sha" ]] || fail "could not find the 'Release v$version' commit (is the patch merged into master?)"
|
||||
[[ -n "$sha" ]] || fail "could not find the 'desktop: Release $version' commit (is the patch merged into master?)"
|
||||
info "Tagging commit: ${sha:-<release-commit-sha>}"
|
||||
|
||||
local tag="releases/desktop/$version"
|
||||
run git -C "$PROJECT_DIR" tag "$tag" "${sha:-<release-commit-sha>}" -m "Release $version"
|
||||
run git -C "$PROJECT_DIR" tag "$tag" "${sha:-<release-commit-sha>}" -m "desktop: Release $version"
|
||||
run git -C "$PROJECT_DIR" push rad "refs/tags/$tag"
|
||||
run rad sync
|
||||
|
||||
@@ -324,12 +328,12 @@ phase_tag() {
|
||||
|
||||
step "Announce on Zulip"
|
||||
local entry
|
||||
entry="$(awk -v v="### v$version" '
|
||||
entry="$(awk -v v="### $version" '
|
||||
$0 == v {grab=1}
|
||||
grab && NR>1 && /^### v/ && $0 != v {exit}
|
||||
grab && NR>1 && /^### / && $0 != v {exit}
|
||||
grab {print}
|
||||
' "$CHANGELOG")"
|
||||
[[ -n "$entry" ]] || fail "no '### v$version' section found in CHANGELOG.md"
|
||||
[[ -n "$entry" ]] || fail "no '### $version' section found in CHANGELOG.md"
|
||||
|
||||
echo
|
||||
bold " Copy the message below into the announcements channel:"
|
||||
@@ -339,10 +343,10 @@ phase_tag() {
|
||||
echo "$entry"
|
||||
echo " --------------------------------------------------------------------"
|
||||
echo
|
||||
info "Post it under a topic named: radicle-desktop v$version"
|
||||
info "Post it under a topic named: radicle-desktop $version"
|
||||
info "Then resolve the previous release topic."
|
||||
echo
|
||||
bold "Release v$version complete."
|
||||
bold "Release $version complete."
|
||||
}
|
||||
|
||||
# ---- Dispatch ----
|
||||
|
||||
Reference in New Issue
Block a user