gossip/packaging/RELEASE.md

164 lines
3.6 KiB
Markdown
Raw Normal View History

2023-10-05 06:49:14 +00:00
# RELEASE
2023-09-15 02:19:28 +00:00
2024-04-14 22:31:01 +00:00
0. DON'T update dependencies ('cargo update'). Do that kind of stuff right after releasing. Because that stuff presents risk.
2023-09-15 02:19:28 +00:00
2024-04-14 22:31:01 +00:00
1. Stabilize the code. Make all these happy:
2023-09-15 02:19:28 +00:00
2023-10-05 06:49:14 +00:00
````bash
cargo clippy
cargo fmt
cargo test
````
2023-09-15 02:19:28 +00:00
2024-04-14 22:31:01 +00:00
1. Test it on Windows and MacOS. Then repeat at step 1 if fixes are needed.
1. Update the documentation including:
- README.md
- LICENSE.txt may need a copyright range update
- Help page in the UI
1. Update packaging files:
2023-09-15 02:19:28 +00:00
2024-04-14 22:31:01 +00:00
- packaging/debian/Dockerfile may need a new rust version
- packaging/windows/gossip.VERSION.wxs needs creating and a UUID update
2023-09-15 02:19:28 +00:00
2024-04-14 22:31:01 +00:00
1. Edit Cargo.toml and change the version (remove the -unstable).
Compile so you get a new Cargo.lock
2023-09-15 02:19:28 +00:00
2024-04-14 22:31:01 +00:00
- Commit these 2 new Cargo files as a commit named after the version.
2023-09-27 01:54:29 +00:00
2024-04-14 22:31:01 +00:00
1. Tag this as vVERSION, and push the tag
1. Tag again with -unstable
- build to get Cargo.lock,
- commit both as next commit,
- push,
- checkout the release commit again for the rest.
1. Build the debian:
2023-09-15 02:19:28 +00:00
2023-10-05 06:49:14 +00:00
````bash
cd debian
./deb.sh
````
2023-09-15 02:19:28 +00:00
2024-04-14 22:31:01 +00:00
1. Build the appimage:
2023-09-15 02:19:28 +00:00
2023-10-05 06:49:14 +00:00
````bash
cd appimage
2024-04-14 22:31:01 +00:00
./build-appimage.sh
2023-10-05 06:49:14 +00:00
````
2023-09-15 02:19:28 +00:00
2024-04-14 22:31:01 +00:00
1. Build the flatpak:
2023-09-15 02:19:28 +00:00
2024-04-14 22:31:01 +00:00
- Folllow the [Flatpak README](flatpak/README.md)
1. Build the windows:
2023-09-15 02:19:28 +00:00
2024-04-14 22:31:01 +00:00
- Follow the [Windows README](windows/README.md)
2023-09-15 02:19:28 +00:00
2024-04-14 22:31:01 +00:00
1. Build the macos:
2023-10-05 06:49:14 +00:00
````bash
cd macos
./build_macos.sh
./build_macos_intel.sh
````
2023-09-15 02:19:28 +00:00
2024-04-14 22:31:01 +00:00
1. Bundle the files, create SHA256 hashes
2023-09-15 02:19:28 +00:00
2024-01-01 19:39:08 +00:00
files in files/
create changelog.txt like this:
git log --oneline v0.8.2..v0.9.0 > changelog.txt
2024-04-14 22:31:01 +00:00
1. Upload release to github
2023-09-15 02:19:28 +00:00
2024-04-14 22:31:01 +00:00
1. Update the AUR packages
2024-04-14 22:31:01 +00:00
1. Announce release on nostr under gossip account
2023-09-15 02:19:28 +00:00
-----------------
2023-03-07 01:23:51 +00:00
This is a draft of the steps taken to make a release.
I intend to flesh this out as I actually make releases.
Update crates from the bottom up:
gossip
├── eframe
│ ├── egui
│ ├── egui-winit
│ └── egui_glow
├── egui-winit
├── egui_extras
├── gossip-relay-picker
│ └── nostr-types
2023-06-24 00:09:45 +00:00
│ └-- speedy
├── nostr-types
└── qrcode
2023-03-07 01:23:51 +00:00
Try to push our dependency changes upstream:
2023-10-05 06:49:14 +00:00
<https://github.com/mikedilger/qrcode-rust> (unlikely, stale for >3 years)
<https://github.com/mikedilger/egui>
2023-03-07 01:23:51 +00:00
2023-03-11 23:16:27 +00:00
nostr-types
-- cargo update, and check for new versions, maybe update dependencies
-- cargo test
-- cargo clippy; cargo fmt
-- FORK 0.N:
-- all deps switch to released versions
-- version 0.N
-- package/publish
-- version to 0.N.1-unstable
-- master:
-- version to 0.N+1.0-unstable
gossip-relay-picker
-- cargo update, and check for new versions, maybe update dependencies
-- cargo test
-- cargo clippy; cargo fmt
-- FORK 0.N:
-- all deps switch to released versions
-- version 0.N
-- package/publish
-- version to 0.N.1-unstable
-- master:
-- version to 0.N+1.0-unstable
gossip
-- cargo update, and check for new versions, maybe update dependencies
-- cargo test
-- cargo clippy; cargo fmt
-- FORK 0.N:
-- all deps switch to released versions
-- verison 0.N
-- package/publish (see below)
-- version 0.N.1-unstable
-- master
-- version 0.N+1.0-unstable
2023-10-05 06:49:14 +00:00
-----------------
2023-03-11 23:16:27 +00:00
Package & Publish of gossip:
2023-03-07 01:23:51 +00:00
Package for windows:
2023-10-05 06:49:14 +00:00
* main version, as .msi
* main version with lang-cjk, as .msi
2023-03-07 01:23:51 +00:00
Package for debian:
2023-10-05 06:49:14 +00:00
* main version, as .msi
* main version with lang-cjk, as .msi
2023-03-07 01:23:51 +00:00
Create github release (it will create source tar files)
2023-10-05 06:49:14 +00:00
* Post the windows .msi files
* Post the debian .deb files
2023-03-07 01:23:51 +00:00
Update aur.archlinux.org PKGBUILD