Skip to content

Commit

Permalink
fix: Get installer working with testnet-5 [DEV-2001] (cheqd#490)
Browse files Browse the repository at this point in the history
* Update legacy version in test pipeline

* Update comment in app.gox

* Provide github token

* Remove strip components

* ci: Execute interactive installer test [DEV-1944] (cheqd#460)

* remove configureCmd

* remove post_install method from installer.py

* remove add-observer.sh from upgrade/cosmovisor

* remove add-observer.sh from interactive-install

* remove post_install method usage

* keep post_install method empty

* Update config.toml and app.toml defaults

* Bump alpine image version to latest

* Update default persistent flags

* Set --gas flag correctly

* Delete legacy interactive test folder

* Add installer test to workflow

* Update package-lock.json

* Fix workflow syntax error in interactive-installer job

* add questionary to bump cosmovisor

* move bump logic to setup_cosmovisor

* Check for success

* Change existing install check

* Update existing installation check

* Update installer check

* Fix linter issue

* Update test.yml

* Fix linter error

* Update test.yml

* Debugging installer flow

* Update build.yml

* Set up tmate on failure

* Try Andrew's technique

* Change home path

* Fix home path

* Update installer.py

* auto detect os arch for cosmovisor binary

* set default bump cosmovisor to yes

* set correct OS arch

* keep first install steps only in setup_cosmovisor

* set cosmovisor ENV vars

* remove sudo from export

* write to .profile using python

* Move filesx

* fix path to .profile

* log cosmovisor version when upgrade

* update .profile for current session

* exec source ~/.profile without stdout

* add execute permission

* Update installer.py

* add try/except

* get version anyway

* suppress err in bash

* add new line

* Delete outdated Cosmovisor check

* Create answers.txt

* Disable tmate

* use v1.2.0 instead

* try appending to .bashrc

* try with os.environ

* compare version and ask for bump

* rename function

* suppress error

* wrap std output in triple quotes

* add logs

* fix getting current version

* handle edge case

* add more info

* fix typo

* remove logs

* semantics

* add bump logic

* avoid fresh install during upgrade

* Debug only

* Update build.yml

* move new binary to installation directory

* try cosmovisor init

* extract to methods

* set ENV vars right after cosmovisor install

* edit upgrade steps

* add logs

* keep only interview logic at ask

* add fixes

* move info log

* minor fix

* stop and reload cosmovisor systemd during bump

* fix fresh install

* add logs

* more logs

* more log

* logs

* more logs

* add try except

* logs

* fix

* logs

* logs

* logs

* logs

* logs

* fix

* fix

* fix env var check

* remove unused function

* move getting cosmovisor download url to its own function

* check if .bashrc is writable or not

* fix syntax issues

* change ~ ownership to cheqd

* fix quotes syntax

* temporarily disable editing current user .bashrc

* remove is_file_writable

* write to file and read version for it

* remove using os

* add logs

* use tee

* remove debug logs

* write to bashrc python way

* add fix

* update installer.py

* Check default shell

* extract download and unzip to its own method

* reuse download_and_unzip

* add logs

* revert changes

* fix wrap in directory issue for versions lower than 1.0.1

* Update build.yml

* First we should check all existing different OS release,
then we should report about failure

* Add cosmovisor path to default PATH

* Remove previous commit code

* Reverse code

* Change runner from ubuntu-latest to ubuntu-20.04

* Fix linter mistakes

* Reset to version in develop

* Reset more correctly to develop branch

* Fix merge errors

* Delete Dockerfile approach

* Move installer test to test pipeline

* Rename to install from scratch

* Create upgrade-existing.txt

* Add upgrade path test

Co-authored-by: Benyam Seifu <[email protected]>
Co-authored-by: Alexander Kolesov <[email protected]>
Co-authored-by: Benyam Seifu <[email protected]>
Co-authored-by: Filip Djokic <[email protected]>
Co-authored-by: abdulla-ashurov <[email protected]>
Co-authored-by: abdulla-ashurov <[email protected]>

* Remove github token

* Fix shields

Co-authored-by: Benyam Seifu <[email protected]>
Co-authored-by: Alexander Kolesov <[email protected]>
Co-authored-by: Benyam Seifu <[email protected]>
Co-authored-by: Filip Djokic <[email protected]>
Co-authored-by: abdulla-ashurov <[email protected]>
Co-authored-by: abdulla-ashurov <[email protected]>
  • Loading branch information
7 people authored and Toktar committed Dec 28, 2022
1 parent c976a36 commit 7525fdd
Show file tree
Hide file tree
Showing 4 changed files with 28 additions and 8 deletions.
23 changes: 23 additions & 0 deletions .github/workflows/test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,29 @@ permissions:

jobs:

interactive-installer:
name: "Interactive Installer"
runs-on: ubuntu-20.04

steps:
- uses: actions/checkout@v3

- name: "Fresh install"
working-directory: ./installer
run: |
sudo bash -c "python3 installer.py < install-from-scratch.txt"
- name: "Upgrade existing installation"
working-directory: ./installer
run: |
sudo bash -c "python3 installer.py < upgrade-existing.txt"
- name: Debugging with tmate
if: ${{ failure() }}
uses: mxschmitt/[email protected]
with:
timeout-minutes: 15

unit-tests:
name: "Unit Tests"
runs-on: ubuntu-20.04
Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@

[![GitHub release (latest by date including pre-releases)](https://img.shields.io/github/v/release/cheqd/cheqd-node?include_prereleases&label=dev%20release&style=flat-square)](https://github.com/canow-co/cheqd-node/releases/) ![GitHub commits since latest release (by date)](https://img.shields.io/github/commits-since/cheqd/cheqd-node/latest?style=flat-square) [![GitHub contributors](https://img.shields.io/github/contributors/cheqd/cheqd-node?label=contributors%20%E2%9D%A4%EF%B8%8F&style=flat-square)](https://github.com/canow-co/cheqd-node/graphs/contributors)

[![GitHub Workflow Status](https://img.shields.io/github/workflow/status/cheqd/cheqd-node/Workflow%20Dispatch?label=workflows&style=flat-square)](https://github.com/canow-co/cheqd-node/actions/workflows/dispatch.yml) [![GitHub Workflow Status](https://img.shields.io/github/workflow/status/cheqd/cheqd-node/CodeQL?label=CodeQL&style=flat-square)](https://github.com/canow-co/cheqd-node/actions/workflows/codeql.yml) ![GitHub go.mod Go version](https://img.shields.io/github/go-mod/go-version/cheqd/cheqd-node?style=flat-square) ![GitHub repo size](https://img.shields.io/github/repo-size/cheqd/cheqd-node?style=flat-square)
[![GitHub Workflow Status](https://img.shields.io/github/actions/workflow/status/cheqd/cheqd-node/dispatch.yml?branch=main&label=workflows&style=flat-square)](https://github.com/cheqd/cheqd-node/actions/workflows/dispatch.yml) [![GitHub Workflow Status](https://img.shields.io/github/actions/workflow/status/cheqd/cheqd-node/codeql.yml?branch=main&label=CodeQL&style=flat-square)](https://github.com/cheqd/cheqd-node/actions/workflows/codeql.yml) ![GitHub go.mod Go version](https://img.shields.io/github/go-mod/go-version/cheqd/cheqd-node?style=flat-square) ![GitHub repo size](https://img.shields.io/github/repo-size/cheqd/cheqd-node?style=flat-square)

## ℹ️ Overview

Expand Down
2 changes: 1 addition & 1 deletion app/app.go
Original file line number Diff line number Diff line change
Expand Up @@ -854,7 +854,7 @@ func New(
fmt.Println("Current version map: ", fromVM)
fmt.Println("Expected version map: ", versionMap)

// Skip resource module InitGenesis (was not present in v0.6.9)
// Skip resource module InitGenesis (was not present in v0.6.x)
fromVM[resourcetypes.ModuleName] = versionMap[resourcetypes.ModuleName]
}

Expand Down
9 changes: 3 additions & 6 deletions installer/installer.py
Original file line number Diff line number Diff line change
Expand Up @@ -115,7 +115,7 @@ def get_release_url(self):
version_without_v_prefix = self.version.replace('v', '' ,1)
if os.path.basename(_url) == f"cheqd-noded-{version_without_v_prefix}-{os_name}-{os_arch}.tar.gz" or \
os.path.basename(_url) == "cheqd-noded":
return _url
return _url

else:
failure_exit(f"No asset found to download for release: {self.version}")
Expand Down Expand Up @@ -267,10 +267,7 @@ def get_binary(self):
try:
self.exec(f"wget -c {binary_url}")
if fname.find(".tar.gz") != -1:
if self.version.replace('v', '') >= '1.0.1':
self.exec(f"tar -xzf {fname} -C .")
else:
self.exec(f"tar -xzf {fname} -C . --strip-components=1")
self.exec(f"tar -xzf {fname} -C .")
self.remove_safe(fname)
self.exec(f"chmod +x {DEFAULT_BINARY_NAME}")
except:
Expand Down Expand Up @@ -547,7 +544,7 @@ def setup_cosmovisor(self):
self.remove_safe("CHANGELOG.md")
self.remove_safe("README.md")
self.remove_safe("LICENSE")

self.mkdir_p(self.cosmovisor_root_dir)
self.mkdir_p(os.path.join(self.cosmovisor_root_dir, "genesis"))
self.mkdir_p(os.path.join(self.cosmovisor_root_dir, "genesis/bin"))
Expand Down

0 comments on commit 7525fdd

Please sign in to comment.