release
This module provides two main functions:- Semantic: Runs semantic-release to automate versioning, changelog generation, and publishing.
- DeleteTag: Deletes a Git tag locally and remotely, refreshing the repository state before and after.
Installation
dagger install github.com/stuttgart-things/dagger/release@v0.82.0Entrypoint
Return Type
Release Example
dagger -m github.com/stuttgart-things/dagger/release@9a25a7a0938677cf73130abb431e506258456b8d call \
func (m *MyModule) Example() *dagger.Release {
return dag.
Release()
}@function
def example() -> dagger.Release:
return (
dag.release()
)@func()
example(): Release {
return dag
.release()
}Types
Release 🔗
semanticReleaseVersion() 🔗
Base Wolfi image to use
Return Type
String ! Example
dagger -m github.com/stuttgart-things/dagger/release@9a25a7a0938677cf73130abb431e506258456b8d call \
semantic-release-versionfunc (m *MyModule) Example(ctx context.Context) string {
return dag.
Release().
SemanticReleaseVersion(ctx)
}@function
async def example() -> str:
return await (
dag.release()
.semantic_release_version()
)@func()
async example(): Promise<string> {
return dag
.release()
.semanticReleaseVersion()
}baseImage() 🔗
Return Type
String ! Example
dagger -m github.com/stuttgart-things/dagger/release@9a25a7a0938677cf73130abb431e506258456b8d call \
base-imagefunc (m *MyModule) Example(ctx context.Context) string {
return dag.
Release().
BaseImage(ctx)
}@function
async def example() -> str:
return await (
dag.release()
.base_image()
)@func()
async example(): Promise<string> {
return dag
.release()
.baseImage()
}deleteTag() 🔗
Return Type
Directory !Arguments
| Name | Type | Default Value | Description |
|---|---|---|---|
| releaseTag | String | - | No description provided |
| semanticReleaseVersion | String | "1.0.18-light" | No description provided |
| src | Directory ! | - | Source folder (e.g. ".") |
| gitConfig | Secret ! | - | No description provided |
Example
dagger -m github.com/stuttgart-things/dagger/release@9a25a7a0938677cf73130abb431e506258456b8d call \
delete-tag --src DIR_PATH --git-config env:MYSECRETfunc (m *MyModule) Example(src *dagger.Directory, gitConfig *dagger.Secret) *dagger.Directory {
return dag.
Release().
DeleteTag(src, gitConfig)
}@function
def example(src: dagger.Directory, git_config: dagger.Secret) -> dagger.Directory:
return (
dag.release()
.delete_tag(src, git_config)
)@func()
example(src: Directory, gitConfig: Secret): Directory {
return dag
.release()
.deleteTag(src, gitConfig)
}semantic() 🔗
Semantic runs semantic-release using the specified folder and GitHub token. It first performs a dry run, then a real run with –no-ci.
Return Type
String !Arguments
| Name | Type | Default Value | Description |
|---|---|---|---|
| semanticReleaseVersion | String | "1.0.18-light" | No description provided |
| src | Directory ! | - | Source folder (e.g. ".") |
| tokenName | String | "GITHUB_TOKEN" | No description provided |
| dryRunOnly | Boolean | false | No description provided |
| token | Secret | - | No description provided |
Example
dagger -m github.com/stuttgart-things/dagger/release@9a25a7a0938677cf73130abb431e506258456b8d call \
semantic --src DIR_PATHfunc (m *MyModule) Example(ctx context.Context, src *dagger.Directory) string {
return dag.
Release().
Semantic(ctxsrc)
}@function
async def example(src: dagger.Directory) -> str:
return await (
dag.release()
.semantic(src)
)@func()
async example(src: Directory): Promise<string> {
return dag
.release()
.semantic(src)
}