From 1370357c095ba448eb90ea5049fc6ff84c888166 Mon Sep 17 00:00:00 2001 From: Xiangan He Date: Tue, 14 Jun 2022 23:15:13 -0400 Subject: [PATCH 1/9] chain json schema added --- chain.schema.json | 10 ++++++++++ 1 file changed, 10 insertions(+) create mode 100644 chain.schema.json diff --git a/chain.schema.json b/chain.schema.json new file mode 100644 index 00000000000..baafc42d114 --- /dev/null +++ b/chain.schema.json @@ -0,0 +1,10 @@ +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "git_repo": "https://github.com/osmosis-labs/osmosis", + "recommended_version": "v10.0.0", + "compatible_version": ["v10.0.0"], + "binaries": { + "linux/amd64": "https://github.com/osmosis-labs/osmosis/releases/download/v10.0.0/osmosis-10.0.0-linux-amd64", + "linux/arm64": "https://github.com/osmosis-labs/osmosis/releases/download/v10.0.0/osmosis-10.0.0-linux-arm64" + } +} \ No newline at end of file From 119e7b5b0e931f805b165417f0a34edbe86c7842 Mon Sep 17 00:00:00 2001 From: Xiangan He Date: Tue, 21 Jun 2022 14:09:21 -0400 Subject: [PATCH 2/9] pre-release code-auditing process docs initialization --- CONTRIBUTING.md | 49 ++++++++++++++++++++++++++++++++++++++++++++++--- 1 file changed, 46 insertions(+), 3 deletions(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 18b8fb77bc1..552f7ccd941 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -105,8 +105,51 @@ For v6.x, and v4.x, most PRs to them should go to main and get a "backport" labe ### How to build proto files. (rm -rf vendor/ && make build-reproducible once docker is installed) -You can do rm -rf vendor and make build-reproducible to redownload all dependencies - this should pull the latest docker image of Osmosis. You should also make sure to do make proto-all to auto-generate your protobuf files. Makes ure you have docker installed. +You can do rm -rf vendor and make build-reproducible to redownload all dependencies - this should pull the latest docker image of Osmosis. You should also make sure to do make proto-all to auto-generate your protobuf files. Makes ure you have docker installed. -If you get something like `W0503 22:16:30.068560 158 services.go:38] No HttpRule found for method: Msg.CreateBalancerPool` feel free to ignore that. +If you get something like `W0503 22:16:30.068560 158 services.go:38] No HttpRule found for method: Msg.CreateBalancerPool` feel free to ignore that. -Make sure to also do make all to run all the linting tests before you commit and push, as well as `gofmt`-ing the file you've modified or added to make sure everything still abides by the standards. \ No newline at end of file +Make sure to also do make all to run all the linting tests before you commit and push, as well as `gofmt`-ing the file you've modified or added to make sure everything still abides by the standards. + +## Major Release + +There are several steps that go into a major release + +* Run the (existing binary creation tool)[]. + +* Make a PR to main, with a cosmovisor config, generated in tandem with the binaries from tool. + * Should be its own PR, as it may get denied for Fork upgrades. + +* Make a PR to main to update the import paths and go.mod for the new major release + +* Should also make a commit into every open PR to main to do the same find/replace. (Unless this will cause conflicts) + +* Do a PR if that commit has conflicts + +* (Eventually) Make a PR that adds a version handler for the next upgrade + * Add v10 upgrade boilerplate #1649 + +* Update chain JSON schema's recommended versions + +### Pre-release auditing process + +For every module with notable changes, we assign someone who was not a primary author of those changes to review the entire module. + +Deliverables of review are: + +* PR's with in-line code comments for things they had to figure out (or questions) + +* tests / test comments needed to convince themselves of correctness + +* spec updates + +* Small refactors that helped in understanding / making code conform to consistency stds / improve code signal-to-noise ratio welcome + +* (As with all PRs, should not be a monolithic PR that gets PR'd, even though that may be the natural way its first formed) + +We will find a tool that lets us statically figure out every message that had something in its code path that changed, and until a tool is found, we must do this manually. + +We test in testnet & e2e testnet behaviors about every message that has changed + +We communicate with various integrators if they'd like release-blocking QA testing for major releases + * Chainapsis has communicated wanting a series of osmosis-frontend functionalities to be checked for correctness on a testnet as a release blocking item \ No newline at end of file From cf0ddc446bfcce732939cc93cf2dbf424240e9f7 Mon Sep 17 00:00:00 2001 From: Xiangan He Date: Tue, 21 Jun 2022 14:24:56 -0400 Subject: [PATCH 3/9] prerelease binary creation tool added --- CONTRIBUTING.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 552f7ccd941..05417dc5fba 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -115,7 +115,8 @@ Make sure to also do make all to run all the linting tests before you commit and There are several steps that go into a major release -* Run the (existing binary creation tool)[]. +* Run the [existing binary creation tool](https://github.com/osmosis-labs/osmosis/blob/main/.github/workflows/release.yml). Running `make -f contrib/images/osmobuilder/Makefile release` on the root of the repo will replicate the CI that creates the release folder containing the binaries. + * Make a PR to main, with a cosmovisor config, generated in tandem with the binaries from tool. * Should be its own PR, as it may get denied for Fork upgrades. From eb0e6e067246e2536a294204b70760c7f4bf0833 Mon Sep 17 00:00:00 2001 From: Xiangan He Date: Tue, 21 Jun 2022 14:26:48 -0400 Subject: [PATCH 4/9] fixed a letter-typo in chain-schema --- CONTRIBUTING.md | 1 - chain.schema.json | 13 +------------ 2 files changed, 1 insertion(+), 13 deletions(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 05417dc5fba..9e538d50b79 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -117,7 +117,6 @@ There are several steps that go into a major release * Run the [existing binary creation tool](https://github.com/osmosis-labs/osmosis/blob/main/.github/workflows/release.yml). Running `make -f contrib/images/osmobuilder/Makefile release` on the root of the repo will replicate the CI that creates the release folder containing the binaries. - * Make a PR to main, with a cosmovisor config, generated in tandem with the binaries from tool. * Should be its own PR, as it may get denied for Fork upgrades. diff --git a/chain.schema.json b/chain.schema.json index bc83b9e73c0..e8ae7867829 100644 --- a/chain.schema.json +++ b/chain.schema.json @@ -1,23 +1,12 @@ { -<<<<<<< HEAD - "$schema": "http://json-schema.org/draft-07/schema#", - "git_repo": "https://github.com/osmosis-labs/osmosis", - "recommended_version": "v10.0.0", - "compatible_version": ["v10.0.0"], - "binaries": { - "linux/amd64": "https://github.com/osmosis-labs/osmosis/releases/download/v10.0.0/osmosis-10.0.0-linux-amd64", - "linux/arm64": "https://github.com/osmosis-labs/osmosis/releases/download/v10.0.0/osmosis-10.0.0-linux-arm64" - } -======= "$schema": "http://json-schema.org/draft-07/schema#", "codebase":{ "git_repo": "https://github.com/osmosis-labs/osmosis", "recommended_version": "v10.0.0", - "compatible_version": ["v10.0.0"], + "compatible_versions": ["v10.0.0"], "binaries": { "linux/amd64": "https://github.com/osmosis-labs/osmosis/releases/download/v10.0.0/osmosis-10.0.0-linux-amd64", "linux/arm64": "https://github.com/osmosis-labs/osmosis/releases/download/v10.0.0/osmosis-10.0.0-linux-arm64" } } ->>>>>>> b46472836781dfdaa1c26c42ffa546948920a4e3 } \ No newline at end of file From 7487db064353ced4cc050b926f5898c9dda84cf9 Mon Sep 17 00:00:00 2001 From: Xiangan He Date: Tue, 21 Jun 2022 14:40:11 -0400 Subject: [PATCH 5/9] linked to v10 upgrade boilerplate, small phrasing changes --- CONTRIBUTING.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 9e538d50b79..9e4cec0e243 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -127,9 +127,9 @@ There are several steps that go into a major release * Do a PR if that commit has conflicts * (Eventually) Make a PR that adds a version handler for the next upgrade - * Add v10 upgrade boilerplate #1649 + * (Add v10 upgrade boilerplate #1649)[https://github.com/osmosis-labs/osmosis/pull/1649/files] -* Update chain JSON schema's recommended versions +* Update chain JSON schema's recommended versions in `chain.schema.json` located in the root directory. ### Pre-release auditing process @@ -139,15 +139,15 @@ Deliverables of review are: * PR's with in-line code comments for things they had to figure out (or questions) -* tests / test comments needed to convince themselves of correctness +* Tests / test comments needed to convince themselves of correctness -* spec updates +* Spec updates * Small refactors that helped in understanding / making code conform to consistency stds / improve code signal-to-noise ratio welcome * (As with all PRs, should not be a monolithic PR that gets PR'd, even though that may be the natural way its first formed) -We will find a tool that lets us statically figure out every message that had something in its code path that changed, and until a tool is found, we must do this manually. +At the moment, we're looking for a tool that lets us statically figure out every message that had something in its code path that changed. Until a tool is found, we must do this manually. We test in testnet & e2e testnet behaviors about every message that has changed From d41be173ac3d8dac4807e634b94ea075fda58b49 Mon Sep 17 00:00:00 2001 From: Xiangan He Date: Tue, 21 Jun 2022 14:43:37 -0400 Subject: [PATCH 6/9] md linter ifxes --- CONTRIBUTING.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 9e4cec0e243..cc543cfc170 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -118,7 +118,7 @@ There are several steps that go into a major release * Run the [existing binary creation tool](https://github.com/osmosis-labs/osmosis/blob/main/.github/workflows/release.yml). Running `make -f contrib/images/osmobuilder/Makefile release` on the root of the repo will replicate the CI that creates the release folder containing the binaries. * Make a PR to main, with a cosmovisor config, generated in tandem with the binaries from tool. - * Should be its own PR, as it may get denied for Fork upgrades. + * Should be its own PR, as it may get denied for Fork upgrades. * Make a PR to main to update the import paths and go.mod for the new major release @@ -127,7 +127,7 @@ There are several steps that go into a major release * Do a PR if that commit has conflicts * (Eventually) Make a PR that adds a version handler for the next upgrade - * (Add v10 upgrade boilerplate #1649)[https://github.com/osmosis-labs/osmosis/pull/1649/files] + * [Add v10 upgrade boilerplate #1649](https://github.com/osmosis-labs/osmosis/pull/1649/files) * Update chain JSON schema's recommended versions in `chain.schema.json` located in the root directory. From 53bba6d8831ed057b589d6cca338503e86431ed7 Mon Sep 17 00:00:00 2001 From: Xiangan He <76530366+xBalbinus@users.noreply.github.com> Date: Wed, 22 Jun 2022 09:41:25 -0400 Subject: [PATCH 7/9] Update CONTRIBUTING.md Co-authored-by: Roman --- CONTRIBUTING.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index cc543cfc170..a265207af95 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -109,7 +109,7 @@ You can do rm -rf vendor and make build-reproducible to redownload all dependenc If you get something like `W0503 22:16:30.068560 158 services.go:38] No HttpRule found for method: Msg.CreateBalancerPool` feel free to ignore that. -Make sure to also do make all to run all the linting tests before you commit and push, as well as `gofmt`-ing the file you've modified or added to make sure everything still abides by the standards. +Make sure to also do `make all` to run all the linting tests before you commit and push, as well as `gofmt`-ing the file you've modified or added to make sure everything still abides by the standards. ## Major Release From a01422a9ff1c634b3407943c3c8a879bc9870fc1 Mon Sep 17 00:00:00 2001 From: Xiangan He <76530366+xBalbinus@users.noreply.github.com> Date: Wed, 22 Jun 2022 17:18:38 -0400 Subject: [PATCH 8/9] Replaced gofmt section with just make-format --- CONTRIBUTING.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index a265207af95..5d6f69494f9 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -109,7 +109,7 @@ You can do rm -rf vendor and make build-reproducible to redownload all dependenc If you get something like `W0503 22:16:30.068560 158 services.go:38] No HttpRule found for method: Msg.CreateBalancerPool` feel free to ignore that. -Make sure to also do `make all` to run all the linting tests before you commit and push, as well as `gofmt`-ing the file you've modified or added to make sure everything still abides by the standards. +You can also feel free to do `make format` if you're getting errors related to `gofmt`. ## Major Release @@ -152,4 +152,4 @@ At the moment, we're looking for a tool that lets us statically figure out every We test in testnet & e2e testnet behaviors about every message that has changed We communicate with various integrators if they'd like release-blocking QA testing for major releases - * Chainapsis has communicated wanting a series of osmosis-frontend functionalities to be checked for correctness on a testnet as a release blocking item \ No newline at end of file + * Chainapsis has communicated wanting a series of osmosis-frontend functionalities to be checked for correctness on a testnet as a release blocking item From ffadbd9b93e014626f5fb6a8ef58efdf11e92a1e Mon Sep 17 00:00:00 2001 From: Xiangan He <76530366+xBalbinus@users.noreply.github.com> Date: Wed, 22 Jun 2022 17:20:53 -0400 Subject: [PATCH 9/9] Added resource for auto-formatting in Go --- CONTRIBUTING.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 5d6f69494f9..9c73f4537d0 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -109,7 +109,7 @@ You can do rm -rf vendor and make build-reproducible to redownload all dependenc If you get something like `W0503 22:16:30.068560 158 services.go:38] No HttpRule found for method: Msg.CreateBalancerPool` feel free to ignore that. -You can also feel free to do `make format` if you're getting errors related to `gofmt`. +You can also feel free to do `make format` if you're getting errors related to `gofmt`. Setting this up to be [automatic](https://www.jetbrains.com/help/go/reformat-and-rearrange-code.html#reformat-on-save) for yourself is recommended. ## Major Release