Улучшен CI/CD

This commit is contained in:
RoyceDa
2026-03-22 16:08:24 +02:00
parent 329e6d7825
commit b300fa4d03
4 changed files with 80 additions and 125 deletions

View File

@@ -11,7 +11,7 @@ on:
jobs:
build:
runs-on: macos
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v6
@@ -29,13 +29,13 @@ jobs:
restore-keys: |
${{ runner.os }}-npm-
if-no-files-found: ignore
# Кэш для electron-builder (macOS)
- name: Cache electron-builder (macOS)
# Кэш для electron-builder (Linux)
- name: Cache electron-builder (Linux)
uses: actions/cache@v5
with:
path: |
${{ env.HOME }}/Library/Caches/electron-builder
${{ env.HOME }}/Library/Caches/electron
${{ env.HOME }}/.cache/electron-builder
${{ env.HOME }}/.cache/electron
key: ${{ runner.os }}-electron-builder-${{ hashFiles('**/electron-builder.yml') }}
restore-keys: |
${{ runner.os }}-electron-builder-
@@ -54,6 +54,11 @@ jobs:
- name: Build the application
run: npm run kernel:linux
- name: Install ZIP in Docker container
run: |
apt-get update
apt-get install -y zip
#Собираем сервисные пакеты для всех платформ
- name: Build SP
shell: bash
@@ -62,13 +67,28 @@ jobs:
sh "$GITHUB_WORKSPACE/build-packs.sh"
#Загружаем на удаленный сервер по SSH используя scp и пароль из секретов
#Загружаем из двух папок dist/builds/darwin/x64 и dist/builds/darwin/arm64, так как electron-builder может создавать разные файлы для разных архитектур
- name: Upload to SSH
shell: bash
run: |
chmod +x "$GITHUB_WORKSPACE/.gitea/workflows/sshupload.sh"
sh "$GITHUB_WORKSPACE/.gitea/workflows/sshupload.sh" \
-l "$GITHUB_WORKSPACE/packs/*" \
-r "${{ secrets.SDU_SSH_PACKS }}" \
-s "${{ secrets.SDU_SSH_HOST }}" \
-u "${{ secrets.SDU_SSH_USERNAME }}" \
-p '${{ secrets.SDU_SSH_PASSWORD }}'
# - name: Upload to SSH
# shell: bash
# run: |
# chmod +x "$GITHUB_WORKSPACE/.gitea/workflows/sshupload.sh"
# sh "$GITHUB_WORKSPACE/.gitea/workflows/sshupload.sh" \
# -l "$GITHUB_WORKSPACE/packs/*" \
# -r "${{ secrets.SDU_SSH_PACKS }}" \
# -s "${{ secrets.SDU_SSH_HOST }}" \
# -u "${{ secrets.SDU_SSH_USERNAME }}" \
# -p '${{ secrets.SDU_SSH_PASSWORD }}'
- name: Install SCP in Docker container
run: apt-get install -y openssh-client
- name: Upload ${{ matrix.arch }} to SSH using SCP
uses: appleboy/scp-action@master
with:
host: ${{ secrets.SDU_SSH_HOST }}
username: ${{ secrets.SDU_SSH_USERNAME }}
password: ${{ secrets.SDU_SSH_PASSWORD }}
port: 22
source: "$GITHUB_WORKSPACE/packs/*"
target: "${{ secrets.SDU_SSH_PACKS }}"
strip_components: 1
rm: true