From 33773b373d969bd4e6aa82fc135aa886f502b669 Mon Sep 17 00:00:00 2001 From: AlexIves16 Date: Mon, 25 May 2026 08:08:35 +0500 Subject: [PATCH] fix: make workflow package installation environment-agnostic (fix apk command not found) --- .gitea/workflows/deploy.yml | 41 ++++++++++++++++++++++++++++++++++--- 1 file changed, 38 insertions(+), 3 deletions(-) diff --git a/.gitea/workflows/deploy.yml b/.gitea/workflows/deploy.yml index 471b0fa..7ce9ca0 100644 --- a/.gitea/workflows/deploy.yml +++ b/.gitea/workflows/deploy.yml @@ -19,7 +19,16 @@ jobs: env: TOKEN: ${{ secrets.GIT_TOKEN }} run: | - apk add --no-cache git + if ! command -v git >/dev/null 2>&1; then + if command -v apk >/dev/null 2>&1; then + apk add --no-cache git + elif command -v apt-get >/dev/null 2>&1; then + apt-get update && apt-get install -y git + else + echo "Git not found and no package manager detected" + exit 1 + fi + fi CLEAN_TOKEN=$(printf '%s' "${TOKEN}" | tr -d '\r\n') git clone "http://oauth2:${CLEAN_TOKEN}@gitea:3000/AVTEX/XFlow.git" . @@ -47,7 +56,28 @@ jobs: - name: Deploy to server run: | - apk add --no-cache docker-cli docker-compose + if ! command -v docker >/dev/null 2>&1; then + if command -v apk >/dev/null 2>&1; then + apk add --no-cache docker-cli + elif command -v apt-get >/dev/null 2>&1; then + apt-get update && apt-get install -y docker.io + else + echo "Docker not found and no package manager detected" + exit 1 + fi + fi + + if ! command -v docker-compose >/dev/null 2>&1 && ! docker compose version >/dev/null 2>&1; then + if command -v apk >/dev/null 2>&1; then + apk add --no-cache docker-compose + elif command -v apt-get >/dev/null 2>&1; then + apt-get update && apt-get install -y docker-compose + else + echo "Docker compose not found and no package manager detected" + exit 1 + fi + fi + # Подготовка папок в новой структуре mkdir -p /root/projects/xflow/.output /root/projects/xflow/prisma /root/projects/xflow/node_modules cp -r .output/. /root/projects/xflow/.output/ @@ -60,7 +90,12 @@ jobs: # Мы используем мастер-файл из корня проектов docker stop xflow_crm 2>/dev/null || true docker rm xflow_crm 2>/dev/null || true - docker compose -f /root/projects/docker-compose.yml up -d --no-deps xflow_crm + + if docker compose version >/dev/null 2>&1; then + docker compose -f /root/projects/docker-compose.yml up -d --no-deps xflow_crm + else + docker-compose -f /root/projects/docker-compose.yml up -d --no-deps xflow_crm + fi echo "⏳ Waiting for container to start..." sleep 5