Radish alpha
h
Radicle Heartwood Protocol & Stack
Radicle
Git (anonymous pull)
Log in to clone via SSH
REVIEW: adjust for the new release tags
✗ CI failure Richard Levitte committed 8 months ago
commit 175cbb262beec8e43dd577cc28f2e58e38d0457b
parent 16d74bb8e30d3b337be3ab2353d4a767144636c1
2 passed 1 failed 1 pending (4 total) View logs
4 files changed +30 -24
modified RELEASE.md
@@ -11,7 +11,8 @@ follow the following steps, outlined in each subsection.

### Tag Version
The first action required is to create a release tag. All tags that start with a
-
`v` are considered release tags, e.g. `v1.0.0`, `v1.1.0`, `v1.1.0-pre`, etc.
+
`releases/` are considered release tags, e.g. `releases/1.0.0`, `releases/1.1.0`,
+
`releases/1.1.0-pre`, etc.
Before creating the tag, we must decide which commit we are choosing for the
release. In general, this will be the latest commit of the `master` branch. We
checkout this commit:
@@ -23,7 +24,8 @@ git checkout <commit>
<!-- TODO: I'd prefer -rc, -rc1, -rc2, etc. -->
The tag name that is being chosen for the pre-release is the next semantic
version, followed by `-pre.0`. If it is a follow-up pre-release for any fixes,
-
we append a `.` and digit, e.g. `v1.1.0-pre.1`, `v1.1.0-pre.2`, etc.
+
we append a `.` and digit, e.g. `releases/1.1.0-pre.1`, `releases/1.1.0-pre.2`,
+
etc.

Note that, for the next part, `git config user.signingKey` must match the key
you are using as your Radicle signing key, and it must be using the `ssh`
@@ -39,12 +41,12 @@ git config set user.signingKey "key::$(rad self --ssh-key)""
```

We provide a script for performing the tagging related options, `build/tag`.
-
The input to this script does not require the `v` prefix. For example, if we
-
want to cut a release for `v1.1.0-pre`, we would call the script like the
-
following:
+
The input to this script does not require the `releases/` prefix. For example,
+
if we want to cut a release for `releases/1.3.0-pre.3`, we would call the
+
script like the following:

```
-
build/tag 1.1.0-pre
+
build/tag 1.3.0-pre.3
```

The script will ask you to confirm the creation of the tag, showing you the
@@ -81,7 +83,7 @@ We also check that `build/artifacts/radicle.json` file to see that the metadata
matches what we expected. For example, the output may look something like:

```json
-
{"name":"rad","version":"1.1.0-pre","commit":"0c9a7419","timestamp":"1729696767"}
+
{"name":"rad","version":"1.3.0-pre.3","commit":"3296de8323b5782ff2af9d3a0fe2309a9bf1d3d6","timestamp":"1756131991"}
```

Making careful note of the `version` and `commit`.
@@ -112,20 +114,23 @@ We do this using NixOS and the [`radicle-nix`][radicle-nix] and

### Post Changelog

+
<!-- The examples will obviously need a bit of rework, and probably based on -->
+
<!-- an upcoming pre-release rather than something historical.  /RL -->
+

Once all these steps are completed, we can generate the changelog, by first
checking out the relevant tag, and running `scripts/changelog` – you can also
pass a previous version as `--from-version`. This will output something like the
following:

~~~
-
# 👾 Radicle v1.1.0-pre
+
# 👾 Radicle 1.3.0-pre.3

-
Radicle v1.1.0-pre (f7d8f1b8) is released.
+
Radicle 1.3.0-pre.3 (3296de83) is released.

## Installation

```
-
curl -sSf https://radicle.xyz/install | sh -s -- --no-modify-path --version=1.1.0-pre
+
curl -sSf https://radicle.xyz/install | sh -s -- --no-modify-path --version=1.3.0-pre.3
```

## Notes
@@ -134,16 +139,17 @@ curl -sSf https://radicle.xyz/install | sh -s -- --no-modify-path --version=1.1.

## Changelog

-
* `f7d8f1b8` **radicle: Distinguish seeding policy types** *<cloudhead@radicle.xyz>*
-
* `bbb292c8` **node: Don't panic on connection logic error** *<cloudhead@radicle.xyz>*
+
This release contains 1 commit(s) by 1 contributor(s).
+

+
* `62c12afa` **Release Process** *<fintan.halpenny@gmail.com>*

## Checksums

```
-
7f0d99609915d28b4333185e42ff14442b9c5d2ec463d3f5f327fe8bb56145ac  radicle-v1.1.0-pre-x86_64-unknown-linux-musl.tar.xz
-
7d197c8f0a8ab5837610913a1372b9f66214dbd402fed8def65aa6983f01545e  radicle-v1.1.0-pre-x86_64-apple-darwin.tar.xz
-
312700ca44f0fa1234687819d29426e83509f0663051779a8908fb0c5e3708e4  radicle-v1.1.0-pre-aarch64-apple-darwin.tar.xz
-
059eaf77539821a5a9e3e82df9fc5f076aca3ca269c80274251c388af6508be3  radicle-v1.1.0-pre-aarch64-unknown-linux-musl.tar.xz
+
071070b2ae4176f3dc04dae18a685fc785ca73be67c53a1d9ed1a116f8f049c7  radicle-1.3.0-pre.3-x86_64-apple-darwin.tar.xz
+
7a6125eb225f8e9353fd1db508d31d2d24e05470a6ac7f0867116c5224e9ea29  radicle-1.3.0-pre.3-x86_64-unknown-linux-musl.tar.xz
+
70f44206abeb0ec4c096bcf85090dbdce52579840d012d853f1352b55a81a722  radicle-1.3.0-pre.3-aarch64-apple-darwin.tar.xz
+
59c155320c3b4342f27e6aaf957b2dd570091c5706777e18f525e25364b522be  radicle-1.3.0-pre.3-aarch64-unknown-linux-musl.tar.xz
```
~~~

modified build/tag
@@ -7,7 +7,7 @@ if [ $# -ne 1 ]; then
fi

version="$1"
-
tag="v$version"
+
tag="releases/$version"

git_config_key="user.signingKey"

modified build/version
@@ -1,9 +1,9 @@
#!/bin/sh

-
if ! version="$(git describe --match='v*' --candidates=1 2>/dev/null)"; then
+
if ! version="$(git describe --match='releases/*' --candidates=1 2>/dev/null)"; then
  echo "fatal: no version tag found by 'git describe'" >&2 ; exit 1
fi
-
# Remove `v` prefix from version.
-
version=${version#v}
+
# Remove `releases/` prefix from version.
+
version=${version#releases/}

echo "$version"
modified scripts/changelog
@@ -22,14 +22,14 @@ while [ $# -gt 0 ]; do
  esac
done

-
# Current/latest tag.
-
current=$(git describe --tags --match='v*' --abbrev=0)
-
version=$(echo "$current" | sed 's/^v//')
+
# Current/latest tag
+
current=$(git describe --tags --match='releases/*' --abbrev=0)
+
version=$(echo "$current" | sed -E 's@^(v|releases/)@@')

if [ -z "$from" ]; then
  previous="$(git describe --abbrev=0 HEAD^)"
else
-
  previous="v$from"
+
  previous="releases/$from"
fi

if ! git rev-parse --verify "$previous^{tag}" >/dev/null 2>&1; then