44 lines
1.4 KiB
Groovy
44 lines
1.4 KiB
Groovy
def downloadHelpers(path) {
|
|
sh "curl -L ${env.GIT_SCHEME}${env.GIT_HOST}/Jenkins/jenkins-tools/raw/branch/master/helpers.groovy -o $path"
|
|
}
|
|
|
|
def semanticStage(String stageName, String containerName, Closure body) {
|
|
stage(stageName) {
|
|
container(containerName) {
|
|
sh "git config --global --add safe.directory \$(pwd)"
|
|
}
|
|
}
|
|
}
|
|
|
|
def semanticExec(String giteaUrl) {
|
|
sh "GITEA_URL=${giteaUrl} semantic-release --ci"
|
|
}
|
|
|
|
def semanticSyncDev(String currentBranch, String devBranch) {
|
|
if (currentBranch == "main" || currentBranch == "master") {
|
|
sh "git checkout ${devBranch}"
|
|
sh "git pull origin"
|
|
sh "git merge ${currentBranch} -m 'Merge versioning [skip ci]'"
|
|
sh "git push origin ${devBranch}"
|
|
sh "git checkout ${currentBranch}"
|
|
}
|
|
}
|
|
|
|
def semantic(String stageName, String containerName, String giteaTokenCredId, String giteaCredId) {
|
|
semanticStage(stageName, containerName) {
|
|
withCredentials([
|
|
usernamePassword(credentialsId: giteaCredId, usernameVariable: 'GIT_USER', passwordVariable: 'GIT_PASS'),
|
|
usernameColonPassword(credentialsId: giteaCredId, variable: 'GIT_CREDENTIALS'),
|
|
string(credentialsId: giteaTokenCredId, variable: "GITEA_TOKEN"),
|
|
]) {
|
|
semanticExec()
|
|
semanticSyncDev()
|
|
}
|
|
}
|
|
}
|
|
|
|
def semanticGetVersion() {
|
|
def version = sh(script: 'git describe --tags --abbrev=0', returnStdout: true).trim()
|
|
return version
|
|
}
|