Commit Graph
90 Commits
Author SHA1 Message Date
dc30a6a642 feat(version): Add extraInfo to version cmd (backport #18063) (#18437)
Co-authored-by: samricotta <37125168+samricotta@users.noreply.github.com>
Co-authored-by: Julien Robert <julien@rbrt.fr>
2023-11-10 12:11:46 +00:00
d234c6aea2 feat: Improve getSDKVersion() to handle module replacements (backport #17096) (#17125)
Co-authored-by: devmosis <ryzond6728@gmail.com>
Co-authored-by: Julien Robert <julien@rbrt.fr>
2023-07-25 14:19:28 +02:00
Julien Robert c1974e4b3c refactor: remove cometbft/libs/cli import (#15673) 2023-04-03 14:48:02 +00:00
Mark Rushakoff e7097b1468 test: add cmdtest package (#15251)
## Description

This PR introduces the `cmdtest` package, offering a lightweight wrapper around cobra commands to simplify testing CLI utilities.

I backfilled tests for the `version` command, which was an example of a very simple test setup; and for the `export` command, which was more involved due to the server and client context requirements.

I did notice that there are some existing tests for some utilities, but the `cmdtest` package follows a simple pattern that has been easy to use successfully in [the relayer](https://github.com/cosmos/relayer/blob/main/internal/relayertest/system.go) and in other projects outside the Cosmos ecosystem.

While filling in these tests, I started removing uses of `cmd.Print`, as that is the root cause of issues like #8498, #7964, #15167, and possibly others. Internal to cobra, the print family of methods write to `cmd.OutOrStderr()` -- meaning that if the authors call `cmd.SetOutput()` before executing the command, the output will be written to stdout as expected; otherwise it will go to stderr. I don't understand why that would be the default behavior, but it is probably too late to change from cobra's side.

Instead of `cmd.Print`, we prefer to `fmt.Fprint(cmd.OutOrStdout())` or `fmt.Fprint(cmd.ErrOrStderr())` as appropriate, giving an unambiguous destination for output. And the new tests collect those outputs in plain `bytes.Buffer` values so that we can assert their content appropriately.

In the longer term, I would like to deprecate and eventually remove the `testutil` package's `ApplyMockIO` method and its `BufferWriter` and `BufferReader` types, as they are unnecessary indirection when a simpler solution exists. But that can wait until `cmdtest` has propagated through the codebase more.

---

### Author Checklist

*All items are required. Please add a note to the item if the item is not applicable and
please add links to any relevant follow up issues.*

I have...

- [x] included the correct [type prefix](https://github.com/commitizen/conventional-commit-types/blob/v3.0.0/index.json) in the PR title
- [x] targeted the correct branch (see [PR Targeting](https://github.com/cosmos/cosmos-sdk/blob/main/CONTRIBUTING.md#pr-targeting))
- [ ] ~~provided a link to the relevant issue or specification~~
- [x] reviewed "Files changed" and left comments if necessary
- [ ] confirmed all CI checks have passed

### Reviewers Checklist

*All items are required. Please add a note if the item is not applicable and please add
your handle next to the items reviewed if you only reviewed selected items.*

I have...

- [ ] confirmed the correct [type prefix](https://github.com/commitizen/conventional-commit-types/blob/v3.0.0/index.json) in the PR title
- [ ] confirmed all author checklist items have been addressed
- [ ] confirmed that this PR does not change production code
2023-03-06 19:40:24 +00:00
Julien Robert 41a3dfeced refactor!: migrate Cosmos SDK to CometBFT (#14897) 2023-02-05 14:51:33 +01:00
0943a70215 chore: fix linting issues exposed by fixing golangci-lint (#12895)
Co-authored-by: Marko <marbar3778@yahoo.com>
Co-authored-by: Julien Robert <julien@rbrt.fr>
2022-08-11 22:00:24 +02:00
Luke Rhoads bf11b1bf1f refactor: Implementing sigs.k8s.io YAML to remove .proto yaml annotations (#9780)
## Description

Draft of: #9705 

Started off with changing codec `MarshalYaml` function to directly go from JSON to yaml using the new library. Replaced the only usage of UnmarshalYaml per request.
---

### Author Checklist

*All items are required. Please add a note to the item if the item is not applicable and
please add links to any relevant follow up issues.*

I have...

- [ ] included the correct [type prefix](https://github.com/commitizen/conventional-commit-types/blob/v3.0.0/index.json) in the PR title
- [ ] added `!` to the type prefix if API or client breaking change
- [ ] targeted the correct branch (see [PR Targeting](https://github.com/cosmos/cosmos-sdk/blob/master/CONTRIBUTING.md#pr-targeting))
- [ ] provided a link to the relevant issue or specification
- [ ] followed the guidelines for [building modules](https://github.com/cosmos/cosmos-sdk/blob/master/docs/building-modules)
- [ ] included the necessary unit and integration [tests](https://github.com/cosmos/cosmos-sdk/blob/master/CONTRIBUTING.md#testing)
- [ ] added a changelog entry to `CHANGELOG.md`
- [ ] included comments for [documenting Go code](https://blog.golang.org/godoc)
- [ ] updated the relevant documentation or specification
- [ ] reviewed "Files changed" and left comments if necessary
- [ ] confirmed all CI checks have passed

### Reviewers Checklist

*All items are required. Please add a note if the item is not applicable and please add
your handle next to the items reviewed if you only reviewed selected items.*

I have...

- [x] confirmed the correct [type prefix](https://github.com/commitizen/conventional-commit-types/blob/v3.0.0/index.json) in the PR title
- [x] confirmed `!` in the type prefix if API or client breaking change
- [ ] confirmed all author checklist items have been addressed 
- [x] reviewed state machine logic
- [x] reviewed API design and naming
- [x] reviewed documentation is accurate
- [x] reviewed tests and test coverage
- [x] manually tested (if applicable)
2021-09-24 14:37:34 +00:00
Marko 105ad99a8e feat: add cosmos-sdk Version (#9429)
<!-- < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < ☺
v                               ✰  Thanks for creating a PR! ✰
v    Before smashing the submit button please review the checkboxes.
v    If a checkbox is n/a - please still include it but + a little note why
☺ > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > >  -->

## Description

Add CosmosSDKVersion to nodeInfo.

closes: #9420
2021-06-18 12:56:55 +00:00
likhita-809andmergify[bot] 300d2a7fd4 v043 audit changes for version (#9296)
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
2021-05-11 13:08:23 +00:00
96fe999343 Set proper default command output (#8628)
* Set proper default command output

* Removed duplicated cmd.SetErr(cmd.ErrOrStderr()) and cmd.SetOut(cmd.OutOrStdout())

* Moved command initialization and added CHANGELOG

* fix: groom all uses of cmd.Print*

* Ran make format

Co-authored-by: Michael FIG <mfig@agoric.com>
Co-authored-by: Alessio Treglia <alessio@tendermint.com>
Co-authored-by: Amaury <1293565+amaurym@users.noreply.github.com>
2021-04-17 00:21:32 +00:00
b5e873cd91 version --long displays replaced build dependencies (#7941)
* version --long displays replaced modules

* Update CHANGELOG

* Update CHANGELOG

* Update version/version.go

* Update CHANGELOG.md

* Update CHANGELOG.md

Co-authored-by: Alessio Treglia <alessio@tendermint.com>
Co-authored-by: Alessio Treglia <quadrispro@ubuntu.com>
2020-11-16 10:00:34 +00:00
Alessio Treglia e172a08333 enrich versioning with build deps (#7848)
`version --long` output now shows the list of build dependencies.

Redirect version's output to `stdout`.
2020-11-09 15:17:36 +00:00
Marko db09e51613 ci: upload coverage once (#7690) 2020-10-27 16:46:57 +01:00
Alessio Treglia 255ed06eb4 testutil: add ApplyMockIODiscardOutErr, simplify existing functions (#6665) 2020-07-10 08:55:48 +02:00
Alessio Treglia a940214a49 testutil cleanup and reorg (#6658)
Prepare migrating testing auxiliary functions from tests
to testutil.

Remove local duplicates on testutil.WriteToNewTempFile().

Always favor testutil.NewTestCaseDir() over ioutil.TempDir().

Add test cases for the testing auxiliary functions.
2020-07-09 14:21:20 +02:00
Alexander Bezobchuk bc261d9e83 version: Remove Viper (#6628)
* version: remove viper

* Remove home flag gets

* fix: tests
2020-07-07 17:20:09 +00:00
Alexander Bezobchuk 8670a10564 Merge PR #6595: Single Binary & Command Refactor 2020-07-07 11:40:46 -04:00
Alessio Treglia 3db39cda3c Fix various linter warnings (#5824) 2020-03-18 12:59:08 +00:00
Alessio Treglia d094183895 Increase code coverage of version up to 100% (#5726) 2020-02-28 18:14:01 +00:00
Alexander Bezobchuk 451535bd79 Merge PR #4837: Cleanup node_info Endpoint 2019-08-02 11:52:55 -04:00
Federico Kunze e85a734a57 update x/genaccounts to match module spec (#4759) 2019-07-22 16:26:42 +01:00
Alessio Treglia e9810ac25c Merge PR #4433: Adopt YAML as human-readable text output 2019-05-31 09:14:34 -04:00
Alexander Bezobchuk cfe31c4090 Merge PR #4372: Use Build's Client/Server Name 2019-05-18 19:06:08 -04:00
Alessio Treglia c0486aa532 R4R: Infrastructure for reproducible builds (#4262)
This change set introduces support for building gaia with gitian
on the following GOOS/GOARCH pairs:

- darwin/386
- darwin/amd64
- linux/386
- linux/amd64
- linux/arm
- linux/arm64
- windows/386
- windows/amd64

cmd/gaia/contrib/gitian-descriptors/ contains gitian descriptor files.

cmd/gaia/contrib/gitian-keys/ contains:
- a keys.txt file that is meant to list core developers and gitian
  builders PGP keys. 
- README.me to provide instructions on how to import the keys
  into one's personal GPG keyring.

The gosum utility is removed, so is the go.sum hashsum bit from
gaiacli/gaiad version string. It was meant to be a provisional
mitigation to the lack of a reproducible build process.

GOBIN is removed from all Makefiles. When GOBIN is set, go
refuses to cross-compiles binaries for foreign architectures.
export GOBIN=$GOPATH/bin is unnecessary anyway as by
default go install places built binaries in $GOPATH/bin.
Developers are required to update their enviornment files and
replace $GOBIN with $GOPATH/bin in PATH.

circleci configuration file is amended accordingly.

Closes: #4027
Closes: #4280
2019-05-14 00:33:34 +02:00
Alessio Treglia 38f93128eb Remove baseapp dependency on the version package (#4250)
The version package is meant to be a convenience utility
that provides SDK consumers with a ready-to-use version
command that produces app's versioning information from
flags passed at compile time.
It will not make sense anymore for the baseapp package
to depend on the version package once gaia will have been
migrated away from the SDK main repository as we neither
want to make assumptions nor set expectations on downstream
apps buildsystems. Thus BaseApp now provides SetAppVersion()
and AppVersion() to to allow SDK consumers to set BaseApp's
version information string once the struct is initialised.
2019-05-02 20:37:44 +01:00
Frank Yang 9e7440a92c Merge PR #4064: Remove dep/vendor from documentation and version cmd
* Remove `dep` and `vendor` from documentation
* Replace vendor with go.sum hash in version command
2019-04-08 11:00:17 -04:00
Juan Leni 787f46546d Merge PR #3620: Indicate build flags in version 2019-02-13 09:53:16 -08:00
Alessio Treglia 0ed6de0cbd Merge PR #3426: Various changes to version cmd, revert those which previously broke ABI
* version prints out short info by default

Handle -o json, add --long flag to print full version info.

* Add distclean target to Makefile

* Update PENDING.md

* Add missing targets in .PHONY
2019-01-29 23:25:43 +01:00
Alessio Treglia bf59291a79 Merge PR #3343: Enrich version command's output 2019-01-22 21:16:29 +01:00
Alessio Treglia 10b916eb28 Merge PR #2318: Simplify version handling, rely on git describe 2018-09-20 00:03:04 +08:00
Ethan Buchman 0bf061b707 update to tm v0.23.1
- fixes unbounded WAL growth
2018-08-22 16:04:26 -04:00
Christopher Goes e2691d98fc 0.24.1 - Fix validator pubkey bug 2018-08-21 15:40:43 +02:00
Christopher Goes a56117ee74 Stage onto release/v0.24.0 (#1999)
* Set SignedBlocksWindow back to 1000

* Merge PR #1995: upgrading ledger goclient lib

* Update version/version.go
2018-08-13 09:41:53 -04:00
Christopher Goes 02d52e4326 Hotfix/0.23.1: Tendermint 0.22.7 (#1844)
* Tendermint 0.22.7; bump patch version

* 0.23.0 -> 0.23.1; update CHANGELOG.md
2018-07-26 19:24:51 -04:00
Christopher Goes 8989af2a58 Update version 2018-07-19 21:15:52 +02:00
Ethan Buchman 9f2b83cbe9 version bump 2018-07-16 20:01:54 +01:00
Christopher Goes 28a1b5ebc0 Version & changelog 2018-07-14 04:20:14 +02:00
Christopher Goes 1a1373cc22 Update changelog & version 2018-07-13 23:00:07 +02:00
Ethan Buchman d226f1d62e changelog, version 2018-07-10 12:20:29 -04:00
Fabian 42e72956f4 Merge PR #1252: Query node version
introduce non store queries
add version query
update lcd spec
changelog
moved version query into baseapp
2018-06-14 07:49:21 +02:00
Ethan Buchman 1b7396d487 dev version bump 2018-06-13 01:34:51 -07:00
Christopher Goes 65786e4578 Update version.go & changelog 2018-06-13 10:05:50 +02:00
Ethan Buchman cb6534a8f8 version and changelog 2018-06-09 09:32:59 -07:00
Ethan Buchman 2b6a3fc8e3 changelog and version 2018-05-15 22:30:20 -04:00
Ethan Buchman 20abeb3dcf version and changelog 2018-05-15 12:45:36 -04:00
Ethan Buchman a2ba50718e changelog and version 2018-05-15 12:45:01 -04:00
Ethan Buchman 249c5508ef changelog and version 2018-05-14 17:05:27 -04:00
Ethan Buchman 7ef5e90fa5 update changelog and version 2018-05-01 13:58:50 -04:00
Ethan Buchman b79ab072e7 Merge branch 'master' into develop 2018-04-29 23:47:17 -04:00
Ethan Buchman 59a5da4f3a update tendermint to v0.19.1 2018-04-28 22:04:29 -04:00