goci
goci copied to clipboard
High-level CI config DSL written in Go based on Dagger
Go CI
High-level CI config DSL written in Go based on Dagger.
⚠️ This tool is still under heavy development! Things may change. ⚠️
Features
- [x] Go test
- [x] GolangCI Lint
- [x] CI detection
- [ ] CodeCov upload
- [ ] Build pipelines
- [ ] Build matrix
- [ ] Pipelines
- [ ] Step dependencies
Goals
- Create a high-level interface for building a CI based on Dagger
- Hide low-level (Dagger) details as much as possible
Usage
Install the library:
go get github.com/sagikazarmark/goci
Create CLI tool:
package main
func main() {
client, err := dagger.Connect(ctx)
if err != nil {
return panic(err)
}
defer client.Close()
c := golang.Test(client)
output, err := container.Stdout(ctx)
if err != nil {
return panic(err)
}
fmt.Print(output)
}
License
The project is licensed under the MIT License.