diff --git a/.github/workflows/update-dependencies.yml b/.github/workflows/update-dependencies.yml
index 694fedcb..01d9483f 100644
--- a/.github/workflows/update-dependencies.yml
+++ b/.github/workflows/update-dependencies.yml
@@ -2,101 +2,45 @@ name: Update Go Dependencies
 
 on:
   schedule:
-    - cron: '0 0 * * 1'  # Запуск каждую неделю в понедельник в 00:00 UTC
-  workflow_dispatch:      # Возможность ручного запуска
-
-permissions:
-  contents: write        # Явное указание разрешений
+    - cron: '0 0 * * 1'  # Запуск каждую неделю (понедельник в 00:00 UTC)
+  workflow_dispatch:  # Позволяет запускать вручную
 
 jobs:
   update:
-    runs-on: ubuntu-latest  # Используем последнюю версию Ubuntu
-    
-    timeout-minutes: 30     # Добавляем таймаут для предотвращения зависания
+    runs-on: ubuntu-20.04
 
     steps:
       - name: Checkout repository
         uses: actions/checkout@v4
         with:
-          fetch-depth: 0    # Загружаем всю историю
           token: ${{ secrets.GITHUB_TOKEN }}
-
+          
+      - name: Clean Go module cache
+        run: go clean -modcache
+          
       - name: Setup Go
         uses: actions/setup-go@v5
         with:
           go-version-file: go.mod
-          check-latest: true
-          cache: true       # Включаем кэширование модулей
-
-      - name: Check go.mod exists
-        run: |
-          if [ ! -f go.mod ]; then
-            echo "Error: go.mod file not found"
-            exit 1
-          fi
-
-      - name: Clean Go module cache
-        run: |
-          go clean -modcache
-          go clean -cache
-
+      
       - name: Update dependencies
-        id: update
         run: |
-          set -euo pipefail  # Строгий режим для bash
-          
-          echo "Updating Go dependencies..."
-          
-          # Обновляем зависимости с исключением gvisor без использования временных файлов
-          go list -f '{{if not (or .Main .Indirect)}}{{.Path}}{{end}}' -m all | \
-            grep -v 'gvisor.dev/gvisor' | \
-            xargs -r go get -u
-
-          # Очистка и проверка
+          go get -u $(go list -f '{{if not (or .Main .Indirect)}}{{.Path}}{{end}}' -m all | grep -v 'gvisor.dev/gvisor')
           go mod tidy
-          go mod verify || exit 1
-          
-          # Выводим изменения для лога
-          echo "Updated dependencies:"
-          go list -m all
 
       - name: Check for changes
-        id: check
         run: |
-          if git diff --quiet go.mod go.sum; then
-            echo "changes=false" >> $GITHUB_OUTPUT
+          if ! git diff --exit-code go.mod go.sum; then
+            echo "changes=true" >> $GITHUB_ENV
           else
-            echo "changes=true" >> $GITHUB_OUTPUT
+            echo "changes=false" >> $GITHUB_ENV
           fi
 
       - name: Commit and push changes
-        if: steps.check.outputs.changes == 'true'
+        if: env.changes == 'true'
         run: |
           git config --global user.name "github-actions[bot]"
           git config --global user.email "github-actions[bot]@users.noreply.github.com"
-          
           git add go.mod go.sum
-          git commit -m "chore(deps): update Go dependencies
-          
-          Automated update of Go dependencies excluding gvisor"
-          
-          # Попытка push с повторами при ошибках
-          max_attempts=3
-          attempt=1
-          
-          while [ $attempt -le $max_attempts ]; do
-            if git push origin ${{ github.ref }}; then
-              echo "Successfully pushed changes on attempt $attempt"
-              break
-            else
-              if [ $attempt -eq $max_attempts ]; then
-                echo "Failed to push after $max_attempts attempts"
-                exit 1
-              fi
-              echo "Push failed on attempt $attempt, retrying..."
-              attempt=$((attempt + 1))
-              git pull --rebase
-              sleep 5
-            fi
-          done
-          
+          git commit -m "chore(deps): update Go dependencies"
+          git push origin ${{ github.ref }}