Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update data stores for v1.5.0 #4792

Merged
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion common/src/main/java/bisq/common/app/Version.java
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ public class Version {
* This must not contain each version but only those where we add new version-tagged resource files for
* historical data stores.
*/
public static final List<String> HISTORICAL_RESOURCE_FILE_VERSION_TAGS = Arrays.asList("1.4.0");
public static final List<String> HISTORICAL_RESOURCE_FILE_VERSION_TAGS = Arrays.asList("1.4.0", "1.5.0");

public static int getMajorVersion(String version) {
return getSubVersion(version, 0);
Expand Down
3 changes: 2 additions & 1 deletion core/src/main/resources/wallet/checkpoints.txt
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
TXT CHECKPOINTS 1
0
323
324
AAAAAAAAB+EH4QfhAAAH4AEAAABjl7tqvU/FIcDT9gcbVlA4nwtFUbxAtOawZzBpAAAAAKzkcK7NqciBjI/ldojNKncrWleVSgDfBCCn3VRrbSxXaw5/Sf//AB0z8Bkv
AAAAAAAAD8EPwQ/BAAAPwAEAAADfP83Sx8MZ9RsrnZCvqzAwqB2Ma+ZesNAJrTfwAAAAACwESaNKhvRgz6WuE7UFdFk1xwzfRY/OIdIOPzX5yaAdjnWUSf//AB0GrNq5
AAAAAAAAF6EXoRehAAAXoAEAAADonWzAaUAKd30XT3NnHKobZMnLOuHdzm/xtehsAAAAAD8cUJA6NBIHHcqPHLc4IrfHw+6mjCGu3e+wRO81EvpnMVqrSf//AB1ffy8G
Expand Down Expand Up @@ -324,3 +324,4 @@ ErrgKoeevYMpfx+WAAnYAADg/y/Zjrsqarpkd5PIhR21HJ55cSMyymaaBAAAAAAAAAAAAKPhdir1YiPG
EzihxS/9MDJCHTIfAAnf4AAAQCAGq48tARXjK5m5ygIMjtFJqlySqsdXBgAAAAAAAAAAAPJaEbuOk1ZnpJ4y6SR6yn+dY6fB5QaJHhb6QWgMXit2KCxWXxI6EBdJ5KeT
E7TgpleovIarz4zNAAnnwADg/zelTTDUGas2KxqgEH2WV5EilGEY8VASBgAAAAAAAAAAAJVJFZNI4Kxh1AUjFLdY7k6MLVY47YSfxE1acJIuEMlMpcRmX6qSDhc6QrMB
FD83ZUplM/sW8MloAAnvoAAAQCBUTUlenrKovQvyeNaLUYJBmxfT5hcuDQAAAAAAAAAAAIaxf5jfjr8MifLPauOJeh6OWDYxSUUPluG5E8hVh+rrWD95X96VDhf7Be0Q
FMlwaWsoL8M1y3sGAAn3gAAAICD2It4VF1dZC7XR51SjkuBPy2c1ot7iBQAAAAAAAAAAAOto2NUucHczD9ZpnC5X1L05HcifvGpMh8gwIt7mZ2DW3BWLX04TDhdKX1k6
6 changes: 5 additions & 1 deletion desktop/package/macosx/copy_dbs.sh
Original file line number Diff line number Diff line change
Expand Up @@ -2,12 +2,16 @@

cd $(dirname $0)/../../../

version="1.5.0"

# Set BISQ_DIR as environment var to the path of your locally synced Bisq data directory e.g. BISQ_DIR=~/Library/Application\ Support/Bisq

dbDir=$BISQ_DIR/btc_mainnet/db
resDir=p2p/src/main/resources

cp "$dbDir/TradeStatistics2Store" "$resDir/TradeStatistics2Store_BTC_MAINNET"
# Only commit new TradeStatistics3Store if you plan to add it to
# https://github.com/bisq-network/bisq/blob/0345c795e2c227d827a1f239a323dda1250f4e69/common/src/main/java/bisq/common/app/Version.java#L40 as well.
cp "$dbDir/TradeStatistics3Store" "$resDir/TradeStatistics3Store_${version}_BTC_MAINNET"
cp "$dbDir/AccountAgeWitnessStore" "$resDir/AccountAgeWitnessStore_BTC_MAINNET"
cp "$dbDir/DaoStateStore" "$resDir/DaoStateStore_BTC_MAINNET"
cp "$dbDir/SignedWitnessStore" "$resDir/SignedWitnessStore_BTC_MAINNET"
3 changes: 2 additions & 1 deletion docs/data-stores.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,5 +5,6 @@
With every release we include the latest snapshot of Mainnet and Testnet data from the P2P network within the client.

* Start your Bisq client on Mainnet and Testnet and let it run until it is fully synced.
* Run [copy_dbs.sh](https://github.com/bisq-network/bisq/blob/master/desktop/package/macosx/copy_dbs.sh) to copy the
* Run [copy_dbs.sh](https://github.com/bisq-network/bisq/blob/master/desktop/package/macosx/copy_dbs.sh) to copy the
required files into the [p2p resources directory](https://github.com/bisq-network/bisq/blob/master/p2p/src/main/resources).
* To add a new trade statistic snapshot just add it to the list of trade statistic snapshots in https://github.com/bisq-network/bisq/blob/0345c795e2c227d827a1f239a323dda1250f4e69/common/src/main/java/bisq/common/app/Version.java#L40
60 changes: 29 additions & 31 deletions docs/release-process.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,11 +7,9 @@
* Webpage (Prepare PR)
* Update version number in:
* [_config.yml](https://github.com/bisq-network/bisq-website/blob/master/_config.yml)

* Update currency list in [market_currency_selector.html](https://github.com/bisq-network/bisq-website/blob/master/_includes/market_currency_selector.html) (use [MarketsPrintTool](https://github.com/bisq-network/bisq/blob/master/desktop/src/test/java/bisq/desktop/MarketsPrintTool.java)
to create HTML content).
* Update [roadmap](https://github.com/bisq-network/bisq-website/blob/master/roadmap.md) with new release notes.


### Bisq maintainers, suggestion for writing release notes
To be able to create release notes before you make the final release tag, you can temporarily create a local tag and
Expand All @@ -27,7 +25,7 @@ Write release notes. git shortlog helps a lot, for example:
Generate list of authors:

git log --format='- %aN' v(current version, e.g. 0.9.3)..v(new version, e.g. 0.9.4) | sort -fiu

1. Prepare the release notes with major changes from user perspective.
2. Prepare a short version of the release notes for the in-app update popup

Expand All @@ -38,7 +36,7 @@ You can use a virtualization solution like [VirtualBox](https://www.virtualbox.o
#### VirtualBox recommended configuration
Although performance of VMs might vary based on your hardware configuration following setup works pretty well on macOS.

Use VirtualBox < 5.2.22: Using a more recent version makes VMs hardly usable on a MacBook Pro (15-inch, 2016)
Use VirtualBox > 6.1
with following configuration:
* System > Motherboard > Base Memory: 2048 MB
* System > Processor > Processor(s): 2 CPUs
Expand All @@ -54,7 +52,7 @@ with following configuration:

##### Linux VM
* Ubuntu 16.04.4 64bit
* Recommended virtual disk size: 15 GB
* Recommended virtual disk size: 25 GB

##### macOS VM
* macOS X 10.11 (El Capitan) 64bit
Expand All @@ -74,17 +72,17 @@ with following configuration:

#### macOS

1. Make sure all version numbers are updated (update version variables and run [replace_version_number.sh](https://github.com/bisq-network/bisq/blob/master/bisq/desktop/package/macosx/replace_version_number.sh)).
1. Make sure all version numbers are updated (update version variables and run [replace_version_number.sh](https://github.com/bisq-network/bisq/blob/master/desktop/package/macosx/replace_version_number.sh)).
2. Set environment variable e.g. export [email protected] to ~/.profile file or the like... (one time effort)
3. Update [vmPath variable](https://github.com/bisq-network/bisq/blob/b4b5d0bb12c36afbe1aa6611dd8451378df6db8c/desktop/package/macosx/create_app.sh#L42) if necessary
4. Run [create_app.sh](https://github.com/bisq-network/bisq/blob/master/desktop/package/macosx/create_app.sh)

Build output expected in deploy directory (opened after successful build process):
1. `Bisq-${NEW-VERSION}.dmg` macOS signed installer
2. `Bisq-${NEW-VERSION}.jar` Deterministic fat jar
3. `Bisq-${NEW-VERSION}.jar.txt` sha256 sum of deterministic fat jar

1. `Bisq-${NEW-VERSION}.dmg` macOS signed installer
2. `Bisq-${NEW-VERSION}.jar` Deterministic fat jar
3. `Bisq-${NEW-VERSION}.jar.txt` sha256 sum of deterministic fat jar

The build script also copies over the deterministic fat jar into the shared folders for the other VMs (Windows & Linux).
Before building the other binaries install the generated Bisq app on macOS and verify that everything works as expected.

Expand All @@ -93,8 +91,8 @@ Before building the other binaries install the generated Bisq app on macOS and v
* Run `desktop/package/linux/package.sh` from the shared VM folder

Build output expected:
1. `Bisq-${NEW-VERSION}.deb` package for distributions that derive from Debian

1. `Bisq-${NEW-VERSION}.deb` package for distributions that derive from Debian
2. `Bisq-${NEW-VERSION}.rpm` package for distributions that derive from Redhat based distros

* Install and run generated package
Expand All @@ -104,20 +102,20 @@ Build output expected:
* Run `desktop/package/windows/package.bat` from the shared VM folder

Build output expected:
1. `Bisq-${NEW-VERSION}.exe` Windows unsigned installer

1. `Bisq-${NEW-VERSION}.exe` Windows unsigned installer
2. `Bisq-${NEW-VERSION}.exe.txt` sha256 sum of installer

### Sign release on macOS

* Run [finalize.sh](https://github.com/bisq-network/bisq/blob/master/bisq/desktop/package/macosx/finalize.sh)
* Run [finalize.sh](https://github.com/bisq-network/bisq/blob/master/desktop/package/macosx/finalize.sh)

Build output expected:

1. `F379A1C6.asc` Sig key of Manfred Karrer
2. `5BC5ED73.asc` Sig key of Chris Beams
3. `29CDFD3B.asc`Sig key of Christoph Atteneder
4. `signingkey.asc` Fingerprint of key that was used for these builds
1. `F379A1C6.asc` Sig key of Manfred Karrer
2. `5BC5ED73.asc` Sig key of Chris Beams
3. `29CDFD3B.asc`Sig key of Christoph Atteneder
4. `signingkey.asc` Fingerprint of key that was used for these builds
5. `Bisq-${NEW-VERSION}.jar.txt` Sha256 sum of deterministic fat jar
6. `Bisq-${NEW-VERSION}.dmg` macOS installer
7. `Bisq-${NEW-VERSION}.dmg.asc` Signature for macOS installer
Expand All @@ -127,23 +125,23 @@ Build output expected:
11. `Bisq-${NEW-VERSION}.rpm.asc` Signature for Redhat based distro package
12. `Bisq-${NEW-VERSION}.exe` Windows installer
13. `Bisq-${NEW-VERSION}.exe.asc` Signature for Windows installer

* Run a AV scan over all files on the Windows VM where the files got copied over.

### Final test

* Make at least one mainnet test trade with some exotic currency to not interfere with real traders.

### Tag and push release to master

If all was successful:
If all was successful:

* commit changes of new version number (update version number for release of e.g. v0.9.4)
* commit changes of new version number (update version number for release of e.g. v1.5.0)
* create tag for the release
```
git tag -s v(new version, e.g. 0.9.4) -m"Release v(new version, e.g. 0.9.4)"
git tag -s v(new version, e.g. 1.5.0) -m"Release v(new version, e.g. 1.5.0)"
```
* Revert back to SNAPSHOT where necessary (change version variable (e.g. 0.9.4) in shell script [insert_snapshot_version.sh](https://github.com/bisq-network/bisq/blob/master/desktop/package/macosx/insert_snapshot_version.sh) and run it) and commit these changes.
* Revert back to SNAPSHOT where necessary (change version variable (e.g. 1.5.0) in shell script [insert_snapshot_version.sh](https://github.com/bisq-network/bisq/blob/master/desktop/package/macosx/insert_snapshot_version.sh) and run it) and commit these changes.
* Push all commits to master including the new tag
```
git push --tags origin master
Expand All @@ -162,15 +160,15 @@ If all was successful:
#### Post GitHub release
* Apply “A newer version is already available! Please don’t use this version anymore.” to old GitHub releases.
* Merge the webpage PR and check if they got deployed properly.
* Start the Alert sender app (CMD + M) remove the old version and send the update message.
* Start the Alert sender app (CMD + M) remove the old version and send the update message.
Check the checkbox for update, set the version number (e.g. 0.9.4) and add the short version of the release notes.
* After sending the Update message leave it running for about 1 minute to give time for good propagation.
* Make a backup of that alert sender app data directory

### Announce the release

* Forum
* Slack (#general channel)
* Keybase (#general channel)
* Twitter
* Optionally reddit /r/Bisq
* Notify @freimair so that he can start updating [the Arch User Repository](https://aur.archlinux.org/cgit/aur.git/tree/PKGBUILD?h=bisq-git)
Expand Down
4 changes: 2 additions & 2 deletions p2p/src/main/resources/AccountAgeWitnessStore_BTC_MAINNET
Git LFS file not shown
4 changes: 2 additions & 2 deletions p2p/src/main/resources/DaoStateStore_BTC_MAINNET
Git LFS file not shown
4 changes: 2 additions & 2 deletions p2p/src/main/resources/SignedWitnessStore_BTC_MAINNET
Git LFS file not shown
Git LFS file not shown