Skip to content

Commit 420e60b

Browse files
committed
Document release workflow
1 parent cd78fe9 commit 420e60b

File tree

1 file changed

+43
-0
lines changed

1 file changed

+43
-0
lines changed

doc/release.md

Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
# Creating a Release
2+
3+
This document outlines the steps to create a new release for the project. Follow these steps carefully to ensure a smooth release process.
4+
5+
## Step 1: Tag release
6+
7+
```
8+
git tag -s vX.Y.Z -m "Release vX.Y.Z"
9+
```
10+
11+
Replace `X.Y.Z` with the appropriate version number.
12+
13+
## Step 2: Push tags
14+
15+
```
16+
git push origin --tags
17+
```
18+
19+
## Step 3: Build and sign aarch64 binaries
20+
21+
```
22+
git submodule update --init --recursive
23+
zig build -Dtarget=aarch64-linux-musl -Ddriver=fbev -Doptimize=ReleaseSafe -Dstrip
24+
cd zig-out/bin
25+
tar czf ndg-vX.Y.Z-aarch64.tar.gz nd ngui
26+
gpg --sign --armor --detach-sign ndg-vX.Y.Z-aarch64.tar.gz
27+
ots stamp ndg-vX.Y.Z-aarch64.tar.gz.asc
28+
```
29+
30+
## Step 4: Create GitHub release
31+
32+
Go to the GitHub releases page for the repository and create a new release. Use the tag `vX.Y.Z` and upload the following files:
33+
34+
- `ndg-vX.Y.Z-aarch64.tar.gz`
35+
- `ndg-vX.Y.Z-aarch64.tar.gz.asc`
36+
- `ndg-vX.Y.Z-aarch64.tar.gz.asc.ots`
37+
38+
Describe main changes in the release notes.
39+
40+
## Step 5: Add new release to sysupdates
41+
42+
Update `ndg/env` in the [sysupdates repository](https://github.com/nakamochi/sysupdates) with the new version and its SHA256 checksum.
43+

0 commit comments

Comments
 (0)