From f39d5fa07a7fd198ee603ea3b4ffb155b64b1ca9 Mon Sep 17 00:00:00 2001 From: Richard Gibson Date: Mon, 1 Jul 2024 16:48:35 -0400 Subject: [PATCH 1/2] fix(scripts): Update GitHub release template to document recursive `git clean` Fixes #9633 Also fixes a reference to the script to include its file extension. --- MAINTAINERS.md | 2 +- scripts/gen-github-release.sh | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/MAINTAINERS.md b/MAINTAINERS.md index 6a8e342e77b..9d6143bd050 100644 --- a/MAINTAINERS.md +++ b/MAINTAINERS.md @@ -322,7 +322,7 @@ to pass and for reviewer approval. Generate a template: ```sh - ./scripts/gen-github-release > release.md + ./scripts/gen-github-release.sh > release.md ``` Then replace the remaining `$`-prefixed placeholders, filling in the [_**validator oriented release description**_](#describe-the-release) and using diff --git a/scripts/gen-github-release.sh b/scripts/gen-github-release.sh index 2a2e1303f20..d0616a14f75 100755 --- a/scripts/gen-github-release.sh +++ b/scripts/gen-github-release.sh @@ -156,7 +156,7 @@ Install supported versions of Go, Node.js, and a compiler such as gcc or clang a cd agoric-sdk git fetch --all git checkout $TAG -git clean -xdf +git clean -xdf && git submodule foreach --recursive git clean -xdf yarn install yarn build (cd packages/cosmic-swingset && make) From 01383fff75bf51fe29edec2085dacd53a3b0497a Mon Sep 17 00:00:00 2001 From: Mathieu Hofman Date: Tue, 10 Sep 2024 00:49:10 +0000 Subject: [PATCH 2/2] fix(scripts): Align GH release template with u16 Add information regarding known issues with nvm and Node versions --- scripts/gen-github-release.sh | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) diff --git a/scripts/gen-github-release.sh b/scripts/gen-github-release.sh index d0616a14f75..b3793ececb4 100755 --- a/scripts/gen-github-release.sh +++ b/scripts/gen-github-release.sh @@ -116,7 +116,11 @@ The full set of changes in this release can be found at https://github.com/Agori $CHECKS_TEXT. As a chain-halting upgrade, once approved, all chain validators will need to upgrade from `$PREV_RELEASE` to this new version (after the chain halts due to reaching the height required in a governance proposal). -Since the `agoric-upgrade-11` release, state-sync snapshots include more data than before. Nodes which have inadvertently pruned this data (e.g. those created from a state-sync before the `agoric-upgrade-11` release) will not be able to produce such snapshots, and will need to be restored from state-sync. We are aware of continued performance issues related to state-sync. In particular, we've observed that on some deployments, the current implementation can require 100 GB of temporary free disk space and 16GB of memory. +## State-sync + +State-sync snapshots now only include minimal data to restore a node. However there are still continued performance issues related to state-sync. In particular, we've observed that on some deployments, the snapshot taking and restoring process can take multiple hours, require about 20GB of temporary free disk space, and 16GB of memory. + +## Cosmos Upgrade Handler Name Below is the _cosmos upgrade handler name_ for this release. This is the name that can be used in governance proposals to deploy this upgrade. @@ -124,6 +128,8 @@ Below is the _cosmos upgrade handler name_ for this release. This is the name th Cosmos Upgrade Handler Name: $COSMOS_UPGRADE_NAME ``` +## Tags + Below is the git information related to this software release. Note the _git tag_ does not always match the _cosmos upgrade handler name_. ``` @@ -149,6 +155,8 @@ Presuming that your node is running `$PREV_RELEASE`, once the upgrade height for Install supported versions of Go, Node.js, and a compiler such as gcc or clang as documented in the [README](https://github.com/Agoric/agoric-sdk/tree/$TAG#prerequisites). +Make sure that the environment running the agd service has the same Node.js version as the environment used for building. In particular, if using `nvm` to manage Node.js version, the service environment should enable nvm and use the same version. + ### Building ``` @@ -157,14 +165,16 @@ cd agoric-sdk git fetch --all git checkout $TAG git clean -xdf && git submodule foreach --recursive git clean -xdf -yarn install -yarn build -(cd packages/cosmic-swingset && make) +./bin/agd build # (start the agd service) ``` Do _not_ copy the `agd` script or Go binary to another location. If you would like to have an executable `agd` in another location, then create a symlink in that location pointing to `agoric-sdk/bin/agd`. +### Troubleshooting `module ... was compiled against a different Node.js version` and `SyntaxError` issues + +The agd service is not using the same version of Node.js as the one used when building. The most likely cause is that `nvm` was used to manage the Node.js version in the shell when building. Either install the required version of Node.js globally using the system's package manager, or enable `nvm` in the environment of the agd service. + ### Troubleshooting `repoconfig.sh: No such file or directory` Unlike typical cosmos-sdk chains where the daemon is a single executable file, Agoric's use of cosmos-sdk depends on many components of `agoric-sdk` at runtime. Copying `agd` to `/usr/local/bin` or the like is unlikely to produce a working installation. For more detail, see: https://github.com/Agoric/agoric-sdk/issues/7825