Skip to content

Commit 339f953

Browse files
committed
doc: Add ABI checking with check-abi.sh to the Release Process
1 parent f86a5b0 commit 339f953

File tree

1 file changed

+10
-4
lines changed

1 file changed

+10
-4
lines changed

doc/release-process.md

+10-4
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,12 @@ gcc -o ecdsa examples/ecdsa.c -I $dir/include -L $dir/lib*/ -l secp256k1 -Wl,-rp
3737

3838
## Regular release
3939

40-
1. Open a PR to the master branch with a commit (using message `"release: prepare for $MAJOR.$MINOR.$PATCH"`, for example) that
40+
1. Check the ABI compatibility with the [`check-abi.sh`](/tools/check-abi.sh) tool (installing the `abi-dumper` and `abi-compliance-checker` packages might be required):
41+
```shell
42+
tools/check-abi.sh $(git describe --abbrev=0) master
43+
```
44+
45+
2. Open a PR to the master branch with a commit (using message `"release: prepare for $MAJOR.$MINOR.$PATCH"`, for example) that
4146
* finalizes the release notes in [CHANGELOG.md](../CHANGELOG.md) by
4247
* adding a section for the release (make sure that the version number is a link to a diff between the previous and new version),
4348
* removing the `[Unreleased]` section header, and
@@ -46,19 +51,20 @@ gcc -o ecdsa examples/ecdsa.c -I $dir/include -L $dir/lib*/ -l secp256k1 -Wl,-rp
4651
* if this is not a patch release
4752
* updates `_PKG_VERSION_*` and `_LIB_VERSION_*` in `configure.ac` and
4853
* updates `project(libsecp256k1 VERSION ...)` and `${PROJECT_NAME}_LIB_VERSION_*` in `CMakeLists.txt`.
49-
2. After the PR is merged, tag the commit and push it:
54+
55+
3. After the PR is merged, tag the commit and push it:
5056
```
5157
RELEASE_COMMIT=<merge commit of step 1>
5258
git tag -s v$MAJOR.$MINOR.$PATCH -m "libsecp256k1 $MAJOR.$MINOR.$PATCH" $RELEASE_COMMIT
5359
git push [email protected]:bitcoin-core/secp256k1.git v$MAJOR.$MINOR.$PATCH
5460
```
55-
3. Open a PR to the master branch with a commit (using message `"release cleanup: bump version after $MAJOR.$MINOR.$PATCH"`, for example) that
61+
4. Open a PR to the master branch with a commit (using message `"release cleanup: bump version after $MAJOR.$MINOR.$PATCH"`, for example) that
5662
* sets `_PKG_VERSION_IS_RELEASE` to `false` and increments `_PKG_VERSION_PATCH` and `_LIB_VERSION_REVISION` in `configure.ac`,
5763
* increments the `$PATCH` component of `project(libsecp256k1 VERSION ...)` and `${PROJECT_NAME}_LIB_VERSION_REVISION` in `CMakeLists.txt`, and
5864
* adds an `[Unreleased]` section header to the [CHANGELOG.md](../CHANGELOG.md).
5965

6066
If other maintainers are not present to approve the PR, it can be merged without ACKs.
61-
4. Create a new GitHub release with a link to the corresponding entry in [CHANGELOG.md](../CHANGELOG.md).
67+
5. Create a new GitHub release with a link to the corresponding entry in [CHANGELOG.md](../CHANGELOG.md).
6268

6369
## Maintenance release
6470

0 commit comments

Comments
 (0)