#!/usr/bin/env bash # erpnext Jenkins CI — revision 4 set -euo pipefail echo "=== erpnext CI revision 4 ===" echo "commit: $(git rev-parse --short HEAD 2>/dev/null || echo unknown)" echo "workspace: ${PWD}" chmod +x scripts/ci/*.sh bash scripts/ci/ci-readiness.sh . bash scripts/ci/validate-docker-compose.sh . mkdir -p .ci-bin dist if [ ! -x .ci-bin/docker ]; then 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 "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 .ci-bin/docker version .ci-bin/docker-compose version DOCKER=./.ci-bin/docker COMPOSE=./.ci-bin/docker-compose if ! $DOCKER version >/dev/null 2>&1; then if command -v sudo >/dev/null 2>&1 && sudo -n $DOCKER version >/dev/null 2>&1; then DOCKER="sudo $DOCKER" COMPOSE="sudo $COMPOSE" else echo "ERROR: Jenkins cannot access /var/run/docker.sock (permission denied)." echo "Fix in Coolify: jenkins service needs user 0:0 or group_add matching host docker GID." ls -la /var/run/docker.sock 2>/dev/null || true id exit 1 fi fi sed '/exclude_from_hc:/d' docker-compose.yml > dist/docker-compose.coolify.yml $COMPOSE -f dist/docker-compose.coolify.yml config -q VERSION="$(grep -E '^ERPNEXT_VERSION=' example.env | cut -d= -f2)" $DOCKER pull "frappe/erpnext:${VERSION}" echo "frappe/erpnext:${VERSION} OK"