Extended configuration example
Here you can find the example of a large configuration in the supported formats
.
This configuration doesn’t use any preset but sets many global configuration options explicitly along with commit message conventions and release types. Where allowed, templates are also used.
Configuration options using templates may not be rendered correctly in this page so please refer to the links to source code provided for each file.
JSON
{
"changelog": {
"append": "head",
"path": "CHANGELOG.md",
"sections": {
"Added": "^feat$",
"Fixed": "^fix$"
},
"substitutions": {
"(?m)#([0-9]+)(?s)": "[#%s](https://example.com/issues/%s)"
}
},
"commitMessageConventions": {
"enabled": [
"conventionalCommits"
],
"items": {
"conventionalCommits": {
"expression": "(?m)^(?<type>[a-zA-Z0-9_]+)(\\((?<scope>[a-z ]+)\\))?(!)?:( (?<title>.+))$(?s).*",
"bumpExpressions": {
"major": "(?s)(?m)^[a-zA-Z0-9_]+(\\([a-z ]+\\))?(!: .*|.*^(BREAKING( |-)CHANGE: )).*",
"minor": "(?s)(?m)^feat(!{0})(\\([a-z ]+\\))?: (?!.*^(BREAKING( |-)CHANGE: )).*",
"patch": "(?s)(?m)^fix(!{0})(\\([a-z ]+\\))?: (?!.*^(BREAKING( |-)CHANGE: )).*"
}
}
}
},
"configurationFile": ".nyx.json",
"dryRun": false,
"git": {
"remotes": {
"origin": {
"authenticationMethod": "USER_PASSWORD",
"user": "jdoe",
"password": "somepassword"
},
"replica": {
"authenticationMethod": "PUBLIC_KEY",
"privateKey": ".ssh/id_ed25519",
"passphrase": "somesecretpassphrase"
}
}
},
"initialVersion": "1.0.0",
"preset": "extended",
"releaseAssets": {
"asset1": {
"fileName": "asset.txt",
"description": "Text Asset",
"type": "text/plain",
"path": "asset.txt"
},
"asset2": {
"fileName": "asset.bin",
"description": "Binary Asset",
"type": "application/octet-stream",
"path": "asset.bin"
}
},
"releaseLenient": true,
"releasePrefix": "v",
"releaseTypes": {
"enabled": [
"mainline",
"maturity",
"integration",
"hotfix",
"feature",
"release",
"maintenance",
"internal"
],
"publicationServices": [
"github",
"gitlab"
],
"remoteRepositories": [
"origin",
"replica"
],
"items": {
"mainline": {
"collapseVersions": false,
"filterTags": "^()?([0-9]\\d*)\\.([0-9]\\d*)\\.([0-9]\\d*)$",
"gitCommit": "false",
"gitCommitMessage": "Release version ",
"gitPush": "true",
"gitPushForce": "true",
"gitTag": "true",
"gitTagForce": "true",
"gitTagMessage": "Tag version ",
"gitTagNames": [
"",
"stable",
"latest"
],
"matchBranches": "^(master|main)$",
"matchEnvironmentVariables": {
"CI": "^true$"
},
"matchWorkspaceStatus": "CLEAN",
"publish": "true",
"releaseName": "Release ",
"versionRangeFromBranchName": false
},
"maturity": {
"collapseVersions": true,
"collapsedVersionQualifier": "",
"description": "Maturity release ",
"filterTags": "^()?([0-9]\\d*)\\.([0-9]\\d*)\\.([0-9]\\d*)(-(alpha|beta|gamma|delta|epsilon|zeta|eta|theta|iota|kappa|lambda|mu|nu|xi|omicron|pi|rho|sigma|tau|upsilon|phi|chi|psi|omega)(\\.([0-9]\\d*))?)?$",
"gitCommit": "false",
"gitPush": "true",
"gitTag": "true",
"gitTagNames": [
""
],
"matchBranches": "^(alpha|beta|gamma|delta|epsilon|zeta|eta|theta|iota|kappa|lambda|mu|nu|xi|omicron|pi|rho|sigma|tau|upsilon|phi|chi|psi|omega)$",
"matchWorkspaceStatus": "CLEAN",
"publish": "true",
"publishPreRelease": "true",
"versionRangeFromBranchName": false
},
"integration": {
"assets": [],
"collapseVersions": true,
"collapsedVersionQualifier": "",
"description": "Integration release ",
"filterTags": "^()?([0-9]\\d*)\\.([0-9]\\d*)\\.([0-9]\\d*)(-(develop|development|integration|latest)(\\.([0-9]\\d*))?)$",
"gitCommit": "false",
"gitPush": "true",
"gitTag": "true",
"gitTagNames": [
""
],
"matchBranches": "^(develop|development|integration|latest)$",
"matchWorkspaceStatus": "CLEAN",
"publish": "true",
"publishPreRelease": "true",
"versionRangeFromBranchName": false
},
"feature": {
"collapseVersions": true,
"collapsedVersionQualifier": "",
"description": "Feature release ",
"filterTags": "^()?([0-9]\\d*)\\.([0-9]\\d*)\\.([0-9]\\d*)(-(feat|feature)(([0-9a-zA-Z]*)(\\.([0-9]\\d*))?)?)$",
"gitCommit": "false",
"gitPush": "false",
"gitTag": "false",
"matchBranches": "^(feat|feature)((-|\\/)[0-9a-zA-Z-_]+)?$",
"publish": "false",
"publishPreRelease": "true",
"versionRangeFromBranchName": false
},
"hotfix": {
"assets": [
"asset1"
],
"collapseVersions": true,
"collapsedVersionQualifier": "",
"description": "Hotfix release ",
"filterTags": "^()?([0-9]\\d*)\\.([0-9]\\d*)\\.([0-9]\\d*)(-(fix|hotfix)(([0-9a-zA-Z]*)(\\.([0-9]\\d*))?)?)$",
"gitCommit": "false",
"gitPush": "true",
"gitTag": "true",
"gitTagNames": [
""
],
"matchBranches": "^(fix|hotfix)((-|\\/)[0-9a-zA-Z-_]+)?$",
"matchWorkspaceStatus": "CLEAN",
"publish": "true",
"publishPreRelease": "true",
"versionRangeFromBranchName": false
},
"release": {
"collapseVersions": true,
"collapsedVersionQualifier": "",
"description": "Release ",
"filterTags": "^()?([0-9]\\d*)\\.([0-9]\\d*)\\.([0-9]\\d*)(-(rel|release)((\\.([0-9]\\d*))?)?)$",
"gitCommit": "false",
"gitPush": "true",
"gitTag": "true",
"gitTagNames": [
""
],
"matchBranches": "^(rel|release)(-|\\/)()?([0-9|x]\\d*)(\\.([0-9|x]\\d*)(\\.([0-9|x]\\d*))?)?$",
"matchWorkspaceStatus": "CLEAN",
"publish": "false",
"versionRangeFromBranchName": true
},
"maintenance": {
"collapseVersions": false,
"description": "Maintenance release ",
"filterTags": "^()?([0-9]\\d*)\\.([0-9]\\d*)\\.([0-9]\\d*)$",
"gitCommit": "false",
"gitPush": "true",
"gitTag": "true",
"gitTagNames": [
""
],
"matchBranches": "^[a-zA-Z]*([0-9|x]\\d*)(\\.([0-9|x]\\d*)(\\.([0-9|x]\\d*))?)?$",
"matchWorkspaceStatus": "CLEAN",
"publish": "true",
"versionRangeFromBranchName": true
},
"internal": {
"collapseVersions": true,
"collapsedVersionQualifier": "internal",
"description": "Internal release ",
"gitCommit": "false",
"gitPush": "false",
"gitTag": "false",
"identifiers": [
{
"position": "BUILD",
"qualifier": "user",
"value": ""
},
{
"position": "BUILD",
"qualifier": "timestamp",
"value": ""
},
{
"position": "BUILD",
"qualifier": "commit",
"value": ""
},
{
"position": "BUILD",
"qualifier": "branch",
"value": ""
}
],
"publish": "false",
"publishDraft": "true",
"versionRangeFromBranchName": false
}
}
},
"resume": true,
"scheme": "SEMVER",
"services": {
"github": {
"type": "GITHUB",
"options": {
"AUTHENTICATION_TOKEN": "GITHUB_TOKEN",
"REPOSITORY_NAME": "myrepo",
"REPOSITORY_OWNER": "acme"
}
},
"gitlab": {
"type": "GITLAB",
"options": {
"AUTHENTICATION_TOKEN": "abcde-a1b2c3d4e5f6g7h8i9j0",
"REPOSITORY_NAME": "myrepo",
"REPOSITORY_OWNER": "acme"
}
}
},
"sharedConfigurationFile": "example-shared.config.json",
"substitutions": {
"enabled": [
"npm",
"rust"
],
"items": {
"npm": {
"files": "package.json",
"match": "\"version\"(\\s)*:(\\s)*\"(0|[1-9]\\d*)\\.(0|[1-9]\\d*)\\.(0|[1-9]\\d*)(?:-((?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\\.(?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\\+([0-9a-zA-Z-]+(?:\\.[0-9a-zA-Z-]+)*))?\"",
"replace": "\"version\": \"\""
},
"rust": {
"files": "Cargo.toml",
"match": "version(\\s)*=(\\s)*(\"|')(0|[1-9]\\d*)\\.(0|[1-9]\\d*)\\.(0|[1-9]\\d*)(?:-((?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\\.(?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\\+([0-9a-zA-Z-]+(?:\\.[0-9a-zA-Z-]+)*))?(\"|')",
"replace": "version = \"\""
}
}
},
"summary": true,
"summaryFile": ".nyx-summary.txt",
"stateFile": ".nyx-state.yml",
"verbosity": "INFO",
"version": "1.8.12"
}
Source code for this file is available here.
YAML
---
changelog:
append: "head"
path: "CHANGELOG.md"
sections:
"Added": "^feat$"
"Fixed": "^fix$"
substitutions:
"(?m)#([0-9]+)(?s)": "[#%s](https://example.com/issues/%s)"
commitMessageConventions:
enabled:
- conventionalCommits
items:
conventionalCommits:
expression: "(?m)^(?<type>[a-zA-Z0-9_]+)(\\((?<scope>[a-z ]+)\\))?(!)?:( (?<title>.+))$(?s).*"
bumpExpressions:
major: '(?s)(?m)^[a-zA-Z0-9_]+(\\([a-z ]+\\))?(!: .*|.*^(BREAKING( |-)CHANGE: )).*'
minor: '(?s)(?m)^feat(!{0})(\\([a-z ]+\\))?: (?!.*^(BREAKING( |-)CHANGE: )).*'
patch: '(?s)(?m)^fix(!{0})(\\([a-z ]+\\))?: (?!.*^(BREAKING( |-)CHANGE: )).*'
configurationFile: ".nyx.yaml"
dryRun: false
git:
remotes:
origin:
authenticationMethod: USER_PASSWORD
user: jdoe
password: somepassword
replica:
authenticationMethod: PUBLIC_KEY
privateKey: ".ssh/id_ed25519"
passphrase: somesecretpassphrase
initialVersion: "1.0.0"
preset: "extended"
releaseAssets:
asset1:
fileName: "asset.txt"
description: "Text Asset"
type: "text/plain"
path: "asset.txt"
asset2:
fileName: "asset.bin"
description: "Binary Asset"
type: "application/octet-stream"
path: "asset.bin"
releaseLenient: true
releasePrefix: v
releaseTypes:
enabled:
- mainline
- maturity
- integration
- hotfix
- feature
- release
- maintenance
- internal
publicationServices:
- github
- gitlab
remoteRepositories:
- origin
- replica
items:
mainline:
collapseVersions: false
filterTags: "^()?([0-9]\\d*)\\.([0-9]\\d*)\\.([0-9]\\d*)$"
gitCommit: "false"
gitCommitMessage: "Release version "
gitPush: "true"
gitPushForce: "true"
gitTag: "true"
gitTagForce: "true"
gitTagMessage: "Tag version "
gitTagNames:
- ""
- "stable"
- "latest"
matchBranches: ^(master|main)$
matchEnvironmentVariables:
CI: "^true$"
matchWorkspaceStatus: "CLEAN"
publish: "true"
releaseName: "Release "
versionRangeFromBranchName: false
maturity:
collapseVersions: true
collapsedVersionQualifier: ""
description: "Maturity release "
filterTags: "^()?([0-9]\\d*)\\.([0-9]\\d*)\\.([0-9]\\d*)(-(alpha|beta|gamma|delta|epsilon|zeta|eta|theta|iota|kappa|lambda|mu|nu|xi|omicron|pi|rho|sigma|tau|upsilon|phi|chi|psi|omega)(\\.([0-9]\\d*))?)?$"
gitCommit: "false"
gitPush: "true"
gitTag: "true"
matchBranches: "^(alpha|beta|gamma|delta|epsilon|zeta|eta|theta|iota|kappa|lambda|mu|nu|xi|omicron|pi|rho|sigma|tau|upsilon|phi|chi|psi|omega)$"
matchWorkspaceStatus: "CLEAN"
publish: "true"
publishPreRelease: "true"
versionRangeFromBranchName: false
integration:
assets:
collapseVersions: true
collapsedVersionQualifier: ""
description: "Integration release "
filterTags: "^()?([0-9]\\d*)\\.([0-9]\\d*)\\.([0-9]\\d*)(-(develop|development|integration|latest)(\\.([0-9]\\d*))?)$"
gitCommit: "false"
gitPush: "true"
gitTag: "true"
gitTagNames:
- ""
matchBranches: "^(develop|development|integration|latest)$"
matchWorkspaceStatus: "CLEAN"
publish: "true"
publishPreRelease: "true"
versionRangeFromBranchName: false
feature:
collapseVersions: true
collapsedVersionQualifier: ""
description: "Feature release "
filterTags: "^()?([0-9]\\d*)\\.([0-9]\\d*)\\.([0-9]\\d*)(-(feat|feature)(([0-9a-zA-Z]*)(\\.([0-9]\\d*))?)?)$"
gitCommit: "false"
gitPush: "false"
gitTag: "false"
gitTagNames:
- ""
matchBranches: "^(feat|feature)((-|\\/)[0-9a-zA-Z-_]+)?$"
publish: "false"
publishPreRelease: "false"
versionRangeFromBranchName: false
hotfix:
assets:
- asset1
collapseVersions: true
collapsedVersionQualifier: ""
description: "Hotfix release "
filterTags: "^()?([0-9]\\d*)\\.([0-9]\\d*)\\.([0-9]\\d*)(-(fix|hotfix)(([0-9a-zA-Z]*)(\\.([0-9]\\d*))?)?)$"
gitCommit: "false"
gitPush: "true"
gitTag: "true"
gitTagNames:
- ""
matchBranches: "^(fix|hotfix)((-|\\/)[0-9a-zA-Z-_]+)?$"
matchWorkspaceStatus: "CLEAN"
publish: "true"
publishPreRelease: "true"
versionRangeFromBranchName: false
release:
collapseVersions: true
collapsedVersionQualifier: ""
description: "Release "
filterTags: "^()?([0-9]\\d*)\\.([0-9]\\d*)\\.([0-9]\\d*)(-(rel|release)((\\.([0-9]\\d*))?)?)$"
gitCommit: "false"
gitPush: "true"
gitTag: "true"
gitTagNames:
- ""
matchBranches: "^(rel|release)(-|\\/)()?([0-9|x]\\d*)(\\.([0-9|x]\\d*)(\\.([0-9|x]\\d*))?)?$"
matchWorkspaceStatus: "CLEAN"
publish: "false"
versionRangeFromBranchName: true
maintenance:
collapseVersions: false
description: "Maintenance release "
filterTags: "^()?([0-9]\\d*)\\.([0-9]\\d*)\\.([0-9]\\d*)$"
gitCommit: "false"
gitPush: "true"
gitTag: "true"
gitTagNames:
- ""
matchBranches: "^[a-zA-Z]*([0-9|x]\\d*)(\\.([0-9|x]\\d*)(\\.([0-9|x]\\d*))?)?$"
matchWorkspaceStatus: "CLEAN"
publish: "true"
versionRangeFromBranchName: true
internal:
collapseVersions: true
collapsedVersionQualifier: "internal"
description: "Internal release "
gitCommit: "false"
gitPush: "false"
gitTag: "false"
identifiers:
-
position: BUILD
qualifier: branch
value: ""
-
position: BUILD
qualifier: commit
value: ""
-
position: BUILD
qualifier: timestamp
value: ""
-
position: BUILD
qualifier: user
value: ""
publish: "false"
publishDraft: "true"
versionRangeFromBranchName: false
resume: true
scheme: SEMVER
services:
github:
type: "GITHUB"
options:
AUTHENTICATION_TOKEN: "GITHUB_TOKEN"
REPOSITORY_NAME: "myrepo"
REPOSITORY_OWNER: "acme"
gitlab:
type: "GITLAB"
options:
AUTHENTICATION_TOKEN: "abcde-a1b2c3d4e5f6g7h8i9j0"
REPOSITORY_NAME: "myrepo"
REPOSITORY_OWNER: "acme"
sharedConfigurationFile: "example-shared.config.json"
summary: true
summaryFile: ".nyx-summary.txt"
stateFile: ".nyx-state.yml"
substitutions:
enabled:
- npm
- rust
items:
npm:
files: "package.json"
match: "\"version\"(\\s)*:(\\s)*\"(0|[1-9]\\d*)\\.(0|[1-9]\\d*)\\.(0|[1-9]\\d*)(?:-((?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\\.(?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\\+([0-9a-zA-Z-]+(?:\\.[0-9a-zA-Z-]+)*))?\""
replace: "\"version\": \"\""
rust:
files: "Cargo.toml"
match: "version(\\s)*=(\\s)*(\"|')(0|[1-9]\\d*)\\.(0|[1-9]\\d*)\\.(0|[1-9]\\d*)(?:-((?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\\.(?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\\+([0-9a-zA-Z-]+(?:\\.[0-9a-zA-Z-]+)*))?(\"|')"
replace: "version = \"\""
verbosity: INFO
version: "1.8.12"
Source code for this file is available here.
Groovy (Gradle)
nyx {
changelog {
append = 'head'
path = 'CHANGELOG.md'
sections = [
'Added' : '^feat$',
'Fixed' : '^fix$',
]
substitutions = [
'(?m)#([0-9]+)(?s)': '[#%s](https://example.com/issues/%s)'
]
}
commitMessageConventions {
enabled = [ 'conventionalCommits' ]
items {
conventionalCommits {
expression = '(?m)^(?<type>[a-zA-Z0-9_]+)(\\\\((?<scope>[a-z ]+)\\\\))?(!)?:( (?<title>.+))$(?s).*'
bumpExpressions {
major = '(?s)(?m)^[a-zA-Z0-9_]+(\\([a-z ]+\\))?(!: .*|.*^(BREAKING( |-)CHANGE: )).*'
minor = '(?s)(?m)^feat(!{0})(\\\\([a-z ]+\\\\))?: (?!.*^(BREAKING( |-)CHANGE: )).*'
patch = '(?s)(?m)^fix(!{0})(\\\\([a-z ]+\\\\))?: (?!.*^(BREAKING( |-)CHANGE: )).*'
}
}
}
}
configurationFile = '.nyx.json'
dryRun = false
git {
remotes {
origin {
authenticationMethod = 'USER_PASSWORD'
user = 'jdoe'
password = 'somepassword'
}
replica {
authenticationMethod = 'PUBLIC_KEY'
privateKey = '.ssh/id_ed25519'
passphrase = 'somesecretpassphrase'
}
}
}
initialVersion = '1.0.0'
preset = 'extended'
releaseAssets {
asset1 {
fileName = "asset.txt"
description = "Text Asset"
type = "text/plain"
path = "asset.txt"
}
asset2 {
fileName = "asset.bin"
description = "Binary Asset"
type = "application/octet-stream"
path = "asset.bin"
}
}
releaseLenient = true
releasePrefix = 'v'
releaseTypes {
enabled = [ 'mainline', 'maturity', 'integration', 'hotfix', 'feature', 'release', 'maintenance', 'internal' ]
publicationServices = [ 'github', 'gitlab' ]
remoteRepositories = [ 'origin', 'replica' ]
items {
mainline {
collapseVersions = false
filterTags = '^()?([0-9]\\d*)\\.([0-9]\\d*)\\.([0-9]\\d*)$'
gitCommit = 'false'
gitCommitMessage = 'Release version '
gitPush = 'true'
gitPushForce = 'true'
gitTag = 'true'
gitTagForce = 'true'
gitTagMessage = 'Tag version '
gitTagNames = [ '', 'stable', 'latest' ]
matchBranches = '^(master|main)$'
matchEnvironmentVariables {
CI = '^true$'
}
matchWorkspaceStatus = 'CLEAN'
publish = 'true'
releaseName = 'Release '
versionRangeFromBranchName = false
}
maturity {
collapseVersions = true
collapsedVersionQualifier = ''
description = 'Maturity release '
filterTags = '^()?([0-9]\\d*)\\.([0-9]\\d*)\\.([0-9]\\d*)(-(alpha|beta|gamma|delta|epsilon|zeta|eta|theta|iota|kappa|lambda|mu|nu|xi|omicron|pi|rho|sigma|tau|upsilon|phi|chi|psi|omega)(\\.([0-9]\\d*))?)?$'
gitCommit = 'false'
gitPush = 'true'
gitTag = 'true'
gitTagNames = [ '' ]
matchBranches = '^(alpha|beta|gamma|delta|epsilon|zeta|eta|theta|iota|kappa|lambda|mu|nu|xi|omicron|pi|rho|sigma|tau|upsilon|phi|chi|psi|omega)$'
matchWorkspaceStatus = 'CLEAN'
publish = 'true'
publishPreRelease = 'true'
versionRangeFromBranchName = false
}
integration {
assets = ""
collapseVersions = true
collapsedVersionQualifier = ''
description = 'Integration release '
filterTags = '^()?([0-9]\\d*)\\.([0-9]\\d*)\\.([0-9]\\d*)(-(develop|development|integration|latest)(\\.([0-9]\\d*))?)$'
gitCommit = 'false'
gitPush = 'true'
gitTag = 'true'
gitTagNames = [ '' ]
matchBranches = '^(develop|development|integration|latest)$'
matchWorkspaceStatus = 'CLEAN'
publish = 'true'
publishPreRelease = 'true'
versionRangeFromBranchName = false
}
feature {
collapseVersions = true
collapsedVersionQualifier = ''
description = 'Feature release '
filterTags = '^()?([0-9]\\d*)\\.([0-9]\\d*)\\.([0-9]\\d*)(-(feat|feature)(([0-9a-zA-Z]*)(\\.([0-9]\\d*))?)?)$'
gitCommit = 'false'
gitPush = 'false'
gitTag = 'false'
matchBranches = '^(feat|feature)((-|\\/)[0-9a-zA-Z-_]+)?$'
publish = 'false'
publishPreRelease = 'true'
versionRangeFromBranchName = false
}
hotfix {
assets = "asset1"
collapseVersions = true
collapsedVersionQualifier = ''
description = 'Hotfix release '
filterTags = '^()?([0-9]\\d*)\\.([0-9]\\d*)\\.([0-9]\\d*)(-(fix|hotfix)(([0-9a-zA-Z]*)(\\.([0-9]\\d*))?)?)$'
gitCommit = 'false'
gitPush = 'true'
gitTag = 'true'
gitTagNames = [ '' ]
matchBranches = '^(fix|hotfix)((-|\\/)[0-9a-zA-Z-_]+)?$'
matchWorkspaceStatus = 'CLEAN'
publish = 'true'
publishPreRelease = 'true'
versionRangeFromBranchName = false
}
release {
collapseVersions = true
collapsedVersionQualifier = ''
description = 'Release '
filterTags = '^()?([0-9]\\d*)\\.([0-9]\\d*)\\.([0-9]\\d*)(-(rel|release)((\\.([0-9]\\d*))?)?)$'
gitCommit = 'false'
gitPush = 'true'
gitTag = 'true'
gitTagNames = [ '' ]
matchBranches = '^(rel|release)(-|\\/)()?([0-9|x]\\d*)(\\.([0-9|x]\\d*)(\\.([0-9|x]\\d*))?)?$'
matchWorkspaceStatus = 'CLEAN'
publish = 'false'
versionRangeFromBranchName = true
}
maintenance {
collapseVersions = false
description = 'Maintenance release '
filterTags = '^()?([0-9]\\d*)\\.([0-9]\\d*)\\.([0-9]\\d*)$'
gitCommit = 'false'
gitPush = 'true'
gitTag = 'true'
gitTagNames = [ '' ]
matchBranches = '^[a-zA-Z]*([0-9|x]\\d*)(\\.([0-9|x]\\d*)(\\.([0-9|x]\\d*))?)?$'
matchWorkspaceStatus = 'CLEAN'
publish = 'true'
versionRangeFromBranchName = true
}
internal {
collapseVersions = true
collapsedVersionQualifier = 'internal'
description = 'Internal release '
gitCommit = 'false'
gitPush = 'false'
gitTag = 'false'
identifiers {
'0' {
position = 'BUILD'
qualifier = 'branch'
value = ''
}
'1' {
position = 'BUILD'
qualifier = 'commit'
value = ''
}
'2' {
position = 'BUILD'
qualifier = 'timestamp'
value = ''
}
'3' {
position = 'BUILD'
qualifier = 'user'
value = ''
}
}
publish = 'false'
publishDraft = 'true'
versionRangeFromBranchName = false
}
}
}
resume = true
scheme = 'SEMVER'
services {
github {
type = 'GITHUB'
options {
AUTHENTICATION_TOKEN = 'GITHUB_TOKEN'
REPOSITORY_NAME = 'myrepo'
REPOSITORY_OWNER = 'acme'
}
}
gitlab {
type = 'GITLAB'
options {
AUTHENTICATION_TOKEN = 'abcde-a1b2c3d4e5f6g7h8i9j0'
REPOSITORY_NAME = 'myrepo'
REPOSITORY_OWNER = 'acme'
}
}
}
sharedConfigurationFile = 'example-shared.config.json'
summary = true
summaryFile = '.nyx-summary.txt'
stateFile = '.nyx-state.yml'
substitutions {
enabled = [ 'npm', 'rust' ]
items {
npm {
files = 'package.json'
match = '"version"(\s)*:(\s)*"(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)(?:-((?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\.(?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\+([0-9a-zA-Z-]+(?:\.[0-9a-zA-Z-]+)*))?"'
replace = '"version": ""'
}
rust {
files = 'Cargo.toml'
match = 'version(\s)*=(\s)*("|\')(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)(?:-((?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\.(?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\+([0-9a-zA-Z-]+(?:\.[0-9a-zA-Z-]+)*))?("|\')'
replace = 'version = ""'
}
}
}
verbosity = 'INFO'
version = '1.8.12'
}
Source code for this file is available here.