Compare commits
9 Commits
3ad7393e45
...
f5f227f180
Author | SHA1 | Date | |
---|---|---|---|
f5f227f180 | |||
505555ff16 | |||
2fe66c6071 | |||
|
1094e73c1c | ||
|
790467d3b1 | ||
|
ba98447176 | ||
|
0b4b220dd3 | ||
|
510adab5b2 | ||
|
c59de06d6b |
@ -1,75 +1,103 @@
|
|||||||
name: Create Release
|
name: Unreal Release
|
||||||
|
|
||||||
on:
|
on:
|
||||||
workflow_dispatch:
|
workflow_dispatch:
|
||||||
inputs:
|
inputs:
|
||||||
version:
|
windows_build_path:
|
||||||
description: 'Version for this release (e.g. 1.0.0)'
|
description: 'Absolute path to the Windows build zip file'
|
||||||
required: true
|
required: true
|
||||||
default: ''
|
default: 'E:\LuckyWorld\LuckyRobots\UNREAL_PROJECTS\Luckyrobots\Builds\Windows\LuckyRobots-Windows.zip'
|
||||||
prerelease:
|
linux_build_path:
|
||||||
description: 'Is this a pre-release?'
|
description: 'Absolute path to the Linux build zip file'
|
||||||
required: true
|
required: true
|
||||||
default: 'false'
|
default: 'E:\LuckyWorld\LuckyRobots\UNREAL_PROJECTS\Luckyrobots\Builds\Linux\LuckyRobots-Linux.zip'
|
||||||
type: boolean
|
mac_build_path:
|
||||||
description:
|
description: 'Absolute path to the Mac build zip file'
|
||||||
description: 'Release description'
|
required: true
|
||||||
required: false
|
default: 'E:\LuckyWorld\LuckyRobots\UNREAL_PROJECTS\Luckyrobots\Builds\Mac\LuckyRobots-Mac.zip'
|
||||||
default: 'New release'
|
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
create-release:
|
build:
|
||||||
runs-on: macos
|
runs-on: windows
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout repository
|
- name: Upload Linux Build Artifact
|
||||||
uses: actions/checkout@v3
|
uses: actions/upload-artifact@v3
|
||||||
with:
|
with:
|
||||||
lfs: true
|
name: LuckyRobots-Linux
|
||||||
fetch-depth: 0
|
path: ${{ github.event.inputs.linux_build_path }}
|
||||||
|
retention-days: 365
|
||||||
- name: Create Tag
|
|
||||||
|
- name: Upload Windows Build Artifact
|
||||||
|
uses: actions/upload-artifact@v3
|
||||||
|
with:
|
||||||
|
name: LuckyRobots-Windows
|
||||||
|
path: ${{ github.event.inputs.windows_build_path }}
|
||||||
|
retention-days: 365
|
||||||
|
|
||||||
|
- name: Upload Mac Build Artifact
|
||||||
|
uses: actions/upload-artifact@v3
|
||||||
|
with:
|
||||||
|
name: LuckyRobots-Mac
|
||||||
|
path: ${{ github.event.inputs.mac_build_path }}
|
||||||
|
retention-days: 365
|
||||||
|
|
||||||
|
- name: Get Release Tag
|
||||||
|
shell: pwsh
|
||||||
run: |
|
run: |
|
||||||
# Set tag name
|
# Fetch all tags
|
||||||
TAG="v${{ github.event.inputs.version }}"
|
|
||||||
echo "Creating git tag: $TAG"
|
|
||||||
|
|
||||||
# Configure git
|
|
||||||
git config --global user.email "actions@gitea.com"
|
|
||||||
git config --global user.name "Gitea Actions"
|
|
||||||
|
|
||||||
# Check if tag already exists
|
|
||||||
if git rev-parse "$TAG" >/dev/null 2>&1; then
|
|
||||||
echo "Tag $TAG already exists"
|
|
||||||
else
|
|
||||||
echo "Creating new tag $TAG"
|
|
||||||
git tag -a "$TAG" -m "Release $TAG"
|
|
||||||
# Push the tag explicitly
|
|
||||||
git push origin "$TAG"
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Verify tag exists
|
|
||||||
git fetch --tags
|
git fetch --tags
|
||||||
echo "Checking out tag: $TAG"
|
|
||||||
git checkout "$TAG" || (echo "Failed to checkout tag" && exit 1)
|
|
||||||
|
|
||||||
# Verify we are on the tag, not on a branch
|
# Get the latest version tag, if any
|
||||||
CURRENT_REF=$(git symbolic-ref -q HEAD || git rev-parse HEAD)
|
# Uses Sort-Object with a version comparison scriptblock
|
||||||
echo "Current ref: $CURRENT_REF"
|
$latestTag = git tag -l "v[0-9]*.[0-9]*.[0-9]*" | Sort-Object -Property @{Expression={[version]($_ -replace 'v')}} | Select-Object -Last 1
|
||||||
if [[ "$CURRENT_REF" == *"refs/heads/"* ]]; then
|
|
||||||
echo "ERROR: Still on a branch, not on the tag"
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Export tag name for later steps
|
$newVersion = "1.0.0" # Default start version
|
||||||
echo "RELEASE_TAG=$TAG" >> $GITHUB_ENV
|
|
||||||
|
if ($null -ne $latestTag -and $latestTag -ne '') {
|
||||||
|
Write-Host "Latest tag found: $latestTag"
|
||||||
|
# Strip 'v' prefix
|
||||||
|
$versionString = $latestTag -replace '^v'
|
||||||
|
|
||||||
|
# Split version into parts
|
||||||
|
$versionParts = $versionString.Split('.')
|
||||||
|
if ($versionParts.Length -eq 3) {
|
||||||
|
$major = [int]$versionParts[0]
|
||||||
|
$minor = [int]$versionParts[1]
|
||||||
|
$patch = [int]$versionParts[2]
|
||||||
|
|
||||||
|
# Auto-increment patch version
|
||||||
|
$patch++
|
||||||
|
$newVersion = "$major.$minor.$patch"
|
||||||
|
Write-Host "Auto-incremented patch version from $versionString to $newVersion"
|
||||||
|
} else {
|
||||||
|
Write-Host "Could not parse version from tag: $latestTag. Defaulting to 1.0.0"
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
Write-Host "No previous version tags found, starting with 1.0.0"
|
||||||
|
}
|
||||||
|
|
||||||
|
# Final tag with v prefix
|
||||||
|
$tag = "v$newVersion"
|
||||||
|
|
||||||
|
# Set environment variable for subsequent steps
|
||||||
|
echo "RELEASE_TAG=$tag" | Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append
|
||||||
|
Write-Host "Using release tag: $tag"
|
||||||
|
|
||||||
- name: Create Release
|
- name: Create Release
|
||||||
uses: https://gitea.com/actions/release-action@main
|
uses: https://gitea.com/actions/gitea-release-action@main
|
||||||
with:
|
with:
|
||||||
files: |-
|
token: '${{ secrets.GITEA_TOKEN }}'
|
||||||
builds/**
|
|
||||||
api_key: '${{ secrets.GITEA_TOKEN }}'
|
|
||||||
title: 'Release ${{ env.RELEASE_TAG }}'
|
title: 'Release ${{ env.RELEASE_TAG }}'
|
||||||
body: '${{ github.event.inputs.description }}'
|
body: |
|
||||||
prerelease: ${{ github.event.inputs.prerelease }}
|
## LuckyRobots Game Release ${{ env.RELEASE_TAG }}
|
||||||
tag_name: '${{ env.RELEASE_TAG }}'
|
|
||||||
|
Windows, Linux and Mac builds are attached below.
|
||||||
|
|
||||||
|
### Build Information
|
||||||
|
|
||||||
|
- Build Number: #${{ github.run_number }}
|
||||||
|
- Commit: ${{ github.sha }}
|
||||||
|
- Branch: ${{ github.ref_name }}
|
||||||
|
- Build Date: $(date -u +"%Y-%m-%d %H:%M:%S UTC")
|
||||||
|
prerelease: ${{ github.ref != 'refs/heads/main' }}
|
||||||
|
tag_name: '${{ env.RELEASE_TAG }}'
|
@ -6,48 +6,9 @@ on:
|
|||||||
branches: [main, develop]
|
branches: [main, develop]
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
# windows-build:
|
build-and-release:
|
||||||
# runs-on: windows
|
runs-on: windows
|
||||||
# steps:
|
if: github.ref == 'refs/heads/main' || github.ref == 'refs/heads/develop'
|
||||||
# - 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
|
|
||||||
|
|
||||||
# # 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
|
|
||||||
|
|
||||||
macos-build:
|
|
||||||
runs-on: macos
|
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout repository
|
- name: Checkout repository
|
||||||
uses: actions/checkout@v3
|
uses: actions/checkout@v3
|
||||||
@ -55,6 +16,241 @@ jobs:
|
|||||||
lfs: true
|
lfs: true
|
||||||
fetch-depth: 0
|
fetch-depth: 0
|
||||||
|
|
||||||
|
- 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
|
||||||
|
$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 (with error handling)
|
||||||
|
if (!(Test-Path "Builds/Windows")) { New-Item -ItemType Directory -Path "Builds/Windows" -Force }
|
||||||
|
if (!(Test-Path "Builds/Linux")) { New-Item -ItemType Directory -Path "Builds/Linux" -Force }
|
||||||
|
if (!(Test-Path "PackagedReleases")) { New-Item -ItemType Directory -Path "PackagedReleases" -Force }
|
||||||
|
|
||||||
|
- name: Build for Windows
|
||||||
|
run: |
|
||||||
|
# Chmod command doesn't exist in Windows, use PowerShell to run the bash script
|
||||||
|
& 'C:\Program Files\Git\bin\bash.exe' -c "./win_build.sh"
|
||||||
|
|
||||||
|
- 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 "./linux_build.sh"
|
||||||
|
|
||||||
|
- name: Package builds
|
||||||
|
run: |
|
||||||
|
echo "Packaging Windows build..."
|
||||||
|
if [ -d "Builds/Windows" ]; then
|
||||||
|
cd Builds/Windows
|
||||||
|
zip -r ../../PackagedReleases/LuckyRobots-Windows.zip .
|
||||||
|
cd ../..
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo "Packaging Linux build..."
|
||||||
|
if [ -d "Builds/Linux" ]; then
|
||||||
|
cd Builds/Linux
|
||||||
|
zip -r ../../PackagedReleases/LuckyRobots-Linux.zip .
|
||||||
|
cd ../..
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo "=== Packaged releases ==="
|
||||||
|
ls -la PackagedReleases/
|
||||||
|
|
||||||
|
- name: Upload Windows Build Artifact
|
||||||
|
uses: actions/upload-artifact@v3
|
||||||
|
if: success() && hashFiles('PackagedReleases/LuckyRobots-Windows.zip') != ''
|
||||||
|
with:
|
||||||
|
name: LuckyRobots-Windows
|
||||||
|
path: PackagedReleases/LuckyRobots-Windows.zip
|
||||||
|
retention-days: 365
|
||||||
|
|
||||||
|
- 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
|
||||||
|
|
||||||
|
- name: Create Tag
|
||||||
|
if: github.ref == 'refs/heads/main' || github.ref == 'refs/heads/develop'
|
||||||
|
run: |
|
||||||
|
# Fetch all tags
|
||||||
|
git fetch --tags
|
||||||
|
|
||||||
|
# Get the latest version tag, if any
|
||||||
|
LATEST_TAG=$(git tag -l "v[0-9]*.[0-9]*.[0-9]*" | sort -V | tail -n1)
|
||||||
|
|
||||||
|
if [ -z "$LATEST_TAG" ]; then
|
||||||
|
# No previous version tag, start with 1.0.0
|
||||||
|
NEW_VERSION="1.0.0"
|
||||||
|
echo "No previous version tags found, starting with 1.0.0"
|
||||||
|
else
|
||||||
|
# Strip 'v' prefix if it exists
|
||||||
|
VERSION=${LATEST_TAG#v}
|
||||||
|
|
||||||
|
# Split version into parts
|
||||||
|
MAJOR=$(echo $VERSION | cut -d. -f1)
|
||||||
|
MINOR=$(echo $VERSION | cut -d. -f2)
|
||||||
|
PATCH=$(echo $VERSION | cut -d. -f3)
|
||||||
|
|
||||||
|
# Auto-increment patch version
|
||||||
|
PATCH=$((PATCH + 1))
|
||||||
|
NEW_VERSION="${MAJOR}.${MINOR}.${PATCH}"
|
||||||
|
echo "Auto-incremented patch version from ${VERSION} to ${NEW_VERSION}"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Final tag with v prefix
|
||||||
|
TAG="v${NEW_VERSION}"
|
||||||
|
echo "Creating git tag: $TAG"
|
||||||
|
|
||||||
|
# Configure git with token authentication
|
||||||
|
git config --global user.email "actions@gitea.com"
|
||||||
|
git config --global user.name "Gitea Actions"
|
||||||
|
|
||||||
|
# Direct token approach - simplest method
|
||||||
|
git remote set-url origin "https://goran:${{ secrets.GITEATOKEN }}@luckyrobots.com/luckyrobots/luckyworld.git"
|
||||||
|
|
||||||
|
# Set git to not prompt for input
|
||||||
|
$env:GIT_TERMINAL_PROMPT=0
|
||||||
|
|
||||||
|
# Check if tag exists
|
||||||
|
if ! git rev-parse "$TAG" >/dev/null 2>&1; then
|
||||||
|
# Create tag without opening editor (-m flag)
|
||||||
|
git tag -a "$TAG" -m "Release $TAG"
|
||||||
|
|
||||||
|
# Push with timeout and debug
|
||||||
|
echo "Pushing tag $TAG to origin..."
|
||||||
|
git push --verbose origin "$TAG" || {
|
||||||
|
echo "Error: Failed to push tag. Check your token permissions."
|
||||||
|
exit 1
|
||||||
|
}
|
||||||
|
echo "Successfully created and pushed tag: $TAG"
|
||||||
|
else
|
||||||
|
echo "Tag $TAG already exists, skipping tag creation"
|
||||||
|
fi
|
||||||
|
echo "RELEASE_TAG=$TAG" >> $GITHUB_ENV
|
||||||
|
|
||||||
|
- name: Create Build Info
|
||||||
|
run: |
|
||||||
|
# Create a build info JSON file
|
||||||
|
echo '{
|
||||||
|
"version": "${{ env.RELEASE_TAG }}",
|
||||||
|
"buildNumber": "${{ github.run_number }}",
|
||||||
|
"commit": "${{ github.sha }}",
|
||||||
|
"branch": "${{ github.ref_name }}",
|
||||||
|
"buildDate": "'$(date -u +"%Y-%m-%dT%H:%M:%SZ")'",
|
||||||
|
"artifacts": {
|
||||||
|
"windows": "https://luckyrobots.com/luckyrobots/luckyworld/actions/runs/${{ github.run_id }}/artifacts/LuckyRobots-Windows",
|
||||||
|
"linux": "https://luckyrobots.com/luckyrobots/luckyworld/actions/runs/${{ github.run_id }}/artifacts/LuckyRobots-Linux"
|
||||||
|
}
|
||||||
|
}' > PackagedReleases/build-info.json
|
||||||
|
|
||||||
|
# Create a simple HTML download page
|
||||||
|
echo '<!DOCTYPE html>
|
||||||
|
<html lang="en">
|
||||||
|
<head>
|
||||||
|
<meta charset="UTF-8">
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||||
|
<title>LuckyRobots ${{ env.RELEASE_TAG }} Downloads</title>
|
||||||
|
<style>
|
||||||
|
body { font-family: Arial, sans-serif; max-width: 800px; margin: 0 auto; padding: 20px; }
|
||||||
|
h1 { color: #333; }
|
||||||
|
.download-btn {
|
||||||
|
display: inline-block;
|
||||||
|
background-color: #4CAF50;
|
||||||
|
color: white;
|
||||||
|
padding: 10px 20px;
|
||||||
|
text-decoration: none;
|
||||||
|
border-radius: 4px;
|
||||||
|
margin: 10px 5px;
|
||||||
|
}
|
||||||
|
.download-btn:hover { background-color: #45a049; }
|
||||||
|
.platform { margin-bottom: 30px; }
|
||||||
|
</style>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<h1>LuckyRobots Game - ${{ env.RELEASE_TAG }}</h1>
|
||||||
|
<p>Build #${{ github.run_number }} - Built from commit: ${{ github.sha }}</p>
|
||||||
|
|
||||||
|
<div class="platform">
|
||||||
|
<h2>Windows</h2>
|
||||||
|
<p><a href="https://luckyrobots.com/luckyrobots/luckyworld/actions/runs/${{ github.run_id }}/artifacts/LuckyRobots-Windows" class="download-btn">Download Windows Build</a></p>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="platform">
|
||||||
|
<h2>Linux</h2>
|
||||||
|
<p><a href="https://luckyrobots.com/luckyrobots/luckyworld/actions/runs/${{ github.run_id }}/artifacts/LuckyRobots-Linux" class="download-btn">Download Linux Build</a></p>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<footer>
|
||||||
|
<p>Generated on '$(date -u +"%Y-%m-%d %H:%M:%S UTC")'</p>
|
||||||
|
</footer>
|
||||||
|
</body>
|
||||||
|
</html>' > PackagedReleases/downloads.html
|
||||||
|
|
||||||
|
- name: Create Release
|
||||||
|
uses: https://gitea.com/actions/gitea-release-action@main
|
||||||
|
with:
|
||||||
|
files: |-
|
||||||
|
PackagedReleases/build-info.json
|
||||||
|
PackagedReleases/downloads.html
|
||||||
|
token: '${{ secrets.GITEA_TOKEN }}'
|
||||||
|
title: 'Release ${{ env.RELEASE_TAG }}'
|
||||||
|
body: |
|
||||||
|
## LuckyRobots Game Release ${{ env.RELEASE_TAG }}
|
||||||
|
|
||||||
|
### Download Links
|
||||||
|
|
||||||
|
Download builds from our CI artifacts:
|
||||||
|
|
||||||
|
- [Windows Build](https://luckyrobots.com/luckyrobots/luckyworld/actions/runs/${{ github.run_id }}/artifacts/LuckyRobots-Windows)
|
||||||
|
- [Linux Build](https://luckyrobots.com/luckyrobots/luckyworld/actions/runs/${{ github.run_id }}/artifacts/LuckyRobots-Linux)
|
||||||
|
|
||||||
|
### Build Information
|
||||||
|
|
||||||
|
- Build Number: #${{ github.run_number }}
|
||||||
|
- Commit: ${{ github.sha }}
|
||||||
|
- Branch: ${{ github.ref_name }}
|
||||||
|
- Build Date: $(date -u +"%Y-%m-%d %H:%M:%S UTC")
|
||||||
|
prerelease: ${{ github.ref != 'refs/heads/main' }}
|
||||||
|
tag_name: '${{ env.RELEASE_TAG }}'
|
||||||
|
|
||||||
|
macos-build:
|
||||||
|
runs-on: macos
|
||||||
|
if: github.ref == 'refs/heads/main' || github.ref == 'refs/heads/develop'
|
||||||
|
steps:
|
||||||
|
- name: Checkout repository
|
||||||
|
uses: actions/checkout@v3
|
||||||
|
with:
|
||||||
|
lfs: true
|
||||||
|
fetch-depth: 0
|
||||||
|
|
||||||
|
- name: Get Release Tag
|
||||||
|
run: |
|
||||||
|
# Fetch all tags
|
||||||
|
git fetch --tags
|
||||||
|
|
||||||
|
# Get the latest version tag
|
||||||
|
LATEST_TAG=$(git tag -l "v[0-9]*.[0-9]*.[0-9]*" | sort -V | tail -n1)
|
||||||
|
|
||||||
|
if [ -z "$LATEST_TAG" ]; then
|
||||||
|
NEW_VERSION="1.0.0"
|
||||||
|
else
|
||||||
|
VERSION=${LATEST_TAG#v}
|
||||||
|
MAJOR=$(echo $VERSION | cut -d. -f1)
|
||||||
|
MINOR=$(echo $VERSION | cut -d. -f2)
|
||||||
|
PATCH=$(echo $VERSION | cut -d. -f3)
|
||||||
|
PATCH=$((PATCH + 1))
|
||||||
|
NEW_VERSION="${MAJOR}.${MINOR}.${PATCH}"
|
||||||
|
fi
|
||||||
|
|
||||||
|
TAG="v${NEW_VERSION}"
|
||||||
|
echo "RELEASE_TAG=$TAG" >> $GITHUB_ENV
|
||||||
|
echo "Using release tag: $TAG"
|
||||||
|
|
||||||
- name: Setup Unreal Engine
|
- name: Setup Unreal Engine
|
||||||
run: |
|
run: |
|
||||||
# Use the correct path where Unreal Engine is installed
|
# Use the correct path where Unreal Engine is installed
|
||||||
@ -75,58 +271,79 @@ jobs:
|
|||||||
chmod +x ./mac_build.sh
|
chmod +x ./mac_build.sh
|
||||||
./mac_build.sh
|
./mac_build.sh
|
||||||
|
|
||||||
- name: Upload build artifacts
|
- name: Prepare Mac release
|
||||||
uses: actions/upload-artifact@v3
|
|
||||||
with:
|
|
||||||
name: macos-build
|
|
||||||
path: Builds/
|
|
||||||
retention-days: 7
|
|
||||||
|
|
||||||
- name: Create Tag
|
|
||||||
if: github.ref == 'refs/heads/main' || github.ref == 'refs/heads/develop'
|
|
||||||
run: |
|
run: |
|
||||||
# Set tag name
|
echo "Preparing packaged files for release..."
|
||||||
TAG="v${{ github.run_number }}"
|
|
||||||
echo "Creating git tag: $TAG"
|
|
||||||
|
|
||||||
# Configure git
|
# Create a directory for release files
|
||||||
git config --global user.email "actions@gitea.com"
|
mkdir -p PackagedReleases
|
||||||
git config --global user.name "Gitea Actions"
|
|
||||||
|
|
||||||
# Check if tag already exists
|
# Debug: Show what we're packaging
|
||||||
if git rev-parse "$TAG" >/dev/null 2>&1; then
|
echo "=== Packaging for Release ==="
|
||||||
echo "Tag $TAG already exists"
|
echo "Build directory contents:"
|
||||||
|
ls -la Builds/
|
||||||
|
|
||||||
|
# Find the app bundle in the Builds directory
|
||||||
|
APP_PATH=$(find Builds -type d -name "*.app" | head -1)
|
||||||
|
|
||||||
|
if [ -n "$APP_PATH" ]; then
|
||||||
|
echo "Found app bundle: $APP_PATH"
|
||||||
|
# Get the app name
|
||||||
|
APP_NAME=$(basename "$APP_PATH")
|
||||||
|
# Create zip file of the app bundle
|
||||||
|
(cd $(dirname "$APP_PATH") && zip -r "../../PackagedReleases/${APP_NAME%.app}-macOS.zip" "$APP_NAME")
|
||||||
|
echo "Created packaged release: PackagedReleases/${APP_NAME%.app}-macOS.zip"
|
||||||
else
|
else
|
||||||
echo "Creating new tag $TAG"
|
echo "No .app bundle found in Builds directory"
|
||||||
git tag -a "$TAG" -m "Release $TAG"
|
|
||||||
# Push the tag explicitly
|
# Look for a directory that might be a bundle but not named .app
|
||||||
git push origin "$TAG"
|
MAIN_BUILD_DIR=$(find Builds -mindepth 1 -maxdepth 1 -type d | head -1)
|
||||||
|
if [ -n "$MAIN_BUILD_DIR" ]; then
|
||||||
|
echo "Found main build directory: $MAIN_BUILD_DIR"
|
||||||
|
DIR_NAME=$(basename "$MAIN_BUILD_DIR")
|
||||||
|
# Package this directory as if it were the app
|
||||||
|
(cd $(dirname "$MAIN_BUILD_DIR") && zip -r "../../PackagedReleases/${DIR_NAME}-macOS.zip" "$DIR_NAME")
|
||||||
|
echo "Created packaged release from main directory: PackagedReleases/${DIR_NAME}-macOS.zip"
|
||||||
|
else
|
||||||
|
# Package the entire Builds directory as a fallback
|
||||||
|
echo "No main directory found, packaging everything"
|
||||||
|
zip -r "PackagedReleases/LuckyRobots-macOS.zip" Builds
|
||||||
|
echo "Created fallback package: PackagedReleases/LuckyRobots-macOS.zip"
|
||||||
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Verify tag exists
|
echo "Packaged releases:"
|
||||||
git fetch --tags
|
ls -la PackagedReleases/
|
||||||
echo "Checking out tag: $TAG"
|
|
||||||
git checkout "$TAG" || (echo "Failed to checkout tag" && exit 1)
|
|
||||||
|
|
||||||
# Verify we are on the tag, not on a branch
|
|
||||||
CURRENT_REF=$(git symbolic-ref -q HEAD || git rev-parse HEAD)
|
|
||||||
echo "Current ref: $CURRENT_REF"
|
|
||||||
if [[ "$CURRENT_REF" == *"refs/heads/"* ]]; then
|
|
||||||
echo "ERROR: Still on a branch, not on the tag"
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Export tag name for later steps
|
|
||||||
echo "RELEASE_TAG=$TAG" >> $GITHUB_ENV
|
|
||||||
|
|
||||||
- name: Create Release
|
- name: Upload macOS Build Artifact
|
||||||
if: github.ref == 'refs/heads/main' || github.ref == 'refs/heads/develop'
|
uses: actions/upload-artifact@v3
|
||||||
uses: https://gitea.com/actions/release-action@main
|
if: success()
|
||||||
with:
|
with:
|
||||||
files: |-
|
name: LuckyRobots-macOS
|
||||||
Builds/**
|
path: PackagedReleases/*-macOS.zip
|
||||||
api_key: '${{ secrets.GITEA_TOKEN }}'
|
retention-days: 365
|
||||||
title: 'Release ${{ env.RELEASE_TAG }}'
|
|
||||||
body: 'Automated release from CI build #${{ github.run_number }}'
|
- name: Create Release Note
|
||||||
prerelease: ${{ github.ref != 'refs/heads/main' }}
|
run: |
|
||||||
tag_name: '${{ env.RELEASE_TAG }}'
|
echo "## macOS Build Completed" > release-note.md
|
||||||
|
echo "" >> release-note.md
|
||||||
|
echo "macOS build is available as an artifact." >> release-note.md
|
||||||
|
echo "" >> release-note.md
|
||||||
|
echo "Download from: [macOS Build](https://luckyrobots.com/luckyrobots/luckyworld/actions/runs/${{ github.run_id }}/artifacts/LuckyRobots-macOS)" >> release-note.md
|
||||||
|
|
||||||
|
- name: Create Gitea Release
|
||||||
|
if: github.ref == 'refs/heads/main' || github.ref == 'refs/heads/develop'
|
||||||
|
uses: https://gitea.com/actions/gitea-release-action@main
|
||||||
|
with:
|
||||||
|
token: ${{ secrets.GITEATOKEN }}
|
||||||
|
tag_name: ${{ env.RELEASE_TAG }}
|
||||||
|
title: "Release ${{ env.RELEASE_TAG }} - macOS"
|
||||||
|
body: |
|
||||||
|
## macOS Build Available as Artifact
|
||||||
|
|
||||||
|
The macOS build is available as an artifact due to its large file size.
|
||||||
|
|
||||||
|
[Download macOS Build](https://luckyrobots.com/luckyrobots/luckyworld/actions/runs/${{ github.run_id }}/artifacts/LuckyRobots-macOS)
|
||||||
|
|
||||||
|
Built from commit: ${{ github.sha }}
|
||||||
|
files: release-note.md
|
@ -21,150 +21,6 @@
|
|||||||
"BuildId": "37670630"
|
"BuildId": "37670630"
|
||||||
},
|
},
|
||||||
"BuildProducts": [
|
"BuildProducts": [
|
||||||
{
|
|
||||||
"Path": "$(ProjectDir)/Binaries/Win64/UnrealEditor-Luckyrobots.dll",
|
|
||||||
"Type": "DynamicLibrary"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"Path": "$(ProjectDir)/Binaries/Win64/UnrealEditor-Luckyrobots.pdb",
|
|
||||||
"Type": "SymbolFile"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"Path": "$(ProjectDir)/Binaries/Win64/UnrealEditor.modules",
|
|
||||||
"Type": "RequiredResource"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"Path": "$(ProjectDir)/Plugins/AsyncLoadingScreen/Binaries/Win64/UnrealEditor-AsyncLoadingScreen.dll",
|
|
||||||
"Type": "DynamicLibrary"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"Path": "$(ProjectDir)/Plugins/AsyncLoadingScreen/Binaries/Win64/UnrealEditor-AsyncLoadingScreen.pdb",
|
|
||||||
"Type": "SymbolFile"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"Path": "$(ProjectDir)/Plugins/AsyncLoadingScreen/Binaries/Win64/UnrealEditor.modules",
|
|
||||||
"Type": "RequiredResource"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"Path": "$(ProjectDir)/Plugins/BlueprintJson/Binaries/Win64/UnrealEditor-BlueprintJson.dll",
|
|
||||||
"Type": "DynamicLibrary"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"Path": "$(ProjectDir)/Plugins/BlueprintJson/Binaries/Win64/UnrealEditor-BlueprintJson.pdb",
|
|
||||||
"Type": "SymbolFile"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"Path": "$(ProjectDir)/Plugins/BlueprintJson/Binaries/Win64/UnrealEditor.modules",
|
|
||||||
"Type": "RequiredResource"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"Path": "$(ProjectDir)/Plugins/FileHelperPlugin/Binaries/Win64/UnrealEditor-FileHelper.dll",
|
|
||||||
"Type": "DynamicLibrary"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"Path": "$(ProjectDir)/Plugins/FileHelperPlugin/Binaries/Win64/UnrealEditor-FileHelper.pdb",
|
|
||||||
"Type": "SymbolFile"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"Path": "$(ProjectDir)/Plugins/FileHelperPlugin/Binaries/Win64/UnrealEditor.modules",
|
|
||||||
"Type": "RequiredResource"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"Path": "$(ProjectDir)/Plugins/LuckyMujoco/Binaries/Win64/UnrealEditor-LuckyMujoco.dll",
|
|
||||||
"Type": "DynamicLibrary"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"Path": "$(ProjectDir)/Plugins/LuckyMujoco/Binaries/Win64/UnrealEditor-LuckyMujoco.pdb",
|
|
||||||
"Type": "SymbolFile"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"Path": "$(ProjectDir)/Plugins/LuckyMujoco/Binaries/Win64/UnrealEditor-LuckyMujocoEditor.dll",
|
|
||||||
"Type": "DynamicLibrary"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"Path": "$(ProjectDir)/Plugins/LuckyMujoco/Binaries/Win64/UnrealEditor-LuckyMujocoEditor.pdb",
|
|
||||||
"Type": "SymbolFile"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"Path": "$(ProjectDir)/Plugins/LuckyMujoco/Binaries/Win64/UnrealEditor.modules",
|
|
||||||
"Type": "RequiredResource"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"Path": "$(ProjectDir)/Plugins/LuckyTextWrite/Binaries/Win64/UnrealEditor-LuckyTextWrite.dll",
|
|
||||||
"Type": "DynamicLibrary"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"Path": "$(ProjectDir)/Plugins/LuckyTextWrite/Binaries/Win64/UnrealEditor-LuckyTextWrite.pdb",
|
|
||||||
"Type": "SymbolFile"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"Path": "$(ProjectDir)/Plugins/LuckyTextWrite/Binaries/Win64/UnrealEditor.modules",
|
|
||||||
"Type": "RequiredResource"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"Path": "$(ProjectDir)/Plugins/SocketIOClient/Binaries/Win64/UnrealEditor-CoreUtility.dll",
|
|
||||||
"Type": "DynamicLibrary"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"Path": "$(ProjectDir)/Plugins/SocketIOClient/Binaries/Win64/UnrealEditor-CoreUtility.pdb",
|
|
||||||
"Type": "SymbolFile"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"Path": "$(ProjectDir)/Plugins/SocketIOClient/Binaries/Win64/UnrealEditor-SIOJEditorPlugin.dll",
|
|
||||||
"Type": "DynamicLibrary"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"Path": "$(ProjectDir)/Plugins/SocketIOClient/Binaries/Win64/UnrealEditor-SIOJEditorPlugin.pdb",
|
|
||||||
"Type": "SymbolFile"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"Path": "$(ProjectDir)/Plugins/SocketIOClient/Binaries/Win64/UnrealEditor-SIOJson.dll",
|
|
||||||
"Type": "DynamicLibrary"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"Path": "$(ProjectDir)/Plugins/SocketIOClient/Binaries/Win64/UnrealEditor-SIOJson.pdb",
|
|
||||||
"Type": "SymbolFile"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"Path": "$(ProjectDir)/Plugins/SocketIOClient/Binaries/Win64/UnrealEditor-SocketIOClient.dll",
|
|
||||||
"Type": "DynamicLibrary"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"Path": "$(ProjectDir)/Plugins/SocketIOClient/Binaries/Win64/UnrealEditor-SocketIOClient.pdb",
|
|
||||||
"Type": "SymbolFile"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"Path": "$(ProjectDir)/Plugins/SocketIOClient/Binaries/Win64/UnrealEditor-SocketIOLib.dll",
|
|
||||||
"Type": "DynamicLibrary"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"Path": "$(ProjectDir)/Plugins/SocketIOClient/Binaries/Win64/UnrealEditor-SocketIOLib.pdb",
|
|
||||||
"Type": "SymbolFile"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"Path": "$(ProjectDir)/Plugins/SocketIOClient/Binaries/Win64/UnrealEditor.modules",
|
|
||||||
"Type": "RequiredResource"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"Path": "$(ProjectDir)/Plugins/VaRestPlugin/Binaries/Win64/UnrealEditor-VaRest.dll",
|
|
||||||
"Type": "DynamicLibrary"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"Path": "$(ProjectDir)/Plugins/VaRestPlugin/Binaries/Win64/UnrealEditor-VaRest.pdb",
|
|
||||||
"Type": "SymbolFile"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"Path": "$(ProjectDir)/Plugins/VaRestPlugin/Binaries/Win64/UnrealEditor-VaRestEditor.dll",
|
|
||||||
"Type": "DynamicLibrary"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"Path": "$(ProjectDir)/Plugins/VaRestPlugin/Binaries/Win64/UnrealEditor-VaRestEditor.pdb",
|
|
||||||
"Type": "SymbolFile"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"Path": "$(ProjectDir)/Plugins/VaRestPlugin/Binaries/Win64/UnrealEditor.modules",
|
|
||||||
"Type": "RequiredResource"
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"Path": "$(EngineDir)/Binaries/ThirdParty/USD/UsdResources/Win64/plugins/ar/resources/plugInfo.json",
|
"Path": "$(EngineDir)/Binaries/ThirdParty/USD/UsdResources/Win64/plugins/ar/resources/plugInfo.json",
|
||||||
"Type": "RequiredResource"
|
"Type": "RequiredResource"
|
||||||
@ -713,6 +569,38 @@
|
|||||||
"Path": "$(EngineDir)/Binaries/Win64/EOSSDK-Win64-Shipping.dll",
|
"Path": "$(EngineDir)/Binaries/Win64/EOSSDK-Win64-Shipping.dll",
|
||||||
"Type": "DynamicLibrary"
|
"Type": "DynamicLibrary"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"Path": "$(EngineDir)/Binaries/Win64/LinuxArm64/UnrealEditor-LinuxArm64TargetPlatform.dll",
|
||||||
|
"Type": "DynamicLibrary"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Path": "$(EngineDir)/Binaries/Win64/LinuxArm64/UnrealEditor-LinuxArm64TargetPlatformControls.dll",
|
||||||
|
"Type": "DynamicLibrary"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Path": "$(EngineDir)/Binaries/Win64/LinuxArm64/UnrealEditor-LinuxArm64TargetPlatformSettings.dll",
|
||||||
|
"Type": "DynamicLibrary"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Path": "$(EngineDir)/Binaries/Win64/LinuxArm64/UnrealEditor.modules",
|
||||||
|
"Type": "RequiredResource"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Path": "$(EngineDir)/Binaries/Win64/Linux/UnrealEditor-LinuxTargetPlatform.dll",
|
||||||
|
"Type": "DynamicLibrary"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Path": "$(EngineDir)/Binaries/Win64/Linux/UnrealEditor-LinuxTargetPlatformControls.dll",
|
||||||
|
"Type": "DynamicLibrary"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Path": "$(EngineDir)/Binaries/Win64/Linux/UnrealEditor-LinuxTargetPlatformSettings.dll",
|
||||||
|
"Type": "DynamicLibrary"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Path": "$(EngineDir)/Binaries/Win64/Linux/UnrealEditor.modules",
|
||||||
|
"Type": "RequiredResource"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"Path": "$(EngineDir)/Binaries/Win64/NNEEditorOnnxTools.dll",
|
"Path": "$(EngineDir)/Binaries/Win64/NNEEditorOnnxTools.dll",
|
||||||
"Type": "DynamicLibrary"
|
"Type": "DynamicLibrary"
|
||||||
@ -4996,7 +4884,6 @@
|
|||||||
{
|
{
|
||||||
"Path": "$(EngineDir)/Plugins/XGEController/Binaries/Win64/UnrealEditor.modules",
|
"Path": "$(EngineDir)/Plugins/XGEController/Binaries/Win64/UnrealEditor.modules",
|
||||||
"Type": "RequiredResource"
|
"Type": "RequiredResource"
|
||||||
<<<<<<< HEAD
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"Path": "$(ProjectDir)/Binaries/Win64/UnrealEditor-Luckyrobots.dll",
|
"Path": "$(ProjectDir)/Binaries/Win64/UnrealEditor-Luckyrobots.dll",
|
||||||
@ -5141,47 +5028,10 @@
|
|||||||
{
|
{
|
||||||
"Path": "$(ProjectDir)/Plugins/VaRestPlugin/Binaries/Win64/UnrealEditor.modules",
|
"Path": "$(ProjectDir)/Plugins/VaRestPlugin/Binaries/Win64/UnrealEditor.modules",
|
||||||
"Type": "RequiredResource"
|
"Type": "RequiredResource"
|
||||||
=======
|
|
||||||
>>>>>>> origin/Erdinc_Branch
|
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"RuntimeDependencies": [
|
"RuntimeDependencies": [
|
||||||
{
|
{
|
||||||
<<<<<<< HEAD
|
|
||||||
=======
|
|
||||||
"Path": "$(ProjectDir)/Luckyrobots.uproject",
|
|
||||||
"Type": "UFS"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"Path": "$(ProjectDir)/Plugins/AsyncLoadingScreen/AsyncLoadingScreen.uplugin",
|
|
||||||
"Type": "UFS"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"Path": "$(ProjectDir)/Plugins/BlueprintJson/BlueprintJson.uplugin",
|
|
||||||
"Type": "UFS"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"Path": "$(ProjectDir)/Plugins/FileHelperPlugin/FileHelper.uplugin",
|
|
||||||
"Type": "UFS"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"Path": "$(ProjectDir)/Plugins/LuckyMujoco/LuckyMujoco.uplugin",
|
|
||||||
"Type": "UFS"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"Path": "$(ProjectDir)/Plugins/LuckyTextWrite/LuckyTextWrite.uplugin",
|
|
||||||
"Type": "UFS"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"Path": "$(ProjectDir)/Plugins/SocketIOClient/SocketIOClient.uplugin",
|
|
||||||
"Type": "UFS"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"Path": "$(ProjectDir)/Plugins/VaRestPlugin/VaRest.uplugin",
|
|
||||||
"Type": "UFS"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
>>>>>>> origin/Erdinc_Branch
|
|
||||||
"Path": "$(EngineDir)/Binaries/ThirdParty/DbgHelp/dbghelp.dll",
|
"Path": "$(EngineDir)/Binaries/ThirdParty/DbgHelp/dbghelp.dll",
|
||||||
"Type": "NonUFS"
|
"Type": "NonUFS"
|
||||||
},
|
},
|
||||||
@ -30924,7 +30774,6 @@
|
|||||||
{
|
{
|
||||||
"Path": "$(EngineDir)/Plugins/XGEController/XGEController.uplugin",
|
"Path": "$(EngineDir)/Plugins/XGEController/XGEController.uplugin",
|
||||||
"Type": "UFS"
|
"Type": "UFS"
|
||||||
<<<<<<< HEAD
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"Path": "$(ProjectDir)/Luckyrobots.uproject",
|
"Path": "$(ProjectDir)/Luckyrobots.uproject",
|
||||||
@ -30957,8 +30806,6 @@
|
|||||||
{
|
{
|
||||||
"Path": "$(ProjectDir)/Plugins/VaRestPlugin/VaRest.uplugin",
|
"Path": "$(ProjectDir)/Plugins/VaRestPlugin/VaRest.uplugin",
|
||||||
"Type": "UFS"
|
"Type": "UFS"
|
||||||
=======
|
|
||||||
>>>>>>> origin/Erdinc_Branch
|
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"BuildPlugins": [
|
"BuildPlugins": [
|
||||||
|
BIN
Binaries/Win64/UnrealEditor-Luckyrobots.dll
(Stored with Git LFS)
BIN
Binaries/Win64/UnrealEditor-Luckyrobots.dll
(Stored with Git LFS)
Binary file not shown.
Binary file not shown.
BIN
Binaries/Win64/UnrealEditor-Luckyrobots.pdb
(Stored with Git LFS)
BIN
Binaries/Win64/UnrealEditor-Luckyrobots.pdb
(Stored with Git LFS)
Binary file not shown.
BIN
Builds/Windows/Luckyrobots/Binaries/Win64/tbbmalloc.pdb
(Stored with Git LFS)
Normal file
BIN
Builds/Windows/Luckyrobots/Binaries/Win64/tbbmalloc.pdb
(Stored with Git LFS)
Normal file
Binary file not shown.
BIN
Plugins/AsyncLoadingScreen/Binaries/Win64/UnrealEditor-AsyncLoadingScreen.dll
(Stored with Git LFS)
BIN
Plugins/AsyncLoadingScreen/Binaries/Win64/UnrealEditor-AsyncLoadingScreen.dll
(Stored with Git LFS)
Binary file not shown.
Binary file not shown.
BIN
Plugins/AsyncLoadingScreen/Binaries/Win64/UnrealEditor-AsyncLoadingScreen.pdb
(Stored with Git LFS)
BIN
Plugins/AsyncLoadingScreen/Binaries/Win64/UnrealEditor-AsyncLoadingScreen.pdb
(Stored with Git LFS)
Binary file not shown.
BIN
Plugins/BlueprintJson/Binaries/Win64/UnrealEditor-BlueprintJson.dll
(Stored with Git LFS)
BIN
Plugins/BlueprintJson/Binaries/Win64/UnrealEditor-BlueprintJson.dll
(Stored with Git LFS)
Binary file not shown.
Binary file not shown.
BIN
Plugins/BlueprintJson/Binaries/Win64/UnrealEditor-BlueprintJson.pdb
(Stored with Git LFS)
BIN
Plugins/BlueprintJson/Binaries/Win64/UnrealEditor-BlueprintJson.pdb
(Stored with Git LFS)
Binary file not shown.
BIN
Plugins/FileHelperPlugin/Binaries/Win64/UnrealEditor-FileHelper.dll
(Stored with Git LFS)
BIN
Plugins/FileHelperPlugin/Binaries/Win64/UnrealEditor-FileHelper.dll
(Stored with Git LFS)
Binary file not shown.
Binary file not shown.
BIN
Plugins/FileHelperPlugin/Binaries/Win64/UnrealEditor-FileHelper.pdb
(Stored with Git LFS)
BIN
Plugins/FileHelperPlugin/Binaries/Win64/UnrealEditor-FileHelper.pdb
(Stored with Git LFS)
Binary file not shown.
BIN
Plugins/LuckyMujoco/Binaries/Win64/UnrealEditor-LuckyMujoco.dll
(Stored with Git LFS)
BIN
Plugins/LuckyMujoco/Binaries/Win64/UnrealEditor-LuckyMujoco.dll
(Stored with Git LFS)
Binary file not shown.
Binary file not shown.
BIN
Plugins/LuckyMujoco/Binaries/Win64/UnrealEditor-LuckyMujoco.pdb
(Stored with Git LFS)
BIN
Plugins/LuckyMujoco/Binaries/Win64/UnrealEditor-LuckyMujoco.pdb
(Stored with Git LFS)
Binary file not shown.
BIN
Plugins/LuckyMujoco/Binaries/Win64/UnrealEditor-LuckyMujocoEditor.dll
(Stored with Git LFS)
BIN
Plugins/LuckyMujoco/Binaries/Win64/UnrealEditor-LuckyMujocoEditor.dll
(Stored with Git LFS)
Binary file not shown.
Binary file not shown.
BIN
Plugins/LuckyMujoco/Binaries/Win64/UnrealEditor-LuckyMujocoEditor.pdb
(Stored with Git LFS)
BIN
Plugins/LuckyMujoco/Binaries/Win64/UnrealEditor-LuckyMujocoEditor.pdb
(Stored with Git LFS)
Binary file not shown.
BIN
Plugins/LuckyTextWrite/Binaries/Win64/UnrealEditor-LuckyTextWrite.dll
(Stored with Git LFS)
BIN
Plugins/LuckyTextWrite/Binaries/Win64/UnrealEditor-LuckyTextWrite.dll
(Stored with Git LFS)
Binary file not shown.
Binary file not shown.
BIN
Plugins/LuckyTextWrite/Binaries/Win64/UnrealEditor-LuckyTextWrite.pdb
(Stored with Git LFS)
BIN
Plugins/LuckyTextWrite/Binaries/Win64/UnrealEditor-LuckyTextWrite.pdb
(Stored with Git LFS)
Binary file not shown.
BIN
Plugins/SocketIOClient/Binaries/Win64/UnrealEditor-CoreUtility.dll
(Stored with Git LFS)
BIN
Plugins/SocketIOClient/Binaries/Win64/UnrealEditor-CoreUtility.dll
(Stored with Git LFS)
Binary file not shown.
Binary file not shown.
BIN
Plugins/SocketIOClient/Binaries/Win64/UnrealEditor-CoreUtility.pdb
(Stored with Git LFS)
BIN
Plugins/SocketIOClient/Binaries/Win64/UnrealEditor-CoreUtility.pdb
(Stored with Git LFS)
Binary file not shown.
BIN
Plugins/SocketIOClient/Binaries/Win64/UnrealEditor-SIOJEditorPlugin.dll
(Stored with Git LFS)
BIN
Plugins/SocketIOClient/Binaries/Win64/UnrealEditor-SIOJEditorPlugin.dll
(Stored with Git LFS)
Binary file not shown.
Binary file not shown.
BIN
Plugins/SocketIOClient/Binaries/Win64/UnrealEditor-SIOJEditorPlugin.pdb
(Stored with Git LFS)
BIN
Plugins/SocketIOClient/Binaries/Win64/UnrealEditor-SIOJEditorPlugin.pdb
(Stored with Git LFS)
Binary file not shown.
BIN
Plugins/SocketIOClient/Binaries/Win64/UnrealEditor-SIOJson.dll
(Stored with Git LFS)
BIN
Plugins/SocketIOClient/Binaries/Win64/UnrealEditor-SIOJson.dll
(Stored with Git LFS)
Binary file not shown.
Binary file not shown.
BIN
Plugins/SocketIOClient/Binaries/Win64/UnrealEditor-SIOJson.pdb
(Stored with Git LFS)
BIN
Plugins/SocketIOClient/Binaries/Win64/UnrealEditor-SIOJson.pdb
(Stored with Git LFS)
Binary file not shown.
BIN
Plugins/SocketIOClient/Binaries/Win64/UnrealEditor-SocketIOClient.dll
(Stored with Git LFS)
BIN
Plugins/SocketIOClient/Binaries/Win64/UnrealEditor-SocketIOClient.dll
(Stored with Git LFS)
Binary file not shown.
Binary file not shown.
BIN
Plugins/SocketIOClient/Binaries/Win64/UnrealEditor-SocketIOClient.pdb
(Stored with Git LFS)
BIN
Plugins/SocketIOClient/Binaries/Win64/UnrealEditor-SocketIOClient.pdb
(Stored with Git LFS)
Binary file not shown.
BIN
Plugins/SocketIOClient/Binaries/Win64/UnrealEditor-SocketIOLib.dll
(Stored with Git LFS)
BIN
Plugins/SocketIOClient/Binaries/Win64/UnrealEditor-SocketIOLib.dll
(Stored with Git LFS)
Binary file not shown.
Binary file not shown.
BIN
Plugins/SocketIOClient/Binaries/Win64/UnrealEditor-SocketIOLib.pdb
(Stored with Git LFS)
BIN
Plugins/SocketIOClient/Binaries/Win64/UnrealEditor-SocketIOLib.pdb
(Stored with Git LFS)
Binary file not shown.
BIN
Plugins/VaRestPlugin/Binaries/Win64/UnrealEditor-VaRest.dll
(Stored with Git LFS)
BIN
Plugins/VaRestPlugin/Binaries/Win64/UnrealEditor-VaRest.dll
(Stored with Git LFS)
Binary file not shown.
Binary file not shown.
BIN
Plugins/VaRestPlugin/Binaries/Win64/UnrealEditor-VaRest.pdb
(Stored with Git LFS)
BIN
Plugins/VaRestPlugin/Binaries/Win64/UnrealEditor-VaRest.pdb
(Stored with Git LFS)
Binary file not shown.
BIN
Plugins/VaRestPlugin/Binaries/Win64/UnrealEditor-VaRestEditor.dll
(Stored with Git LFS)
BIN
Plugins/VaRestPlugin/Binaries/Win64/UnrealEditor-VaRestEditor.dll
(Stored with Git LFS)
Binary file not shown.
Binary file not shown.
BIN
Plugins/VaRestPlugin/Binaries/Win64/UnrealEditor-VaRestEditor.pdb
(Stored with Git LFS)
BIN
Plugins/VaRestPlugin/Binaries/Win64/UnrealEditor-VaRestEditor.pdb
(Stored with Git LFS)
Binary file not shown.
93
linux_build.sh
Normal file
93
linux_build.sh
Normal file
@ -0,0 +1,93 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
set -e
|
||||||
|
|
||||||
|
echo "======================= Linux Build Script ======================="
|
||||||
|
echo "Running on OS: $OSTYPE"
|
||||||
|
|
||||||
|
# Optional: Check for a Gitea runner-specific environment variable.
|
||||||
|
if [ -z "$GITEA_RUNNER" ]; then
|
||||||
|
echo "Warning: This script does not appear to be running in a Gitea runner environment."
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Get the user's home directory
|
||||||
|
USER_HOME="$HOME"
|
||||||
|
|
||||||
|
# Detect operating system
|
||||||
|
if [[ "$OSTYPE" == "msys" || "$OSTYPE" == "cygwin" || "$OSTYPE" == "win32" ]]; then
|
||||||
|
echo "Running on Windows - cross-compiling for Linux"
|
||||||
|
IS_WINDOWS=1
|
||||||
|
|
||||||
|
# Set up Unreal Engine paths for Windows (but targeting Linux)
|
||||||
|
UE_ROOT="E:/Games/UE_5.5"
|
||||||
|
UE_EDITOR="$UE_ROOT/Engine/Binaries/Win64/UnrealEditor.exe"
|
||||||
|
UE_UAT="$UE_ROOT/Engine/Build/BatchFiles/RunUAT.bat"
|
||||||
|
|
||||||
|
# Set the Linux toolchain path - this is where it was installed by Chocolatey
|
||||||
|
TOOLCHAIN_PATH="/c/UnrealToolchains/v23_clang-18.1.0-rockylinux8"
|
||||||
|
|
||||||
|
if [ -d "$TOOLCHAIN_PATH" ]; then
|
||||||
|
export LINUX_MULTIARCH_ROOT="$TOOLCHAIN_PATH"
|
||||||
|
echo "Using Linux toolchain at: $LINUX_MULTIARCH_ROOT"
|
||||||
|
else
|
||||||
|
echo "ERROR: Linux toolchain not found at $TOOLCHAIN_PATH!"
|
||||||
|
echo "Please verify the toolchain installation path."
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
echo "Running on Linux - native compilation"
|
||||||
|
IS_WINDOWS=0
|
||||||
|
|
||||||
|
# Set up Unreal Engine paths for Linux
|
||||||
|
UE_ROOT="/home/runner/UnrealEngine/UE_5.5"
|
||||||
|
UE_EDITOR="$UE_ROOT/Engine/Binaries/Linux/UnrealEditor"
|
||||||
|
UE_UAT="$UE_ROOT/Engine/Build/BatchFiles/RunUAT.sh"
|
||||||
|
|
||||||
|
# Make sure the UAT script is executable (only needed on Linux)
|
||||||
|
chmod +x "$UE_UAT"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Set up project paths based on the current working directory
|
||||||
|
PROJECT_ROOT="$(pwd)"
|
||||||
|
PROJECT_FILE="$PROJECT_ROOT/Luckyrobots.uproject"
|
||||||
|
ARCHIVE_DIR="$PROJECT_ROOT/Builds/Linux"
|
||||||
|
|
||||||
|
# Create the archive directory if it does not exist
|
||||||
|
mkdir -p "$ARCHIVE_DIR"
|
||||||
|
|
||||||
|
echo "Starting Linux build of Luckyrobots..."
|
||||||
|
echo "Linux toolchain path: $LINUX_MULTIARCH_ROOT"
|
||||||
|
|
||||||
|
# Run the build command using Unreal's Automation Tool (UAT)
|
||||||
|
"$UE_UAT" -ScriptsForProject="$PROJECT_FILE" Turnkey \
|
||||||
|
-command=VerifySdk \
|
||||||
|
-platform=Linux \
|
||||||
|
-UpdateIfNeeded \
|
||||||
|
-EditorIO \
|
||||||
|
-EditorIOPort=59484 \
|
||||||
|
-project="$PROJECT_FILE" \
|
||||||
|
BuildCookRun \
|
||||||
|
-nop4 \
|
||||||
|
-utf8output \
|
||||||
|
-cook \
|
||||||
|
-project="$PROJECT_FILE" \
|
||||||
|
-target=Luckyrobots \
|
||||||
|
-unrealexe="$UE_EDITOR" \
|
||||||
|
-platform=Linux \
|
||||||
|
-installed \
|
||||||
|
-stage \
|
||||||
|
-archive \
|
||||||
|
-package \
|
||||||
|
-build \
|
||||||
|
-iterativecooking \
|
||||||
|
-pak \
|
||||||
|
-iostore \
|
||||||
|
-compressed \
|
||||||
|
-prereqs \
|
||||||
|
-archivedirectory="$ARCHIVE_DIR" \
|
||||||
|
-CrashReporter \
|
||||||
|
-clientconfig=Shipping
|
||||||
|
# Uncomment the following lines if you wish to test the build without pak and iostore:
|
||||||
|
# -skipiostore \
|
||||||
|
# -skippak \
|
||||||
|
|
||||||
|
echo "Linux build completed. Output is in $ARCHIVE_DIR"
|
60
win_build.sh
Normal file
60
win_build.sh
Normal file
@ -0,0 +1,60 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
set -e
|
||||||
|
|
||||||
|
# Optional: Check for a Gitea runner-specific environment variable.
|
||||||
|
# You can set a variable like GITEA_RUNNER in your runner configuration.
|
||||||
|
if [ -z "$GITEA_RUNNER" ]; then
|
||||||
|
echo "Warning: This script does not appear to be running in a Gitea runner environment."
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Get the user's home directory (if needed)
|
||||||
|
USER_HOME="$HOME"
|
||||||
|
|
||||||
|
# Set up Unreal Engine paths for Windows
|
||||||
|
# Adjust the UE_ROOT path if your installation differs.
|
||||||
|
UE_ROOT="E:/Games/UE_5.5/"
|
||||||
|
UE_EDITOR="$UE_ROOT/Engine/Binaries/Win64/UnrealEditor.exe"
|
||||||
|
UE_UAT="$UE_ROOT/Engine/Build/BatchFiles/RunUAT.bat"
|
||||||
|
|
||||||
|
# Set up project paths based on the current working directory
|
||||||
|
PROJECT_ROOT="$(pwd)"
|
||||||
|
PROJECT_FILE="$PROJECT_ROOT/Luckyrobots.uproject"
|
||||||
|
ARCHIVE_DIR="$PROJECT_ROOT/Builds/Windows"
|
||||||
|
|
||||||
|
# Create the archive directory if it does not exist
|
||||||
|
mkdir -p "$ARCHIVE_DIR"
|
||||||
|
|
||||||
|
echo "Starting Windows build of Luckyrobots via Gitea Runner..."
|
||||||
|
|
||||||
|
# Run the build command using Unreal's Automation Tool (UAT)
|
||||||
|
"$UE_UAT" -ScriptsForProject="$PROJECT_FILE" Turnkey \
|
||||||
|
-command=VerifySdk \
|
||||||
|
-platform=Win64 \
|
||||||
|
-UpdateIfNeeded \
|
||||||
|
-EditorIO \
|
||||||
|
-EditorIOPort=59484 \
|
||||||
|
-project="$PROJECT_FILE" \
|
||||||
|
BuildCookRun \
|
||||||
|
-nop4 \
|
||||||
|
-utf8output \
|
||||||
|
-cook \
|
||||||
|
-project="$PROJECT_FILE" \
|
||||||
|
-target=Luckyrobots \
|
||||||
|
-unrealexe="$UE_EDITOR" \
|
||||||
|
-platform=Win64 \
|
||||||
|
-installed \
|
||||||
|
-stage \
|
||||||
|
-archive \
|
||||||
|
-package \
|
||||||
|
-build \
|
||||||
|
-iterativecooking \
|
||||||
|
-pak \
|
||||||
|
-iostore \
|
||||||
|
-compressed \
|
||||||
|
-prereqs \
|
||||||
|
-archivedirectory="$ARCHIVE_DIR" \
|
||||||
|
-CrashReporter \
|
||||||
|
-clientconfig=Shipping
|
||||||
|
# Uncomment the following lines if you wish to test the build without pak and iostore:
|
||||||
|
# -skipiostore \
|
||||||
|
# -skippak
|
Loading…
x
Reference in New Issue
Block a user