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

[mithril] script update check uses hardcoded cncli.sh #1756

Closed
TrevorBenson opened this issue Apr 14, 2024 · 1 comment · Fixed by #1761
Closed

[mithril] script update check uses hardcoded cncli.sh #1756

TrevorBenson opened this issue Apr 14, 2024 · 1 comment · Fixed by #1761
Assignees
Labels
bug Something isn't working scripts Update to scripts in guild-operators

Comments

@TrevorBenson
Copy link
Collaborator

TrevorBenson commented Apr 14, 2024

Describe the bug
The checkUpdate function uses dirname and basename, but the scripts (mithril-client and mithril-signer) that are calling it is passing in cncli.sh. This was copy/pasted from cncli.sh version of the check without modification.

Expected behavior
The script should always be updating itself, not any other scripts.

Additional context
I'll have a branch and PR ready for this later today once I return home. I'll review all scripts to determine if a general approach/improvement can be made.

On initial review I saw that checkUpdate() was using dirname/basename, but didnt pay close enough attention that it was $1, not $0, and therefore the values were always passed along and not presumed to be the script that actually called the function.

@TrevorBenson TrevorBenson self-assigned this Apr 14, 2024
@TrevorBenson TrevorBenson added bug Something isn't working scripts Update to scripts in guild-operators labels Apr 14, 2024
TrevorBenson added a commit to TrevorBenson/guild-operators that referenced this issue Apr 17, 2024
Abastract common code into a mithril library
TrevorBenson added a commit to TrevorBenson/guild-operators that referenced this issue Apr 17, 2024
mithril-client binary command/subcommand changes replace snapshot with cardano-db cardano-community#1759
TrevorBenson added a commit that referenced this issue Apr 17, 2024
mithril-client binary command/subcommand changes replace snapshot with cardano-db #1759
@rdlrt
Copy link
Contributor

rdlrt commented Apr 18, 2024

Dont see cncli.sh touched in linked PR based on description of this issue / linked PR

TrevorBenson added a commit to TrevorBenson/guild-operators that referenced this issue Apr 27, 2024
* syntactic bug in entrypoint.sh cardano-community#1757

* Remove uneeded UPDATE_CHECK=N exports now that it is a default of the image ENV variables

* export G_ACCOUNT so guild-deploy.sh inherits it during forked builds

* Set defaults for G_ACCOUNT and GUILD_DEPLOY_BRANCH to simplify manual docker build commands

* Fix bug where updating cncli.sh cardano-community#1756

mithril-client binary command/subcommand changes replace snapshot with cardano-db cardano-community#1759

* Add reference to MITHRIL_DOWNLOAD for snapshot sync in regular docs

* export each line of mithril.env for the signer
use tee for logging to not hide issues/errors

* Fix for PARTY_ID used in verify_signer_request and verify_signer_signature

* Move sanchonet to RELEASE=testing

* SANCHONET/PREVIEW - adjustments to support sanchonet and preview versions of mithril for guild-deploy.sh downloading.

* SANCHONET/PREVIEW - adjustments to support sanchonet and preview versions of mithril for entrypoint.sh .

* linting and indentation consistentcy for entrypoint.sh

* Workflows to update mithril and node prerelease versions in preview branch, and mithril unstable version in sanchonet branch.

* Workflows to rebase preview and sanchonet branches on push to alpha, or workflow dispatch.

---------

Co-authored-by: RdLrT <3169068+rdlrt@users.noreply.github.com>
TrevorBenson added a commit to TrevorBenson/guild-operators that referenced this issue Apr 27, 2024
* syntactic bug in entrypoint.sh cardano-community#1757

* Remove uneeded UPDATE_CHECK=N exports now that it is a default of the image ENV variables

* export G_ACCOUNT so guild-deploy.sh inherits it during forked builds

* Set defaults for G_ACCOUNT and GUILD_DEPLOY_BRANCH to simplify manual docker build commands

* Fix bug where updating cncli.sh cardano-community#1756

mithril-client binary command/subcommand changes replace snapshot with cardano-db cardano-community#1759

* Add reference to MITHRIL_DOWNLOAD for snapshot sync in regular docs

* export each line of mithril.env for the signer
use tee for logging to not hide issues/errors

* Fix for PARTY_ID used in verify_signer_request and verify_signer_signature

* Move sanchonet to RELEASE=testing

* SANCHONET/PREVIEW - adjustments to support sanchonet and preview versions of mithril for guild-deploy.sh downloading.

* SANCHONET/PREVIEW - adjustments to support sanchonet and preview versions of mithril for entrypoint.sh .

* linting and indentation consistentcy for entrypoint.sh

* Workflows to update mithril and node prerelease versions in preview branch, and mithril unstable version in sanchonet branch.

* Workflows to rebase preview and sanchonet branches on push to alpha, or workflow dispatch.

* Docker Image workflow determine cnversion to use based on the guild_deploy_branch name.
- When branch preview/sanchonet use prerelease node version.
- For any other branch use the original logic for latest (stable) node version.

---------

Co-authored-by: RdLrT <3169068+rdlrt@users.noreply.github.com>
TrevorBenson added a commit to TrevorBenson/guild-operators that referenced this issue Apr 27, 2024
* syntactic bug in entrypoint.sh cardano-community#1757

* Remove uneeded UPDATE_CHECK=N exports now that it is a default of the image ENV variables

* export G_ACCOUNT so guild-deploy.sh inherits it during forked builds

* Set defaults for G_ACCOUNT and GUILD_DEPLOY_BRANCH to simplify manual docker build commands

* Fix bug where updating cncli.sh cardano-community#1756

mithril-client binary command/subcommand changes replace snapshot with cardano-db cardano-community#1759

* Add reference to MITHRIL_DOWNLOAD for snapshot sync in regular docs

* export each line of mithril.env for the signer
use tee for logging to not hide issues/errors

* Fix for PARTY_ID used in verify_signer_request and verify_signer_signature

* Move sanchonet to RELEASE=testing

* SANCHONET/PREVIEW - adjustments to support sanchonet and preview versions of mithril for guild-deploy.sh downloading.

* SANCHONET/PREVIEW - adjustments to support sanchonet and preview versions of mithril for entrypoint.sh .

* linting and indentation consistentcy for entrypoint.sh

* Workflows to get updated pre/unstable release as well as rebase preview and sanchonet branches. Occurs on push to alpha, workflow dispatch, and scheduled intervals

* Docker Image workflow determine cnversion to use based on the guild_deploy_branch name.
   - When branch preview/sanchonet use prerelease node version.
   - For any other branch use the original logic for latest (stable) node version.

---------

Co-authored-by: RdLrT <3169068+rdlrt@users.noreply.github.com>
TrevorBenson added a commit to TrevorBenson/guild-operators that referenced this issue Apr 28, 2024
* syntactic bug in entrypoint.sh cardano-community#1757

* Remove uneeded UPDATE_CHECK=N exports now that it is a default of the image ENV variables

* export G_ACCOUNT so guild-deploy.sh inherits it during forked builds

* Set defaults for G_ACCOUNT and GUILD_DEPLOY_BRANCH to simplify manual docker build commands

* Fix bug where updating cncli.sh cardano-community#1756

mithril-client binary command/subcommand changes replace snapshot with cardano-db cardano-community#1759

* Add reference to MITHRIL_DOWNLOAD for snapshot sync in regular docs

* export each line of mithril.env for the signer
use tee for logging to not hide issues/errors

* Fix for PARTY_ID used in verify_signer_request and verify_signer_signature

* Move sanchonet to RELEASE=testing

* SANCHONET/PREVIEW - adjustments to support sanchonet and preview versions of mithril for guild-deploy.sh downloading.

* SANCHONET/PREVIEW - adjustments to support sanchonet and preview versions of mithril for entrypoint.sh .

* linting and indentation consistentcy for entrypoint.sh

* Workflows to get updated pre/unstable release as well as rebase preview and sanchonet branches. Occurs on push to alpha, workflow dispatch, and scheduled intervals

* Docker Image workflow determine cnversion to use based on the guild_deploy_branch name.
   - When branch preview/sanchonet use prerelease node version.
   - For any other branch use the original logic for latest (stable) node version.

* fixup! Workflows to get updated pre/unstable release as well as rebase preview and sanchonet branches. Occurs on push to alpha, workflow dispatch, and scheduled intervals

* fixup! Workflows to get updated pre/unstable release as well as rebase preview and sanchonet branches. Occurs on push to alpha, workflow dispatch, and scheduled intervals

* fixup! Workflows to get updated pre/unstable release as well as rebase preview and sanchonet branches. Occurs on push to alpha, workflow dispatch, and scheduled intervals

* fixup! Workflows to get updated pre/unstable release as well as rebase preview and sanchonet branches. Occurs on push to alpha, workflow dispatch, and scheduled intervals

* fixup! Workflows to get updated pre/unstable release as well as rebase preview and sanchonet branches. Occurs on push to alpha, workflow dispatch, and scheduled intervals

* fixup! Workflows to get updated pre/unstable release as well as rebase preview and sanchonet branches. Occurs on push to alpha, workflow dispatch, and scheduled intervals

* fixup! Workflows to get updated pre/unstable release as well as rebase preview and sanchonet branches. Occurs on push to alpha, workflow dispatch, and scheduled intervals

* fixup! Workflows to get updated pre/unstable release as well as rebase preview and sanchonet branches. Occurs on push to alpha, workflow dispatch, and scheduled intervals

* fixup! Docker Image workflow determine cnversion to use based on the guild_deploy_branch name.    - When branch preview/sanchonet use prerelease node version.    - For any other branch use the original logic for latest (stable) node version.
fixup!

* fixup! SANCHONET/PREVIEW - adjustments to support sanchonet and preview versions of mithril for guild-deploy.sh downloading.

* fixup! Docker Image workflow determine cnversion to use based on the guild_deploy_branch name.    - When branch preview/sanchonet use prerelease node version.    - For any other branch use the original logic for latest (stable) node version.

---------

Co-authored-by: RdLrT <3169068+rdlrt@users.noreply.github.com>
TrevorBenson added a commit to TrevorBenson/guild-operators that referenced this issue Apr 28, 2024
* syntactic bug in entrypoint.sh cardano-community#1757

* Remove uneeded UPDATE_CHECK=N exports now that it is a default of the image ENV variables

* export G_ACCOUNT so guild-deploy.sh inherits it during forked builds

* Set defaults for G_ACCOUNT and GUILD_DEPLOY_BRANCH to simplify manual docker build commands

* Fix bug where updating cncli.sh cardano-community#1756

mithril-client binary command/subcommand changes replace snapshot with cardano-db cardano-community#1759

* Add reference to MITHRIL_DOWNLOAD for snapshot sync in regular docs

* export each line of mithril.env for the signer
use tee for logging to not hide issues/errors

* Fix for PARTY_ID used in verify_signer_request and verify_signer_signature

* Move sanchonet to RELEASE=testing

* Update configs and node version support for 8.9.x (cardano-community#1743)

## Description
<!--- Describe your changes -->

- [x] Update topology formats
- [x] Update baseline node version references
- [x] Update node/cli dependency refs and pre-downloaded binaries
- [x] Update document references
- [x] Update dbsync version

* SANCHONET/PREVIEW - adjustments to support sanchonet and preview versions of mithril for guild-deploy.sh downloading.

* linting and indentation consistentcy for entrypoint.sh

* Workflows to get updated pre/unstable release as well as rebase preview and sanchonet branches. Occurs on push to alpha, workflow dispatch, and scheduled intervals

* Docker Image workflow determine cnversion to use based on the guild_deploy_branch name.
   - When branch preview/sanchonet use prerelease node version.
   - For any other branch use the original logic for latest (stable) node version.

---------

Co-authored-by: RdLrT <3169068+rdlrt@users.noreply.github.com>
TrevorBenson added a commit to TrevorBenson/guild-operators that referenced this issue Apr 28, 2024
mithril-client binary command/subcommand changes replace snapshot with cardano-db cardano-community#1759
TrevorBenson added a commit to TrevorBenson/guild-operators that referenced this issue Apr 28, 2024
* syntactic bug in entrypoint.sh cardano-community#1757

* Remove uneeded UPDATE_CHECK=N exports now that it is a default of the image ENV variables

* export G_ACCOUNT so guild-deploy.sh inherits it during forked builds

* Set defaults for G_ACCOUNT and GUILD_DEPLOY_BRANCH to simplify manual docker build commands

* Fix bug where updating cncli.sh cardano-community#1756

mithril-client binary command/subcommand changes replace snapshot with cardano-db cardano-community#1759

* Add reference to MITHRIL_DOWNLOAD for snapshot sync in regular docs

* export each line of mithril.env for the signer
use tee for logging to not hide issues/errors

* Fix for PARTY_ID used in verify_signer_request and verify_signer_signature

* Move sanchonet to RELEASE=testing

* SANCHONET/PREVIEW - adjustments to support sanchonet and preview versions of mithril for guild-deploy.sh downloading.

* linting and indentation consistentcy for entrypoint.sh

* Workflows to get updated pre/unstable release as well as rebase preview and sanchonet branches. Occurs on push to alpha, workflow dispatch, and scheduled intervals

* Docker Image workflow determine cnversion to use based on the guild_deploy_branch name.
   - When branch preview/sanchonet use prerelease node version.
   - For any other branch use the original logic for latest (stable) node version.
TrevorBenson added a commit that referenced this issue May 3, 2024
mithril-client binary command/subcommand changes replace snapshot with cardano-db #1759
TrevorBenson added a commit that referenced this issue May 4, 2024
…ID for verification / Add mithril client download to non container docs (#1761)

1. Includes a syntax fix for #1757
2. Removes unecessary UPDATE_CHECK=N exports in the workflow now that it
is a default value in the Dockerfile ENV / Image.
3. Exports G_ACCOUNT before calls to `./guild-deploy.sh` to ensure if
images are built in a fork that the files come from the fork, not
**cardano-community**.
4. Sets default G_ACCOUNT and GUILD_DEPLOY_BRANCH so manual `docker
build` commands do not require passing `--build-arg`'s except to alter
default values.
5. Fixes a bug leftover in the update logic and abstracts common
functions from mithril scripts into a new mithril.library sourced by the
scripts, reduces maintenance overhead and code duplication.
6. Prepares for #1744 by getting the minimum versions for cardano node
from mithrils new `networks.json` file.
7. Implements changes suggested by @Fuma419 since branch node-8.10.0
will merge into alpha, but not node-8.9.0.
8. Fixes a bug leftover in the update logic

### 1756 update bug
* This changes the call to use `$(basename "$0")` for any instance of a
mithril script calling checkUpdate for itself, should future proof
against script renames.
  * Also runs checkUpdate for `env` and `mithril.library`.

### 1759 changes to mithril-client
* The cardano-db is now the base command
  * snapshot is relocated inside cardano-db
  * download is relocated from snapshot directly into cardano-db
* Implemented cleanup on crashes as well as user interupts. A new node
should either have a full copy of the most recent snapshot, or be empty
so `cnode.sh` has no corruption or incomplete files preventing a good
sync.

* This also changes `mithril-signer.sh`
* Existing flags in `mithril-signer.sh` changed to have a better overlap
in mithril scripts using similar OPTARGS (-u always skip updates, etc.).
* New flags implemented that integrates the upstream mithril scripts to
Verify signer registration and signer signatures.

Documentation has been updated to account for changes in the scripts
usage, flags, commands and subcommands. Also the MITHRIL_DOWNLOAD
variable is documented into the `node-cli.md`.

closes #1756
closes #1757
closes #1759
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working scripts Update to scripts in guild-operators
Projects
None yet
2 participants