From ab248f3665c3421971d108d49a8c504720123a3a Mon Sep 17 00:00:00 2001 From: epistemophiliac Date: Tue, 16 Jun 2026 18:30:42 -0400 Subject: [PATCH] Rewrite Jenkinsfile (CI revision 3) Use explicit .ci-bin/docker-compose paths only; split install and smoke stages; print commit SHA so builds are not confused with old replays. --- Jenkinsfile | 39 ++++++++++++++++++++++++++++++--------- 1 file changed, 30 insertions(+), 9 deletions(-) diff --git a/Jenkinsfile b/Jenkinsfile index 856e361..7f8c44b 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -1,12 +1,28 @@ +// erpnext CI — revision 3 (docker-compose standalone, explicit paths) pipeline { agent any options { timestamps() disableConcurrentBuilds() + skipDefaultCheckout(false) + } + + environment { + CI_BIN = "${WORKSPACE}/.ci-bin" + DOCKER_BIN = "${WORKSPACE}/.ci-bin/docker" + COMPOSE_BIN = "${WORKSPACE}/.ci-bin/docker-compose" + COMPOSE_FILE = "${WORKSPACE}/dist/docker-compose.coolify.yml" } stages { + stage('Verify checkout') { + steps { + sh 'echo "CI revision 3 | commit $(git rev-parse --short HEAD)"' + sh 'test -f Jenkinsfile && test -f docker-compose.yml' + } + } + stage('Production readiness') { steps { sh 'chmod +x scripts/ci/*.sh' @@ -15,35 +31,40 @@ pipeline { } } - stage('Compose smoke') { + stage('Install CI tools') { steps { sh ''' set -euo pipefail mkdir -p .ci-bin dist if [ ! -x .ci-bin/docker ]; then - echo "Installing static docker CLI..." + echo "Downloading docker CLI..." curl -fsSL "https://download.docker.com/linux/static/stable/x86_64/docker-27.4.1.tgz" \ | tar xz --strip-components=1 -C .ci-bin docker/docker chmod +x .ci-bin/docker fi if [ ! -x .ci-bin/docker-compose ]; then - echo "Installing docker-compose binary..." + echo "Downloading docker-compose..." curl -fsSL "https://github.com/docker/compose/releases/download/v2.32.4/docker-compose-linux-x86_64" \ -o .ci-bin/docker-compose chmod +x .ci-bin/docker-compose fi - export PATH="$PWD/.ci-bin:$PATH" - docker version - docker-compose version + .ci-bin/docker version + .ci-bin/docker-compose version + ''' + } + } + stage('Compose smoke') { + steps { + sh ''' + set -euo pipefail sed '/exclude_from_hc:/d' docker-compose.yml > dist/docker-compose.coolify.yml - docker-compose -f dist/docker-compose.coolify.yml config -q - + .ci-bin/docker-compose -f dist/docker-compose.coolify.yml config -q VERSION="$(grep -E '^ERPNEXT_VERSION=' example.env | cut -d= -f2)" - docker pull "frappe/erpnext:${VERSION}" + .ci-bin/docker pull "frappe/erpnext:${VERSION}" echo "frappe/erpnext:${VERSION} OK" ''' }