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

fix(scripts): Update GitHub release template to document recursive git clean #9634

Merged
merged 2 commits into from
Sep 12, 2024
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 MAINTAINERS.md
Original file line number Diff line number Diff line change
Expand Up @@ -322,7 +322,7 @@ to pass and for reviewer approval.

Generate a template:
```sh
./scripts/gen-github-release <release-label> > release.md
./scripts/gen-github-release.sh <release-label> > release.md
```
Then replace the remaining `$`-prefixed placeholders, filling in
the [_**validator oriented release description**_](#describe-the-release) and using
Expand Down
20 changes: 15 additions & 5 deletions scripts/gen-github-release.sh
Original file line number Diff line number Diff line change
Expand Up @@ -116,14 +116,20 @@ 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.

```
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_.

```
Expand All @@ -149,22 +155,26 @@ 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

```
# (stop the agd service)
cd agoric-sdk
git fetch --all
git checkout $TAG
git clean -xdf
yarn install
yarn build
(cd packages/cosmic-swingset && make)
git clean -xdf && git submodule foreach --recursive git clean -xdf
./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
Expand Down
Loading