Dagger
Search

golang

A utility module for building, testing, and linting Go projects

Installation

dagger install github.com/kpenfound/dagger-modules/golang@v0.1.10

Entrypoint

Return Type
Golang !
Arguments
NameTypeDescription
ctrContainer No description provided
projDirectory No description provided
Example
func (m *myModule) example() *Golang  {
	return dag.
			Golang()
}
@function
def example() -> dag.Golang:
	return (
		dag.golang()
	)
@func()
example(): Golang {
	return dag
		.golang()
}

Types

Golang

build()

Build the Go project

Return Type
Directory !
Arguments
NameTypeDefault ValueDescription
sourceDirectory -The Go source code to build
args[String ! ] !-Arguments to `go build`
archString -The architecture for GOARCH
osString -The operating system for GOOS
Example
dagger -m github.com/kpenfound/dagger-modules/golang@44564d6443a919a2c3f1dd7ad02fc22b5fb9db8c call \
 build --args string1 --args string2
func (m *myModule) example(args []string) *Directory  {
	return dag.
			Golang().
			Build(args)
}
@function
def example(args: List[str]) -> dagger.Directory:
	return (
		dag.golang()
		.build(args)
	)
@func()
example(args: string[]): Directory {
	return dag
		.golang()
		.build(args)
}

buildContainer()

Build a Go project returning a Container containing the build

Return Type
Container !
Arguments
NameTypeDefault ValueDescription
sourceDirectory -The Go source code to build
args[String ! ] -Arguments to `go build`
archString -The architecture for GOARCH
osString -The operating system for GOOS
baseContainer -Base container in which to copy the build
Example
dagger -m github.com/kpenfound/dagger-modules/golang@44564d6443a919a2c3f1dd7ad02fc22b5fb9db8c call \
 build-container
func (m *myModule) example() *Container  {
	return dag.
			Golang().
			BuildContainer()
}
@function
def example() -> dagger.Container:
	return (
		dag.golang()
		.build_container()
	)
@func()
example(): Container {
	return dag
		.golang()
		.buildContainer()
}

test()

Test the Go project

Return Type
String !
Arguments
NameTypeDefault ValueDescription
sourceDirectory -The Go source code to test
args[String ! ] -Arguments to `go test` +default "./..."
Example
dagger -m github.com/kpenfound/dagger-modules/golang@44564d6443a919a2c3f1dd7ad02fc22b5fb9db8c call \
 test
func (m *myModule) example(ctx context.Context) string  {
	return dag.
			Golang().
			Test(ctx)
}
@function
async def example() -> str:
	return await (
		dag.golang()
		.test()
	)
@func()
async example(): Promise<string> {
	return dag
		.golang()
		.test()
}

golangciLint()

Lint the Go project

Return Type
String !
Arguments
NameTypeDefault ValueDescription
sourceDirectory -The Go source code to lint
Example
dagger -m github.com/kpenfound/dagger-modules/golang@44564d6443a919a2c3f1dd7ad02fc22b5fb9db8c call \
 golangci-lint
func (m *myModule) example(ctx context.Context) string  {
	return dag.
			Golang().
			GolangciLint(ctx)
}
@function
async def example() -> str:
	return await (
		dag.golang()
		.golangci_lint()
	)
@func()
async example(): Promise<string> {
	return dag
		.golang()
		.golangciLint()
}

base()

Sets up the Container with a golang image and cache volumes

Return Type
Golang !
Arguments
NameTypeDefault ValueDescription
versionString !-No description provided
Example
dagger -m github.com/kpenfound/dagger-modules/golang@44564d6443a919a2c3f1dd7ad02fc22b5fb9db8c call \
 base --version string \
 build --args string1 --args string2
func (m *myModule) example(version string) *Golang  {
	return dag.
			Golang().
			Base(version)
}
@function
def example(version: str) -> dag.Golang:
	return (
		dag.golang()
		.base(version)
	)
@func()
example(version: string): Golang {
	return dag
		.golang()
		.base(version)
}

container()

The go build container

Return Type
Container !
Example
dagger -m github.com/kpenfound/dagger-modules/golang@44564d6443a919a2c3f1dd7ad02fc22b5fb9db8c call \
 container
func (m *myModule) example() *Container  {
	return dag.
			Golang().
			Container()
}
@function
def example() -> dagger.Container:
	return (
		dag.golang()
		.container()
	)
@func()
example(): Container {
	return dag
		.golang()
		.container()
}

project()

The go project directory

Return Type
Directory !
Example
dagger -m github.com/kpenfound/dagger-modules/golang@44564d6443a919a2c3f1dd7ad02fc22b5fb9db8c call \
 project
func (m *myModule) example() *Directory  {
	return dag.
			Golang().
			Project()
}
@function
def example() -> dagger.Directory:
	return (
		dag.golang()
		.project()
	)
@func()
example(): Directory {
	return dag
		.golang()
		.project()
}

withProject()

Specify the Project to use in the module

Return Type
Golang !
Arguments
NameTypeDefault ValueDescription
dirDirectory !-No description provided
Example
dagger -m github.com/kpenfound/dagger-modules/golang@44564d6443a919a2c3f1dd7ad02fc22b5fb9db8c call \
 with-project --dir DIR_PATH \
 build --args string1 --args string2
func (m *myModule) example(dir *Directory) *Golang  {
	return dag.
			Golang().
			WithProject(dir)
}
@function
def example(dir: dagger.Directory) -> dag.Golang:
	return (
		dag.golang()
		.with_project(dir)
	)
@func()
example(dir: Directory): Golang {
	return dag
		.golang()
		.withProject(dir)
}

withContainer()

Bring your own container

Return Type
Golang !
Arguments
NameTypeDefault ValueDescription
ctrContainer !-No description provided
Example
dagger -m github.com/kpenfound/dagger-modules/golang@44564d6443a919a2c3f1dd7ad02fc22b5fb9db8c call \
 with-container --ctr IMAGE:TAG \
 build --args string1 --args string2
func (m *myModule) example(ctr *Container) *Golang  {
	return dag.
			Golang().
			WithContainer(ctr)
}
@function
def example(ctr: dagger.Container) -> dag.Golang:
	return (
		dag.golang()
		.with_container(ctr)
	)
@func()
example(ctr: Container): Golang {
	return dag
		.golang()
		.withContainer(ctr)
}

buildRemote()

Build a remote git repo

Return Type
Directory !
Arguments
NameTypeDefault ValueDescription
remoteString !-No description provided
refString !-No description provided
moduleString !-No description provided
archString -No description provided
platformString -No description provided
Example
dagger -m github.com/kpenfound/dagger-modules/golang@44564d6443a919a2c3f1dd7ad02fc22b5fb9db8c call \
 build-remote --remote string --ref string --module string
func (m *myModule) example(remote string, ref string, module string) *Directory  {
	return dag.
			Golang().
			BuildRemote(remote, ref, module)
}
@function
def example(remote: str, ref: str, module: str) -> dagger.Directory:
	return (
		dag.golang()
		.build_remote(remote, ref, module)
	)
@func()
example(remote: string, ref: string, module: string): Directory {
	return dag
		.golang()
		.buildRemote(remote, ref, module)
}