-
Notifications
You must be signed in to change notification settings - Fork 34
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add MultiMod releaser app (source code and half of unit tests) #8
Add MultiMod releaser app (source code and half of unit tests) #8
Conversation
Includes code to generate the Cobra "releasing" application and unit tests for versions/versions.go and verify/verify.go
Need to add the makeTree function to create the go.mod test files during runtime, rather than storing in the repo.
Additionally added dynamic creation of mod files
Ensures that error messages do not have capitalization or end with punctuation. Handles all errors in test files.
Codecov Report
@@ Coverage Diff @@
## main #8 +/- ##
==========================================
+ Coverage 30.00% 39.43% +9.43%
==========================================
Files 1 14 +13
Lines 20 743 +723
==========================================
+ Hits 6 293 +287
- Misses 11 423 +412
- Partials 3 27 +24
Continue to review full report at Codecov.
|
Disclaimer: Opinionated comment I think it might be worth considering using https://github.com/goyek/goyek for making build pipelines in Go. Why? I think it would be easier to maintain, debug, and use than a combination of CLI Go programs + Makefile. Tomorrow, I will try to create an issue about it under https://github.com/open-telemetry/opentelemetry-go regarding it. Then I will remove or edit this comment. EDIT Here is the issue: open-telemetry/opentelemetry-go#2152 |
…-o11y/opentelemetry-go-build-tools into releaser/test-common-verify
This PR adds code to generate a Go Cobra application used for flexible module releasing for Go repos with multiple Go Modules. Currently, the script works as intended in testing with the OpenTelemetry-Go repo, and is intended primarily for maintainers of repos. For more context about this tool, such as why it is necessary, how to use it, and what the overall design is, please see this design doc.
The following are completed and included in the PR:
common
andverify
Here is the organization of the major source files changes (not including test-related or CI-related files):
There are several TODO items to clean up the code which will be implemented shortly in subsequent PRs, including a full testing suite to help maintain the tool. In addition, several refactoring items and additional features are currently in the works, such as: