You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Added section to Contributing.md detailing our desired pre-release code auditing process (osmosis-labs#1848)
* chain json schema added
* pre-release code-auditing process docs initialization
* prerelease binary creation tool added
* fixed a letter-typo in chain-schema
* linked to v10 upgrade boilerplate, small phrasing changes
* md linter ifxes
* Update CONTRIBUTING.md
Co-authored-by: Roman <roman@osmosis.team>
* Replaced gofmt section with just make-format
* Added resource for auto-formatting in Go
Co-authored-by: Roman <roman@osmosis.team>
Copy file name to clipboardExpand all lines: CONTRIBUTING.md
+46-3Lines changed: 46 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -105,8 +105,51 @@ For v6.x, and v4.x, most PRs to them should go to main and get a "backport" labe
105
105
106
106
### How to build proto files. (rm -rf vendor/ && make build-reproducible once docker is installed)
107
107
108
-
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.
108
+
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.
109
109
110
-
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.
110
+
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.
111
111
112
-
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.
112
+
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.
113
+
114
+
## Major Release
115
+
116
+
There are several steps that go into a major release
117
+
118
+
* 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.
119
+
120
+
* Make a PR to main, with a cosmovisor config, generated in tandem with the binaries from tool.
121
+
* Should be its own PR, as it may get denied for Fork upgrades.
122
+
123
+
* Make a PR to main to update the import paths and go.mod for the new major release
124
+
125
+
* Should also make a commit into every open PR to main to do the same find/replace. (Unless this will cause conflicts)
126
+
127
+
* Do a PR if that commit has conflicts
128
+
129
+
* (Eventually) Make a PR that adds a version handler for the next upgrade
* Update chain JSON schema's recommended versions in `chain.schema.json` located in the root directory.
133
+
134
+
### Pre-release auditing process
135
+
136
+
For every module with notable changes, we assign someone who was not a primary author of those changes to review the entire module.
137
+
138
+
Deliverables of review are:
139
+
140
+
* PR's with in-line code comments for things they had to figure out (or questions)
141
+
142
+
* Tests / test comments needed to convince themselves of correctness
143
+
144
+
* Spec updates
145
+
146
+
* Small refactors that helped in understanding / making code conform to consistency stds / improve code signal-to-noise ratio welcome
147
+
148
+
* (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)
149
+
150
+
At the moment, we're looking fora tool that lets us statically figure out every message that had somethingin its code path that changed. Until a tool is found, we must do this manually.
151
+
152
+
We testin testnet & e2e testnet behaviors about every message that has changed
153
+
154
+
We communicate with various integrators if they'd like release-blocking QA testing for major releases
155
+
* Chainapsis has communicated wanting a series of osmosis-frontend functionalities to be checked for correctness on a testnet as a release blocking item
0 commit comments