testcontainers-go
testcontainers-go copied to clipboard
[Enhancement]: Some ideas for testcontainers-go
Proposal
There are several ideas I can see concerning testcontainers-go, some concerning modulegen, some concerning the CI/CD.
Modulegen
- [x] ~~extract mkdocs
example.mdfile generation in/internal/mkdocs~~ #1543 - [x] ~~extract
Makefilefile generation in/internal/make~~ #1537 - [x] ~~extract
example.goandexample_test.gofile generation in/internal/module~~ #1539 - [x] ~~extract
go.modfile generation in/internal/moduleand replace html/template withgolang.org/x/mod/modfileto directly read from maingo.mod~~ #1539 - [ ] Replace templates functions with Example attributes
- [x] ~~use
github.com/spf13/cobrato handle the commands~~ #1550
CI/CD
- [x] ~~Provide code coverage to sonarcloud (starting with main module)~~ #1518
- [ ] ~~Generate sonar-project.properties per module/example ?~~
- [ ] ~~Change dependabot updates schedule interval to "weekly" to address updates more frequently so it doesn't become an epic task every month ?~~
- [ ] ~~Move Image of the example/module to a Dockerfile to be able to receive updates from dependabot ?~~
- [ ] trigger a go mod tidy on every module depending on the main one when it is modified
I'm much more focused on modulegen for the moment
Change dependabot updates schedule interval to "weekly" to address updates more frequently so it doesn't become an epic task every month ?
We already had that schedule, and there were lots of updates, exhausting the free tier of our GH actions workers across the entire testcontainers organisation.
I guess that at that time there was no groups for the updates. Would it helps smooth the process? Another option would be to replace dependabot with renovate.
Move Image of the example/module to a Dockerfile to be able to receive updates from dependabot ?
Regarding this, I'd say no, as we want to keep modules stable, at least until we have a real support matrix (which we do not have). Also moving to a Dockerfile-based module will force users to build the image again and again.
Just in case, I'm exploring updatecli for certain updates