name: 'Linux Build Steps' description: 'Build Linux application' runs: using: "composite" steps: - name: Setup environment run: | # Set environment variables for Unreal Engine echo "UE_ROOT=E:/Games/UE_5.5" >> $GITHUB_ENV # Set environment variables for Linux toolchain (needed for cross-compilation) $env:LINUX_MULTIARCH_ROOT="C:/UnrealToolchains/v23_clang-18.1.0-rockylinux8" echo "LINUX_MULTIARCH_ROOT=${LINUX_MULTIARCH_ROOT}" >> $GITHUB_ENV # Create directories for builds if (!(Test-Path "Builds/Linux")) { New-Item -ItemType Directory -Path "Builds/Linux" -Force } if (!(Test-Path "PackagedReleases")) { New-Item -ItemType Directory -Path "PackagedReleases" -Force } shell: pwsh - name: Build for Linux run: | # Chmod command doesn't exist in Windows, use PowerShell to run the bash script & 'C:\Program Files\Git\bin\bash.exe' -c "./scripts/linux_build.sh" shell: pwsh - name: Package Linux build run: | echo "Packaging Linux build..." if [ -d "Builds/Linux" ]; then cd Builds/Linux zip -r ../../PackagedReleases/LuckyRobots-Linux.zip . cd ../.. fi echo "=== Packaged Linux release ===" ls -la PackagedReleases/ shell: bash - name: Upload Linux Build Artifact uses: actions/upload-artifact@v3 if: success() && hashFiles('PackagedReleases/LuckyRobots-Linux.zip') != '' with: name: LuckyRobots-Linux path: PackagedReleases/LuckyRobots-Linux.zip retention-days: 365