grafana / xk6-disruptor

Extension for injecting faults into k6 tests
https://k6.io/docs/javascript-api/xk6-disruptor/
GNU Affero General Public License v3.0
93 stars 7 forks source link

Implement release process using Golang #275

Open pablochacin opened 1 year ago

pablochacin commented 1 year ago

Presently the logic of the build process is split between the CI automation (gitlab pipeline) and a series of shell scripts. This logic is complex and involves building binaries for multiple targets, as well as building and publishing docker images for the main branch and for release branches.

Besides, a simpler version of this build logic is also duplicated in a Makefile created and maintained for the convenience of the developers. A Makefile is used to ensure some dependencies are maintained.

The current situation has multiple disadvantages:

One alternative to this situation could be adopting a pipeline-as-code approach using Golang as the programming language. Using a "regular" programming language has many advantages.

Some tools to consider are

roobre commented 1 year ago

There's also https://github.com/magefile/mage, which has been around since 2018. I haven't used it personally but it's been around for a very long while so I'd expect some level of maturity as a result.