diff --git a/.gitea/workflows/agile-squad.yaml b/.gitea/workflows/agile-squad.yaml index e4a09c0..9ba569f 100644 --- a/.gitea/workflows/agile-squad.yaml +++ b/.gitea/workflows/agile-squad.yaml @@ -5,11 +5,10 @@ on: schedule: # UTC Time: 07:00(09 UA), 11:00(13 UA), 15:00(17 UA), 19:00(21 UA) - cron: '0 7,11,15,19 * * *' - # Кнопка для ручного запуску (щоб перевірити прямо зараз) workflow_dispatch: jobs: - # === АГЕНТ 1: РАНКОВИЙ ЗБІР (Standup) === + # === АГЕНТ 1: РАНКОВИЙ ЗБІР === standup-check: runs-on: ubuntu-latest container: node:16-bullseye @@ -17,45 +16,38 @@ jobs: - name: 📞 Check Connectivity run: | apt-get update && apt-get install -y curl - # Перевіряємо, чи відповідає Gitea (код 200/300) - # Якщо Gitea лежить - немає сенсу працювати далі curl -f -I https://git.smagentsconsulting.uk/ || exit 1 echo "✅ Gitea is Alive. Starting the day..." - # === АГЕНТ 2: ОСНОВНА РОБОТА (Worker) === + # === АГЕНТ 2: ОСНОВНА РОБОТА === heavy-worker: - needs: standup-check # Чекаємо, поки пройде перевірка зв'язку + needs: standup-check runs-on: ubuntu-latest container: image: node:16-bullseye - # Прокидаємо сокет, щоб запускати docker compose - volumes: - - /var/run/docker.sock:/var/run/docker.sock + # ПРИБРАНО volumes, бо Runner це робить сам! steps: - name: 📥 Check out repository uses: actions/checkout@v3 - name: 🛠️ Setup Docker Tools run: | - # Встановлюємо найновіший Docker CLI вручну (як ми вже робили) apt-get update && apt-get install -y curl tar curl -fsSL https://download.docker.com/linux/static/stable/x86_64/docker-26.1.3.tgz -o docker.tgz tar xzvf docker.tgz && mv docker/docker /usr/local/bin/ && chmod +x /usr/local/bin/docker - name: 🔨 Run Main Task run: | - # Запускаємо основний скрипт у мережі stack_app_net - # --rm видаляє контейнер після роботи, щоб не займати місце + # Запускаємо основний скрипт docker compose run --rm antigravity_core python main.py - # === АГЕНТ 3: АУДИТОР (QA) === + # === АГЕНТ 3: АУДИТОР === qa-auditor: - needs: heavy-worker # Запускається ТІЛЬКИ після завершення роботи Worker + needs: heavy-worker runs-on: ubuntu-latest container: image: node:16-bullseye - volumes: - - /var/run/docker.sock:/var/run/docker.sock + # ПРИБРАНО volumes steps: - name: 📥 Check out repository uses: actions/checkout@v3 @@ -68,7 +60,6 @@ jobs: - name: 🛡️ Infrastructure Audit run: | - # Якщо у нас є скрипт аудиту - запускаємо, якщо ні - просто статус if [ -f audit.py ]; then python3 audit.py else @@ -76,9 +67,9 @@ jobs: docker ps --format "table {{.Names}}\t{{.Status}}\t{{.Image}}" fi - # === АГЕНТ 4: РЕПОРТЕР (Scrum Master) === + # === АГЕНТ 4: РЕПОРТЕР === scrum-report: - if: always() # Виконується ЗАВЖДИ, навіть якщо Worker впав + if: always() needs: [standup-check, heavy-worker, qa-auditor] runs-on: ubuntu-latest steps: @@ -96,5 +87,5 @@ jobs: echo "✅ Day Successful. System Stable." else echo "❌ Issues Detected! Check logs above." - # Не ламаємо цей крок, просто повідомляємо + exit 1 fi