diff --git a/.gitea/workflows/unreal-build.yml b/.gitea/workflows/unreal-build.yml index 834d9f1b..3dff10e0 100644 --- a/.gitea/workflows/unreal-build.yml +++ b/.gitea/workflows/unreal-build.yml @@ -7,45 +7,57 @@ on: branches: [ main, develop ] jobs: - # windows-build: - # runs-on: windows - # steps: - # - name: Checkout repository - # uses: actions/checkout@v3 - # with: - # lfs: true - # fetch-depth: 0 # Get all history to properly handle UE dependencies + windows-build: + runs-on: windows + steps: + - name: Checkout repository + uses: actions/checkout@v3 + with: + lfs: true + fetch-depth: 0 - # - name: Setup Unreal Engine - # run: | - # # Ensure Unreal Engine is installed and set up - # # This assumes you have Unreal Engine installed on your runner - # # If not, you can add installation steps here + - name: Set Unreal Engine Path + run: | + echo "UE_ROOT=F:\LuckyRobots\LuckyRobots\Engine" >> $Env:GITHUB_ENV + echo "DOTNET_CLI_HOME=$env:TEMP" >> $Env:GITHUB_ENV + echo "MSBUILDDISABLENODEREUSE=1" >> $Env:GITHUB_ENV + echo "DOTNET_SKIP_FIRST_TIME_EXPERIENCE=1" >> $Env:GITHUB_ENV + echo "DOTNET_CLI_TELEMETRY_OPTOUT=1" >> $Env:GITHUB_ENV + + - name: Clean .NET build cache + run: | + dotnet nuget locals all --clear + dotnet build --clean + # Ensure temp directory exists and has proper permissions + New-Item -ItemType Directory -Force -Path $env:TEMP\dotnet + icacls $env:TEMP\dotnet /grant Everyone:F + + - name: Locate .uproject file + run: | + $UPROJECT_PATH = Get-ChildItem -Path "UNREAL_PROJECTS" -Filter "*.uproject" -Recurse | Select-Object -First 1 -ExpandProperty FullName + echo "UPROJECT_PATH=$UPROJECT_PATH" >> $Env:GITHUB_ENV + Write-Host "Found project file: $UPROJECT_PATH" + + - name: Build Unreal Project + run: | + # Create and set permissions for build output directory + New-Item -ItemType Directory -Force -Path "$PWD\BuildOutput" + icacls "$PWD\BuildOutput" /grant Everyone:F - # # Set environment variables for Unreal Engine - # echo "UE_ROOT=C:\Program Files\Epic Games\UE_5.2" >> $GITHUB_ENV - - # - name: Build Unreal Project - # run: | - # # Find your .uproject file (adjust path as needed) - # $UPROJECT_PATH = Get-ChildItem -Path . -Filter "*.uproject" -Recurse | Select-Object -First 1 -ExpandProperty FullName - # Write-Host "Building project: $UPROJECT_PATH" - - # # Use Unreal Automation Tool to build the project - # & "$env:UE_ROOT\Engine\Build\BatchFiles\RunUAT.bat" BuildCookRun ` - # -project="$UPROJECT_PATH" ` - # -noP4 ` - # -platform=Win64 ` - # -clientconfig=Development ` - # -cook -build -stage -pak -archive ` - # -archivedirectory="$PWD\Build" - - # - name: Upload build artifacts - # uses: actions/upload-artifact@v3 - # with: - # name: windows-build - # path: Build/ - # retention-days: 7 + & "$Env:UE_ROOT\Build\BatchFiles\RunUAT.bat" BuildCookRun ` + -project="$Env:UPROJECT_PATH" ` + -noP4 ` + -platform=Win64 ` + -clientconfig=Development ` + -cook -build -stage -pak -archive ` + -archivedirectory="$PWD\BuildOutput" + + - name: Upload build artifacts + uses: actions/upload-artifact@v3 + with: + name: windows-build + path: BuildOutput/ + retention-days: 7 macos-build: runs-on: macos