Skip to content

High-level CI config DSL written in Go based on Dagger

License

Notifications You must be signed in to change notification settings

sagikazarmark/goci

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

24 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Go CI

GitHub Workflow Status Go Version go.dev reference built with nix

High-level CI config DSL written in Go based on Dagger.

⚠️ This tool is still under heavy development! Things may change. ⚠️

Features

  • Go test
  • GolangCI Lint
  • 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.

About

High-level CI config DSL written in Go based on Dagger

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published