https://github.com/sagikazarmark/goci
High-level CI config DSL written in Go based on Dagger
https://github.com/sagikazarmark/goci
Last synced: 7 months ago
JSON representation
High-level CI config DSL written in Go based on Dagger
- Host: GitHub
- URL: https://github.com/sagikazarmark/goci
- Owner: sagikazarmark
- License: mit
- Created: 2023-01-13T00:20:02.000Z (almost 3 years ago)
- Default Branch: main
- Last Pushed: 2023-05-01T15:08:01.000Z (over 2 years ago)
- Last Synced: 2025-03-15T16:11:14.522Z (7 months ago)
- Language: Go
- Size: 63.5 KB
- Stars: 28
- Watchers: 4
- Forks: 1
- Open Issues: 4
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Go CI


[](https://pkg.go.dev/mod/github.com/sagikazarmark/goci)
[](https://builtwithnix.org)**High-level CI config DSL written in Go based on [Dagger](https://dagger.io/).**
**⚠️ 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:
```shell
go get github.com/sagikazarmark/goci
```Create CLI tool:
```go
package mainfunc 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](LICENSE).