52 lines
1.6 KiB
Bash
Executable file
52 lines
1.6 KiB
Bash
Executable file
#!/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"
|