From a35060c2cf86a9429f1a7e68b04ecc8580dd00d8 Mon Sep 17 00:00:00 2001 From: 12ww1160 <12ww1160@confdroid.com> Date: Tue, 14 Apr 2026 13:47:17 +0200 Subject: [PATCH 1/2] rewrite pipeline to reflect pushing same commits to both remotes --- Jenkinsfile | 36 +++++++++++++++--------------------- 1 file changed, 15 insertions(+), 21 deletions(-) diff --git a/Jenkinsfile b/Jenkinsfile index 03e1e65..a274ba4 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -28,11 +28,12 @@ pipeline { sh ''' git config user.name "Jenkins Server" git config user.email jenkins@confdroid.com - # Ensure we're on the development branch (triggered by push) - git checkout development - # Create jenkins branch from development - git checkout -b jenkins-build-$BUILD_NUMBER - # Optionally merge master into jenkins to ensure compatibility + git fetch origin + # Reset the workspace to the exact branch revision that triggered the build. + git checkout -B "$BRANCH_NAME" "origin/$BRANCH_NAME" + # Create an isolated build branch from the triggering branch. + git checkout -B jenkins-build-$BUILD_NUMBER + # Merge the current master into the build branch before validation. git merge origin/master --no-ff || { echo "Merge conflict detected"; exit 1; } ''' } @@ -91,12 +92,10 @@ pipeline { git config user.name "Jenkins Server" git config user.email jenkins@confdroid.com git add -A && git commit -am "Recommit for updates in build $BUILD_NUMBER" || echo "No changes to commit" - git push -o merge_request.create \ - -o merge_request.target=master \ - -o merge_request.title="Auto-merge for build $BUILD_NUMBER" \ - -o merge_request.description="Automated changes from Jenkins build $BUILD_NUMBER" \ - -o merge_request.merge_when_pipeline_succeeds=true \ - origin jenkins-build-$BUILD_NUMBER + git fetch origin + git checkout -B master origin/master + git merge --no-ff jenkins-build-$BUILD_NUMBER -m "Merge build $BUILD_NUMBER into master" + git push origin master ''' } } @@ -108,19 +107,14 @@ pipeline { usernameVariable: 'GITEA_USER', passwordVariable: 'GITEA_TOKEN')]) { script { - // Checkout from GitLab (already done implicitly) sh ''' + git fetch origin git checkout master - git pull origin master - git branch -D development - git branch -D jenkins-build-$BUILD_NUMBER - git rm -f Jenkinsfile - git rm -r --cached .vscode || echo "No .vscode to remove from git" - git rm -r --cached .puppet-lint.rc || echo "No .puppet-lint.rc to remove from git" - git commit --amend --no-edit --allow-empty - git remote add master https://sourcecode.confdroid.com/confdroid/confdroid_ssh.git + git reset --hard origin/master + git remote remove gitea || true + git remote add gitea https://sourcecode.confdroid.com/confdroid/confdroid_ssh.git git -c credential.helper="!f() { echo username=${GITEA_USER}; echo password=${GITEA_TOKEN}; }; f" \ - push master --mirror + push gitea refs/heads/master:refs/heads/master ''' } } From fd214f6a7df3aa4a89a178d59e8b82bf482d7b18 Mon Sep 17 00:00:00 2001 From: 12ww1160 <12ww1160@confdroid.com> Date: Tue, 14 Apr 2026 13:51:09 +0200 Subject: [PATCH 2/2] rewrite pipeline to reflect pushing same commits to both remotes --- Jenkinsfile | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/Jenkinsfile b/Jenkinsfile index a274ba4..33c9d78 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -29,10 +29,15 @@ pipeline { git config user.name "Jenkins Server" git config user.email jenkins@confdroid.com git fetch origin - # Reset the workspace to the exact branch revision that triggered the build. - git checkout -B "$BRANCH_NAME" "origin/$BRANCH_NAME" - # Create an isolated build branch from the triggering branch. - git checkout -B jenkins-build-$BUILD_NUMBER + source_branch="${gitlabSourceBranch:-${BRANCH_NAME:-${GIT_LOCAL_BRANCH:-$GIT_BRANCH}}}" + source_branch="${source_branch#origin/}" + source_branch="${source_branch#refs/heads/}" + if [ -z "$source_branch" ]; then + source_branch="development" + fi + echo "Using source branch: $source_branch" + # Create an isolated build branch from the triggering branch revision. + git checkout -B jenkins-build-$BUILD_NUMBER "origin/$source_branch" # Merge the current master into the build branch before validation. git merge origin/master --no-ff || { echo "Merge conflict detected"; exit 1; } '''