diff --git a/semantic.groovy b/semantic.groovy index b2bd7d1..f895e1a 100644 --- a/semantic.groovy +++ b/semantic.groovy @@ -1,5 +1,17 @@ -def downloadHelpers(path) { - sh "curl -L ${env.GIT_SCHEME}${env.GIT_HOST}/Jenkins/jenkins-tools/raw/branch/master/helpers.groovy -o $path" +def downloadHelpers(String gitBase, String path) { + sh "curl -L ${gitBase}/Jenkins/jenkins-tools/raw/branch/master/helpers.groovy -o $path" +} + +def downloadReleaseConfig(String gitBase, String path) { + sh "curl -L ${gitBase}/Jenkins/semantic/raw/branch/main/release.config.cjs -o $path" +} + +def semanticGetContainerTemplate() { + return containerTemplate(name: semanticGetContainerName(), image: "goodhumored/semantic-release-dipal:0.1.1-alpine", command: "sleep", args: "99d", NodeSelector: "kubernetes.io/os=linux") +} + +def semanticGetContainerName() { + return "semantic-release" } def semanticStage(String stageName, String containerName, Closure body) { @@ -11,6 +23,7 @@ def semanticStage(String stageName, String containerName, Closure body) { } def semanticExec(String giteaUrl) { + downloadReleaseConfig(giteaUrl, "./release.config.cjs") sh "GITEA_URL=${giteaUrl} semantic-release --ci" } @@ -24,15 +37,22 @@ def semanticSyncDev(String currentBranch, String devBranch) { } } -def semantic(String stageName, String containerName, String giteaTokenCredId, String giteaCredId) { - semanticStage(stageName, containerName) { +def semantic( + String stageName, + String giteaTokenCredId, + String giteaCredId, + String giteaUrl, + String currentBranch, + String devBranch, +) { + semanticStage(stageName, semanticGetContainerName()) { withCredentials([ usernamePassword(credentialsId: giteaCredId, usernameVariable: 'GIT_USER', passwordVariable: 'GIT_PASS'), usernameColonPassword(credentialsId: giteaCredId, variable: 'GIT_CREDENTIALS'), string(credentialsId: giteaTokenCredId, variable: "GITEA_TOKEN"), ]) { - semanticExec() - semanticSyncDev() + semanticExec(giteaUrl) + semanticSyncDev(currentBranch, devBranch) } } }