Configure Git LFS for UE5 assets 2

This commit is contained in:
IlyStalker
2026-08-16 21:33:28 +03:00
parent 8430172e25
commit 4dcc1350b5
+105
View File
@@ -0,0 +1,105 @@
name: Nightly Build
on:
schedule:
# 01:00 MSK = 22:00 UTC предыдущего дня
- cron: '0 22 * * *'
workflow_dispatch: # Ручной запуск для тестов
jobs:
check-changes:
runs-on: ubuntu-latest
outputs:
changed: ${{ steps.check.outputs.changed }}
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 2
- name: Check for changes in last 24h
id: check
run: |
# Проверяем, были ли коммиты за последние 24 часа
CHANGES=$(git log --since="24 hours ago" --oneline | wc -l)
if [ "$CHANGES" -gt 0 ]; then
echo "changed=true" >> $GITHUB_OUTPUT
echo "Found $CHANGES commits in last 24h"
else
echo "changed=false" >> $GITHUB_OUTPUT
echo "No recent changes, skipping build"
fi
build-linux:
needs: check-changes
if: needs.check-changes.outputs.changed == 'true'
runs-on: ubuntu-runner # ← имя вашего Linux-раннера в Gitea
timeout-minutes: 120
steps:
- uses: actions/checkout@v4
with:
lfs: true
- name: Pull LFS files
run: git lfs pull
- name: Build Linux Shipping
run: |
ENGINE_DIR="/opt/unreal-engine/UE-5.8.1"
PROJECT="$(pwd)/YourGame.uproject"
"$ENGINE_DIR/Engine/Build/BatchFiles/Linux/Build.sh" \
YourGame Linux Shipping \
-Project="$PROJECT" \
-NoP4 -UTF8Output -Clean
# Архивация билда
ARCHIVE_NAME="YourGame-Linux-${{ github.sha::7 }}.tar.gz"
tar -czf "$ARCHIVE_NAME" \
-C Binaries/Linux \
YourGame-Linux-Shipping \
../Content/Paks/*
echo "LINUX_ARTIFACT=$ARCHIVE_NAME" >> $GITHUB_ENV
- name: Upload Linux artifact
uses: actions/upload-artifact@v4
with:
name: linux-build
path: ${{ env.LINUX_ARTIFACT }}
retention-days: 7
build-windows:
needs: check-changes
if: needs.check-changes.outputs.changed == 'true'
runs-on: windows-runner # ← имя вашего Windows-раннера в Gitea
timeout-minutes: 180
steps:
- uses: actions/checkout@v4
with:
lfs: true
- name: Pull LFS files
run: git lfs pull
- name: Build Windows Shipping
shell: cmd
run: |
set ENGINE_DIR=C:\Program Files\Epic Games\UE_5.8.1
set PROJECT=%CD%\YourGame.uproject
call "%ENGINE_DIR%\Engine\Build\BatchFiles\Build.bat" ^
YourGame Win64 Shipping ^
-Project="%PROJECT%" ^
-NoP4 -UTF8Output -Clean
:: Архивация
set ARCHIVE_NAME=YourGame-Win64-%GITHUB_SHA:~0,7%.zip
powershell Compress-Archive -Path "Binaries\Win64\*" -DestinationPath "%ARCHIVE_NAME%"
echo LINUX_ARTIFACT=%ARCHIVE_NAME% >> %GITHUB_ENV%
- name: Upload Windows artifact
uses: actions/upload-artifact@v4
with:
name: windows-build
path: ${{ env.WINDOWS_ARTIFACT }}
retention-days: 7