name: Linux Kernel Build #Запускаем только кнопкой "Run workflow" в Actions on: workflow_dispatch: push: branches: - main paths: - 'lib/**' jobs: build: runs-on: linux steps: - name: Checkout code uses: actions/checkout@v6 - name: Install Node.js uses: actions/setup-node@v6 with: node-version: '22' - name: Install npm dependencies run: npm install --no-audit --no-fund - name: Build the application run: npm run kernel:linux #Загружаем на удаленный сервер по SSH используя scp и пароль из секретов #Загружаем из двух папок dist/builds/darwin/x64 и dist/builds/darwin/arm64, так как electron-builder может создавать разные файлы для разных архитектур #Вызываем файл sshupload.sh и передаем ему параметры из секретов, чтобы не хранить пароль в открытом виде в workflow - name: Install scp run: sudo apt-get install -y openssh-client - name: Upload x64 to SSH using SCP uses: appleboy/scp-upload@master with: host: ${{ secrets.SDU_SSH_HOST }} username: ${{ secrets.SDU_SSH_USERNAME }} password: ${{ secrets.SDU_SSH_PASSWORD }} port: 22 source: "$GITHUB_WORKSPACE/dist/builds/linux/x64/Rosetta-*.AppImage" target: "${{ secrets.SDU_SSH_KERNEL }}/linux/x64" - name: Upload arm64 to SSH using SCP uses: appleboy/scp-upload@master with: host: ${{ secrets.SDU_SSH_HOST }} username: ${{ secrets.SDU_SSH_USERNAME }} password: ${{ secrets.SDU_SSH_PASSWORD }} port: 22 source: "$GITHUB_WORKSPACE/dist/builds/linux/arm64/Rosetta-*.AppImage" target: "${{ secrets.SDU_SSH_KERNEL }}/linux/arm64"