Prepare main to become new default branch#9095
Conversation
| name: suppressions | ||
| path: test/fuzz/**/suppressions | ||
| retention-days: 1 | ||
| retention-days: 3 |
There was a problem hiding this comment.
I don't know that there's any benefit in retaining these results, unless we have a plan to use them
There was a problem hiding this comment.
What was the reasoning in having this in the first place?
There was a problem hiding this comment.
I think it makes sense to keep the crashers for 3 days -- if we are notified on Friday afternoon, we have an opportunity to review on Monday.
But off the top of my head, I don't know what the suppressions are, so I can't speak to why they should or should not be archived.
There was a problem hiding this comment.
I'm not sure. As far as I know the fuzz tests are basically useless, (e.g. they've never caught a bug in the last 18 months, as far as I know, aside from sometimes unexpectedly breaking compile, in silly but legitimate ways.)
| Makefile | ||
| - name: Run Go Tests | ||
| run: | | ||
| make test-group-${{ matrix.part }} NUM_SPLIT=6 |
There was a problem hiding this comment.
we should make sure that the number of splits here (6) are the right number of splits given the runtime of the tests and overhead.
There was a problem hiding this comment.
How do we do that?
There was a problem hiding this comment.
Look at the runtime of the tests in the patch, and make sure that they're more or less balanced, I think. It's reasonably impressionistic. The way this all works is that it takes a sorted list of all of the packages that have tests and splits them, but number of tests and test runtimes in CI don't split along the same lines, so you could have one group that takes 10 minutes and 5 that take 2, and in that case, you don't actually get any responsiveness by having more splits, because the long poll is in one test.
We always used to have 4 splits, and we upped it to 6 when the tests were more flaky because it meant when you restarted the tests (to be able to merge something) you'd be able to see the failure more easily and potentially reduce the chance that more tests would flake on the restart.
There was a problem hiding this comment.
for i in {0..5}; do /usr/bin/time -f "Test 0$i: %E" make test-group-0$i NUM_SPLIT=6; done
Test 00: 0:23.59
Test 01: 0:08.11
Test 02: 0:04.93
Test 03: 2:00.23
Test 04: 0:18.79
Test 05: 0:41.22I think this seems reasonable?
463bcf9 to
ca63b83
Compare
| @@ -537,8 +537,7 @@ paths: | |||
| type: array | |||
There was a problem hiding this comment.
Maybe this is fine, but are these changes actually in the v0.34 line? This didn't seem to be related to the CI parts of the change offhand.
There was a problem hiding this comment.
These fixes are just to get the linter to pass. I also went and checked the response schemas against the structs on the main branch and it seems there were a few minor inconsistencies there, so I fixed the schema where it was incorrect.
| key: ${{ runner.os }}-${{ github.sha }}-tm-binary | ||
| if: env.GIT_DIFF | ||
|
|
||
| test_abci_apps: |
There was a problem hiding this comment.
Are these really no longer relevant?
There was a problem hiding this comment.
It seems as though these were removed in #6684. I'll revert this for now until we re-apply that patch.
There was a problem hiding this comment.
Actually, these tests were moved to the build workflow.
mark-rushakoff
left a comment
There was a problem hiding this comment.
Overall LGTM, but I'll leave approval to those more familiar with the previous CI implementations. Left a few comments on things that stood out to me.
| - name: Install go-fuzz | ||
| working-directory: test/fuzz | ||
| run: go get -u github.com/dvyukov/go-fuzz/go-fuzz github.com/dvyukov/go-fuzz/go-fuzz-build | ||
| run: go install github.com/dvyukov/go-fuzz/go-fuzz@latest github.com/dvyukov/go-fuzz/go-fuzz-build@latest |
There was a problem hiding this comment.
Fuzzing is built in to go1.18, so we should prefer the tooling built into the toolchain. I think that is fine to wait for a later PR, though.
There was a problem hiding this comment.
I think this was implemented later on toward v0.35/v0.36. We can look at porting that work at some point.
| name: suppressions | ||
| path: test/fuzz/**/suppressions | ||
| retention-days: 1 | ||
| retention-days: 3 |
There was a problem hiding this comment.
I think it makes sense to keep the crashers for 3 days -- if we are notified on Friday afternoon, we have an opportunity to review on Monday.
But off the top of my head, I don't know what the suppressions are, so I can't speak to why they should or should not be archived.
| name: Golang Linter | ||
| # Lint runs golangci-lint over the entire Tendermint repository. | ||
| # | ||
| # This workflow is run on every pull request and push to main. |
There was a problem hiding this comment.
It would be nice to mention how to run this locally. (I think it's just make lint?)
There was a problem hiding this comment.
Yeah, it's just make lint. I've now added this to the end of the comment.
0194d9a to
8b6d482
Compare
main CI config to resemble master'smain to become new default branch
tychoish
left a comment
There was a problem hiding this comment.
I think the deletion of the minnet-kubernetes directory is probably fine, but I'm not sure it's in scope for the rest of this PR
.github/CODEOWNERS
Outdated
|
|
||
| /spec @cason @sergio-mena @jmalicevic @milosevic | ||
| # Spec related changes can be approved by the protocol design team | ||
| /spec @josef-widder @milosevic @cason @sergio-mena @jmalicevic |
There was a problem hiding this comment.
it's potentially a bit confusing to have duplication between this and the full team.
| working-directory: test/e2e | ||
| run: ./run-multiple.sh networks/nightly/*-group${{ matrix.group }}-*.toml | ||
|
|
||
| e2e-nightly-fail-2: |
There was a problem hiding this comment.
should the -2 here also drop?
There was a problem hiding this comment.
Not sure. This is how it is on master:
There was a problem hiding this comment.
Removed it. It seems redundant.
| # - lll | ||
| # - maligned | ||
| # - misspell | ||
| - misspell |
There was a problem hiding this comment.
I kind of think that we shouldn't change the linter config on the branch.
There was a problem hiding this comment.
I'm not changing it, I'm just sync'ing with master. See
Line 29 in d433ebe
| type: string | ||
| example: "Dialing seeds in progress. See /net_info for details" | ||
|
|
||
| BlockSearchResponse: |
There was a problem hiding this comment.
I don't think we should add this without the corresponding implementation.
There was a problem hiding this comment.
It's already on main (i.e. in v0.34):
tendermint/rpc/core/types/responses.go
Line 209 in 4309f54
While fixing the linting issues in the OpenAPI config, I discovered that there were a bunch of things that were missing/incorrect. So I've fixed them here to match the code on main.
See
tendermint/rpc/openapi/openapi.yaml
Line 1067 in 4309f54
main for example, where there's no definition of BlockSearchResponse in the OpenAPI config.
To get the YAML linting to pass I either had to fix all of the k8s scripts, or just delete them, so I deleted them (since this is what happened to them on |
Remove mintnet as discussed on team call. closes #1941
Signed-off-by: Thane Thomson <connect@thanethomson.com>
Signed-off-by: Thane Thomson <connect@thanethomson.com>
Signed-off-by: Thane Thomson <connect@thanethomson.com>
Signed-off-by: Thane Thomson <connect@thanethomson.com>
Signed-off-by: Thane Thomson <connect@thanethomson.com>
Signed-off-by: Thane Thomson <connect@thanethomson.com>
Signed-off-by: Thane Thomson <connect@thanethomson.com>
Signed-off-by: Thane Thomson <connect@thanethomson.com>
Signed-off-by: Thane Thomson <connect@thanethomson.com>
Signed-off-by: Thane Thomson <connect@thanethomson.com>
Signed-off-by: Thane Thomson <connect@thanethomson.com>
Signed-off-by: Thane Thomson <connect@thanethomson.com>
Signed-off-by: Thane Thomson <connect@thanethomson.com>
Signed-off-by: Thane Thomson <connect@thanethomson.com>
Co-authored-by: William Banfield <4561443+williambanfield@users.noreply.github.com>
Co-authored-by: William Banfield <4561443+williambanfield@users.noreply.github.com>
Signed-off-by: Thane Thomson <connect@thanethomson.com>
Signed-off-by: Thane Thomson <connect@thanethomson.com>
Signed-off-by: Thane Thomson <connect@thanethomson.com>
Signed-off-by: Thane Thomson <connect@thanethomson.com>
fd719d1 to
e51a78a
Compare
* Update Makefile with changes from #7372 Signed-off-by: Thane Thomson <connect@thanethomson.com> * Sync main GitHub config with master and update Signed-off-by: Thane Thomson <connect@thanethomson.com> * Remove unnecesary dot folders Signed-off-by: Thane Thomson <connect@thanethomson.com> * Sync dotfiles Signed-off-by: Thane Thomson <connect@thanethomson.com> * Remove unused Jepsen tests for now Signed-off-by: Thane Thomson <connect@thanethomson.com> * tools: remove k8s (#6625) Remove mintnet as discussed on team call. closes #1941 * Restore nightly fuzz testing of P2P addrbook and pex Signed-off-by: Thane Thomson <connect@thanethomson.com> * Fix YAML lints Signed-off-by: Thane Thomson <connect@thanethomson.com> * Fix YAML formatting nits Signed-off-by: Thane Thomson <connect@thanethomson.com> * More YAML nits Signed-off-by: Thane Thomson <connect@thanethomson.com> * github: fix linter configuration errors and occluded errors (#6400) * Minor fixes to OpenAPI spec to sync with structs on main Signed-off-by: Thane Thomson <connect@thanethomson.com> * Remove .github/auto-comment.yml - does not appear to be used Signed-off-by: Thane Thomson <connect@thanethomson.com> * Add issue config with link to discussions Signed-off-by: Thane Thomson <connect@thanethomson.com> * Adjust issue/PR templates to suit current process Signed-off-by: Thane Thomson <connect@thanethomson.com> * Remove unused RC branch config from release workflow Signed-off-by: Thane Thomson <connect@thanethomson.com> * Fix wildcard matching in build jobs config Signed-off-by: Thane Thomson <connect@thanethomson.com> * Document markdownlint config Signed-off-by: Thane Thomson <connect@thanethomson.com> * Restore manual E2E test group config Signed-off-by: Thane Thomson <connect@thanethomson.com> * Document linter workflow with local execution instructions Signed-off-by: Thane Thomson <connect@thanethomson.com> * Document and fix minor nit in Super-Linter markdownlint config Signed-off-by: Thane Thomson <connect@thanethomson.com> * Update .github/ISSUE_TEMPLATE/bug-report.md Co-authored-by: William Banfield <4561443+williambanfield@users.noreply.github.com> * Apply suggestions from code review Co-authored-by: William Banfield <4561443+williambanfield@users.noreply.github.com> * Update pull request template to add language around discussions/issues Signed-off-by: Thane Thomson <connect@thanethomson.com> * .golangci.yml: Deleted commented-out lines Signed-off-by: Thane Thomson <connect@thanethomson.com> * ci: Drop "-2" from e2e-nightly-fail workflow Signed-off-by: Thane Thomson <connect@thanethomson.com> * Address triviality concern in PR template Signed-off-by: Thane Thomson <connect@thanethomson.com> Co-authored-by: Marko <marbar3778@yahoo.com> Co-authored-by: Sam Kleinman <garen@tychoish.com> Co-authored-by: William Banfield <4561443+williambanfield@users.noreply.github.com>
…#9157) * Update CODEOWNERS to use teams (#9129) * Update CODEOWNERS to use teams Update the `CODEOWNERS` file to use the @tendermint/tendermint-engineering and @tendermint/tendermint-research teams as opposed to adding people one by one. This makes repository administration somewhat easier to manage, especially when onboarding/offboarding people. Signed-off-by: Thane Thomson <connect@thanethomson.com> * Add Ethan as superuser Signed-off-by: Thane Thomson <connect@thanethomson.com> * Prepare `main` to become new default branch (#9095) * Update Makefile with changes from #7372 Signed-off-by: Thane Thomson <connect@thanethomson.com> * Sync main GitHub config with master and update Signed-off-by: Thane Thomson <connect@thanethomson.com> * Remove unnecesary dot folders Signed-off-by: Thane Thomson <connect@thanethomson.com> * Sync dotfiles Signed-off-by: Thane Thomson <connect@thanethomson.com> * Remove unused Jepsen tests for now Signed-off-by: Thane Thomson <connect@thanethomson.com> * tools: remove k8s (#6625) Remove mintnet as discussed on team call. closes #1941 * Restore nightly fuzz testing of P2P addrbook and pex Signed-off-by: Thane Thomson <connect@thanethomson.com> * Fix YAML lints Signed-off-by: Thane Thomson <connect@thanethomson.com> * Fix YAML formatting nits Signed-off-by: Thane Thomson <connect@thanethomson.com> * More YAML nits Signed-off-by: Thane Thomson <connect@thanethomson.com> * github: fix linter configuration errors and occluded errors (#6400) * Minor fixes to OpenAPI spec to sync with structs on main Signed-off-by: Thane Thomson <connect@thanethomson.com> * Remove .github/auto-comment.yml - does not appear to be used Signed-off-by: Thane Thomson <connect@thanethomson.com> * Add issue config with link to discussions Signed-off-by: Thane Thomson <connect@thanethomson.com> * Adjust issue/PR templates to suit current process Signed-off-by: Thane Thomson <connect@thanethomson.com> * Remove unused RC branch config from release workflow Signed-off-by: Thane Thomson <connect@thanethomson.com> * Fix wildcard matching in build jobs config Signed-off-by: Thane Thomson <connect@thanethomson.com> * Document markdownlint config Signed-off-by: Thane Thomson <connect@thanethomson.com> * Restore manual E2E test group config Signed-off-by: Thane Thomson <connect@thanethomson.com> * Document linter workflow with local execution instructions Signed-off-by: Thane Thomson <connect@thanethomson.com> * Document and fix minor nit in Super-Linter markdownlint config Signed-off-by: Thane Thomson <connect@thanethomson.com> * Update .github/ISSUE_TEMPLATE/bug-report.md Co-authored-by: William Banfield <4561443+williambanfield@users.noreply.github.com> * Apply suggestions from code review Co-authored-by: William Banfield <4561443+williambanfield@users.noreply.github.com> * Update pull request template to add language around discussions/issues Signed-off-by: Thane Thomson <connect@thanethomson.com> * .golangci.yml: Deleted commented-out lines Signed-off-by: Thane Thomson <connect@thanethomson.com> * ci: Drop "-2" from e2e-nightly-fail workflow Signed-off-by: Thane Thomson <connect@thanethomson.com> * Address triviality concern in PR template Signed-off-by: Thane Thomson <connect@thanethomson.com> Co-authored-by: Marko <marbar3778@yahoo.com> Co-authored-by: Sam Kleinman <garen@tychoish.com> Co-authored-by: William Banfield <4561443+williambanfield@users.noreply.github.com> Co-authored-by: Thane Thomson <connect@thanethomson.com> Co-authored-by: Marko <marbar3778@yahoo.com> Co-authored-by: Sam Kleinman <garen@tychoish.com> Co-authored-by: William Banfield <4561443+williambanfield@users.noreply.github.com>
This PR aims to sync the entire
.githubfolder inmainwith that inmaster, updating the configuration for the new repo strategy.One minor update to the
Makefilewas necessary in order to keep the tests split into groups, and some updates to some YAML files were necessary to get the linter to pass.While I was at it, I've now updated the various issue/PR templates to better reflect our current workflow. Please let me know whether those updates seem reasonable. Some of the main changes there:
.github/auto-comment.yml- doesn't seem like it was being used.github/ISSUE_TEMPLATE/{proposal,feature-request}.md- removed the#### For Admin Usesection. Doesn't look like we really pay attention to it?.github/ISSUE_TEMPLATE/config.yml- hopefully I've configured this correctly (as per the GitHub docs)..github/ISSUE_TEMPLATE/*.md- updated the instructions in the comments to redirect users to the discussions section of the repo if they want to ask questions instead of logging issues.