name: Manual and Auto Deployment on: push: branches: [main] # Добавляем блок ручного запуска workflow_dispatch: inputs: run_mode: description: 'Что запустить?' required: true default: 'all' type: choice options: - 'all' - 'docker_only' - 'msi_only' jobs: # 1. Работа с Docker (только если выбрано 'all' или 'docker_only') docker-latest: if: github.event_name == 'push' || github.event.inputs.run_mode == 'all' || github.event.inputs.run_mode == 'docker_only' runs-on: docker-latest container: image: node:18-alpine steps: - name: docker ps shell: bash run: docker ps # 2. Установка MSI на конкретный раннер deploy_all: if: github.event_name == 'push' || github.event.inputs.run_mode == 'all' || github.event.inputs.run_mode == 'msi_only' strategy: matrix: target_runner: [K4012-KOA] runs-on: ${{ matrix.target_runner }} steps: - name: Install MSI and Create Log shell: powershell run: | Start-Process msiexec.exe -ArgumentList "/i C:\install\MAX.msi /qn /norestart" -Wait "Installed successfully on $(hostname) at $(Get-Date)" | Out-File -FilePath "C:\install\git_MAX2.txt" -Encoding utf8 # 3. Установка на любой свободный self-hosted install_single: runs-on: [self-hosted, linux-amd64, kalugin66] steps: - name: bash shell: bash run: | docker ps docker ps -a