versioner
This module has been generated via dagger init and serves as a reference tobasic module structure as you get started with Dagger.
Two functions have been pre-created. You can modify, delete, or add to them,
as needed. They demonstrate usage of arguments and return types using simple
echo and grep commands. The functions can be called from the dagger CLI or
from one of the SDKs.
The first line in this comment block is a short description line and the
rest is a long description with more detail on the module's purpose or usage,
if appropriate. All modules should have a short description.
Installation
dagger install github.com/felipepimentel/daggerverse/versioner@v1.0.0Entrypoint
Return Type
Versioner Example
dagger -m github.com/felipepimentel/daggerverse/versioner@e8ebc30bb8c87278147f856c9d8b0e09addbcb74 call \
func (m *MyModule) Example() *dagger.Versioner {
return dag.
Versioner()
}@function
def example() -> dagger.Versioner:
return (
dag.versioner()
)@func()
example(): Versioner {
return dag
.versioner()
}Types
Versioner 🔗
Versioner manages semantic versioning for projects
config() 🔗
Configuration for versioning
Return Type
VersionConfig ! Example
dagger -m github.com/felipepimentel/daggerverse/versioner@e8ebc30bb8c87278147f856c9d8b0e09addbcb74 call \
configfunc (m *MyModule) Example() *dagger.VersionerVersionConfig {
return dag.
Versioner().
Config()
}@function
def example() -> dagger.VersionerVersionConfig:
return (
dag.versioner()
.config()
)@func()
example(): VersionerVersionConfig {
return dag
.versioner()
.config()
}withConfig() 🔗
WithConfig sets the configuration
Return Type
Versioner !Arguments
| Name | Type | Default Value | Description |
|---|---|---|---|
| config | VersionConfig ! | - | No description provided |
Example
echo 'Custom types are not supported in shell examples'func (m *MyModule) Example(config *dagger.VersionerVersionConfig) *dagger.Versioner {
return dag.
Versioner().
WithConfig(config)
}@function
def example(config: dagger.VersionerVersionConfig) -> dagger.Versioner:
return (
dag.versioner()
.with_config(config)
)@func()
example(config: VersionerVersionConfig): Versioner {
return dag
.versioner()
.withConfig(config)
}getCurrentVersion() 🔗
GetCurrentVersion retrieves the current version from source code
Return Type
String !Arguments
| Name | Type | Default Value | Description |
|---|---|---|---|
| source | Directory ! | - | No description provided |
Example
dagger -m github.com/felipepimentel/daggerverse/versioner@e8ebc30bb8c87278147f856c9d8b0e09addbcb74 call \
get-current-version --source DIR_PATHfunc (m *MyModule) Example(ctx context.Context, source *dagger.Directory) string {
return dag.
Versioner().
GetCurrentVersion(ctx, source)
}@function
async def example(source: dagger.Directory) -> str:
return await (
dag.versioner()
.get_current_version(source)
)@func()
async example(source: Directory): Promise<string> {
return dag
.versioner()
.getCurrentVersion(source)
}bumpVersion() 🔗
BumpVersion increments the version based on commit messages
Return Type
String !Arguments
| Name | Type | Default Value | Description |
|---|---|---|---|
| source | Directory ! | - | No description provided |
Example
dagger -m github.com/felipepimentel/daggerverse/versioner@e8ebc30bb8c87278147f856c9d8b0e09addbcb74 call \
bump-version --source DIR_PATHfunc (m *MyModule) Example(ctx context.Context, source *dagger.Directory) string {
return dag.
Versioner().
BumpVersion(ctx, source)
}@function
async def example(source: dagger.Directory) -> str:
return await (
dag.versioner()
.bump_version(source)
)@func()
async example(source: Directory): Promise<string> {
return dag
.versioner()
.bumpVersion(source)
}validateCommitMessage() 🔗
ValidateCommitMessage checks if a commit message follows the conventional commit format
Return Type
Void !Arguments
| Name | Type | Default Value | Description |
|---|---|---|---|
| message | String ! | - | No description provided |
Example
dagger -m github.com/felipepimentel/daggerverse/versioner@e8ebc30bb8c87278147f856c9d8b0e09addbcb74 call \
validate-commit-message --message stringfunc (m *MyModule) Example(ctx context.Context, message string) {
return dag.
Versioner().
ValidateCommitMessage(ctx, message)
}@function
async def example(message: str) -> None:
return await (
dag.versioner()
.validate_commit_message(message)
)@func()
async example(message: string): Promise<void> {
return dag
.versioner()
.validateCommitMessage(message)
}pushChanges() 🔗
PushChanges commits and pushes version changes
Return Type
Void !Arguments
| Name | Type | Default Value | Description |
|---|---|---|---|
| source | Directory ! | - | No description provided |
| version | String ! | - | No description provided |
Example
dagger -m github.com/felipepimentel/daggerverse/versioner@e8ebc30bb8c87278147f856c9d8b0e09addbcb74 call \
push-changes --source DIR_PATH --version stringfunc (m *MyModule) Example(ctx context.Context, source *dagger.Directory, version string) {
return dag.
Versioner().
PushChanges(ctx, source, version)
}@function
async def example(source: dagger.Directory, version: str) -> None:
return await (
dag.versioner()
.push_changes(source, version)
)@func()
async example(source: Directory, version: string): Promise<void> {
return dag
.versioner()
.pushChanges(source, version)
}getVersionHistory() 🔗
GetVersionHistory returns a list of all versions with their commit messages
Return Type
String !Arguments
| Name | Type | Default Value | Description |
|---|---|---|---|
| source | Directory ! | - | No description provided |
Example
dagger -m github.com/felipepimentel/daggerverse/versioner@e8ebc30bb8c87278147f856c9d8b0e09addbcb74 call \
get-version-history --source DIR_PATHfunc (m *MyModule) Example(ctx context.Context, source *dagger.Directory) string {
return dag.
Versioner().
GetVersionHistory(ctx, source)
}@function
async def example(source: dagger.Directory) -> str:
return await (
dag.versioner()
.get_version_history(source)
)@func()
async example(source: Directory): Promise<string> {
return dag
.versioner()
.getVersionHistory(source)
}VersionConfig 🔗
VersionConfig holds configuration for version management
strategy() 🔗
Strategy for versioning (default: “semver”)
Return Type
String ! Example
Function VersionerVersionConfig.strategy is not accessible from the versioner moduleFunction VersionerVersionConfig.strategy is not accessible from the versioner moduleFunction VersionerVersionConfig.strategy is not accessible from the versioner moduleFunction VersionerVersionConfig.strategy is not accessible from the versioner moduletagPrefix() 🔗
Prefix for version tags (default: “v”)
Return Type
String ! Example
Function VersionerVersionConfig.tagPrefix is not accessible from the versioner moduleFunction VersionerVersionConfig.tagPrefix is not accessible from the versioner moduleFunction VersionerVersionConfig.tagPrefix is not accessible from the versioner moduleFunction VersionerVersionConfig.tagPrefix is not accessible from the versioner moduleversionFiles() 🔗
Files to check for version patterns
Return Type
[String ! ] ! Example
Function VersionerVersionConfig.versionFiles is not accessible from the versioner moduleFunction VersionerVersionConfig.versionFiles is not accessible from the versioner moduleFunction VersionerVersionConfig.versionFiles is not accessible from the versioner moduleFunction VersionerVersionConfig.versionFiles is not accessible from the versioner moduleversionPattern() 🔗
Custom version pattern regex
Return Type
String ! Example
Function VersionerVersionConfig.versionPattern is not accessible from the versioner moduleFunction VersionerVersionConfig.versionPattern is not accessible from the versioner moduleFunction VersionerVersionConfig.versionPattern is not accessible from the versioner moduleFunction VersionerVersionConfig.versionPattern is not accessible from the versioner modulevalidateCommits() 🔗
Whether to validate commit messages (default: true)
Return Type
Boolean ! Example
Function VersionerVersionConfig.validateCommits is not accessible from the versioner moduleFunction VersionerVersionConfig.validateCommits is not accessible from the versioner moduleFunction VersionerVersionConfig.validateCommits is not accessible from the versioner moduleFunction VersionerVersionConfig.validateCommits is not accessible from the versioner modulegenerateChangelog() 🔗
Whether to auto-generate changelog (default: true)
Return Type
Boolean ! Example
Function VersionerVersionConfig.generateChangelog is not accessible from the versioner moduleFunction VersionerVersionConfig.generateChangelog is not accessible from the versioner moduleFunction VersionerVersionConfig.generateChangelog is not accessible from the versioner moduleFunction VersionerVersionConfig.generateChangelog is not accessible from the versioner modulecreateTags() 🔗
Whether to create git tags (default: true)
Return Type
Boolean ! Example
Function VersionerVersionConfig.createTags is not accessible from the versioner moduleFunction VersionerVersionConfig.createTags is not accessible from the versioner moduleFunction VersionerVersionConfig.createTags is not accessible from the versioner moduleFunction VersionerVersionConfig.createTags is not accessible from the versioner modulebranchConfig() 🔗
Branch configuration
Return Type
BranchConfig ! Example
Function VersionerVersionConfig.branchConfig is not accessible from the versioner moduleFunction VersionerVersionConfig.branchConfig is not accessible from the versioner moduleFunction VersionerVersionConfig.branchConfig is not accessible from the versioner moduleFunction VersionerVersionConfig.branchConfig is not accessible from the versioner modulecommitConfig() 🔗
Commit message configuration
Return Type
CommitConfig ! Example
Function VersionerVersionConfig.commitConfig is not accessible from the versioner moduleFunction VersionerVersionConfig.commitConfig is not accessible from the versioner moduleFunction VersionerVersionConfig.commitConfig is not accessible from the versioner moduleFunction VersionerVersionConfig.commitConfig is not accessible from the versioner moduleBranchConfig 🔗
BranchConfig holds branch-specific configuration
mainBranch() 🔗
Main branch name (default: “main”)
Return Type
String ! Example
Function VersionerBranchConfig.mainBranch is not accessible from the versioner moduleFunction VersionerBranchConfig.mainBranch is not accessible from the versioner moduleFunction VersionerBranchConfig.mainBranch is not accessible from the versioner moduleFunction VersionerBranchConfig.mainBranch is not accessible from the versioner moduledevelopBranch() 🔗
Development branch name (default: “develop”)
Return Type
String ! Example
Function VersionerBranchConfig.developBranch is not accessible from the versioner moduleFunction VersionerBranchConfig.developBranch is not accessible from the versioner moduleFunction VersionerBranchConfig.developBranch is not accessible from the versioner moduleFunction VersionerBranchConfig.developBranch is not accessible from the versioner modulereleaseBranchPrefix() 🔗
Release branch prefix (default: “release/”)
Return Type
String ! Example
Function VersionerBranchConfig.releaseBranchPrefix is not accessible from the versioner moduleFunction VersionerBranchConfig.releaseBranchPrefix is not accessible from the versioner moduleFunction VersionerBranchConfig.releaseBranchPrefix is not accessible from the versioner moduleFunction VersionerBranchConfig.releaseBranchPrefix is not accessible from the versioner modulehotfixBranchPrefix() 🔗
Hotfix branch prefix (default: “hotfix/”)
Return Type
String ! Example
Function VersionerBranchConfig.hotfixBranchPrefix is not accessible from the versioner moduleFunction VersionerBranchConfig.hotfixBranchPrefix is not accessible from the versioner moduleFunction VersionerBranchConfig.hotfixBranchPrefix is not accessible from the versioner moduleFunction VersionerBranchConfig.hotfixBranchPrefix is not accessible from the versioner modulefeatureBranchPrefix() 🔗
Feature branch prefix (default: “feature/”)
Return Type
String ! Example
Function VersionerBranchConfig.featureBranchPrefix is not accessible from the versioner moduleFunction VersionerBranchConfig.featureBranchPrefix is not accessible from the versioner moduleFunction VersionerBranchConfig.featureBranchPrefix is not accessible from the versioner moduleFunction VersionerBranchConfig.featureBranchPrefix is not accessible from the versioner moduleCommitConfig 🔗
CommitConfig holds commit message configuration
types() 🔗
Types of changes that trigger version increments
Return Type
[CommitType ! ] ! Example
Function VersionerCommitConfig.types is not accessible from the versioner moduleFunction VersionerCommitConfig.types is not accessible from the versioner moduleFunction VersionerCommitConfig.types is not accessible from the versioner moduleFunction VersionerCommitConfig.types is not accessible from the versioner modulescopes() 🔗
Scopes allowed in commit messages
Return Type
[String ! ] ! Example
Function VersionerCommitConfig.scopes is not accessible from the versioner moduleFunction VersionerCommitConfig.scopes is not accessible from the versioner moduleFunction VersionerCommitConfig.scopes is not accessible from the versioner moduleFunction VersionerCommitConfig.scopes is not accessible from the versioner modulerequireScope() 🔗
Whether to require scope (default: false)
Return Type
Boolean ! Example
Function VersionerCommitConfig.requireScope is not accessible from the versioner moduleFunction VersionerCommitConfig.requireScope is not accessible from the versioner moduleFunction VersionerCommitConfig.requireScope is not accessible from the versioner moduleFunction VersionerCommitConfig.requireScope is not accessible from the versioner moduleallowCustomScopes() 🔗
Whether to allow custom scopes (default: true)
Return Type
Boolean ! Example
Function VersionerCommitConfig.allowCustomScopes is not accessible from the versioner moduleFunction VersionerCommitConfig.allowCustomScopes is not accessible from the versioner moduleFunction VersionerCommitConfig.allowCustomScopes is not accessible from the versioner moduleFunction VersionerCommitConfig.allowCustomScopes is not accessible from the versioner modulebreakingChangeIndicators() 🔗
Breaking change indicators
Return Type
[String ! ] ! Example
Function VersionerCommitConfig.breakingChangeIndicators is not accessible from the versioner moduleFunction VersionerCommitConfig.breakingChangeIndicators is not accessible from the versioner moduleFunction VersionerCommitConfig.breakingChangeIndicators is not accessible from the versioner moduleFunction VersionerCommitConfig.breakingChangeIndicators is not accessible from the versioner moduleCommitType 🔗
CommitType represents a type of commit and its version increment
type() 🔗
Type of commit (e.g., “feat”, “fix”)
Return Type
String ! Example
Function VersionerCommitType.type is not accessible from the versioner moduleFunction VersionerCommitType.type is not accessible from the versioner moduleFunction VersionerCommitType.type is not accessible from the versioner moduleFunction VersionerCommitType.type is not accessible from the versioner moduleincrement() 🔗
Version increment for this type
Return Type
Enum ! Example
Function VersionerCommitType.increment is not accessible from the versioner moduleFunction VersionerCommitType.increment is not accessible from the versioner moduleFunction VersionerCommitType.increment is not accessible from the versioner moduleFunction VersionerCommitType.increment is not accessible from the versioner module