Compare commits
27 Commits
dependabot
...
customized
| Author | SHA1 | Date | |
|---|---|---|---|
| e40804a4ae | |||
| 8787924648 | |||
| d212c80f06 | |||
| a90daf08c2 | |||
| bf4cb1830e | |||
| b21a22f4b9 | |||
| 7acb86143e | |||
| 1375e0ceea | |||
| f2e1e915a3 | |||
| 54b45d1604 | |||
| 74eba5fc29 | |||
| e02da0f0dc | |||
| 87aaaee02e | |||
| fa1656ea42 | |||
| 547913c8a4 | |||
| 7358ab696e | |||
| b1d2f4bae9 | |||
| f3f03de589 | |||
| 35e204f812 | |||
| 6466e4168d | |||
| ff388b0aa1 | |||
| f9f4f1aece | |||
| b16e46f1ca | |||
| dbe1dadd20 | |||
| ce5e6a245d | |||
| 7ed0b61676 | |||
| 8c93de89d1 |
116
.gitea/workflows/build-engine.yaml
Normal file
116
.gitea/workflows/build-engine.yaml
Normal file
@ -0,0 +1,116 @@
|
||||
name: Build Godot Engine
|
||||
on:
|
||||
push:
|
||||
branches: [ "customized-moa" ]
|
||||
create:
|
||||
tags:
|
||||
- 'v*'
|
||||
|
||||
jobs:
|
||||
# --- BUILD JOBS (Parallel Matrix) ---
|
||||
build-engine:
|
||||
name: Build ${{ matrix.platform }} ${{ matrix.target }}
|
||||
runs-on: ubuntu-latest
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
include:
|
||||
# Windows (Double Precision)
|
||||
- platform: windows
|
||||
target: editor
|
||||
production: yes
|
||||
artifact_name: godot-windows-editor
|
||||
builder: windows
|
||||
- platform: windows
|
||||
target: template_debug
|
||||
production: no
|
||||
artifact_name: godot-windows-debug
|
||||
builder: windows
|
||||
- platform: windows
|
||||
target: template_release
|
||||
production: yes
|
||||
artifact_name: godot-windows-release
|
||||
builder: windows
|
||||
|
||||
# Linux (Double Precision)
|
||||
- platform: linuxbsd
|
||||
target: editor
|
||||
production: yes
|
||||
artifact_name: godot-linux-editor
|
||||
builder: linux
|
||||
- platform: linuxbsd
|
||||
target: template_debug
|
||||
production: no
|
||||
artifact_name: godot-linux-debug
|
||||
builder: linux
|
||||
- platform: linuxbsd
|
||||
target: template_release
|
||||
production: yes
|
||||
artifact_name: godot-linux-release
|
||||
builder: linux
|
||||
|
||||
steps:
|
||||
- name: Checkout Source
|
||||
uses: actions/checkout@v3
|
||||
with:
|
||||
submodules: recursive
|
||||
|
||||
- name: Make scripts executable
|
||||
run: chmod +x .gitea/workflows/scripts/*.sh
|
||||
|
||||
- name: Compile (${{ matrix.platform }})
|
||||
uses: docker://quay.io/buildah/stable
|
||||
env:
|
||||
# Registry Config
|
||||
REGISTRY: gitea.212.63.210.91.nip.io
|
||||
OWNER: ${{ gitea.repository_owner }}
|
||||
USERNAME: ${{ gitea.actor }}
|
||||
PASSWORD: ${{ secrets.USER_PACKAGE_PASSWORD }}
|
||||
|
||||
# Which builder image to use? (windows or linux)
|
||||
BUILDER_TYPE: ${{ matrix.builder }}
|
||||
IMAGE_TAG: latest
|
||||
|
||||
# SCons Arguments
|
||||
PLATFORM: ${{ matrix.platform }}
|
||||
TARGET: ${{ matrix.target }}
|
||||
PRODUCTION: ${{ matrix.production }}
|
||||
with:
|
||||
entrypoint: /bin/sh
|
||||
args: .gitea/workflows/scripts/build-with-buildah.sh
|
||||
|
||||
- name: Upload Artifacts
|
||||
uses: actions/upload-artifact@v3
|
||||
with:
|
||||
name: ${{ matrix.artifact_name }}
|
||||
# Uploads executables (Windows) and binaries (Linux has no extension)
|
||||
path: bin/godot.*
|
||||
|
||||
# --- PUBLISH JOB (Runs after all builds finish) ---
|
||||
publish:
|
||||
needs: build-engine
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Checkout Source
|
||||
uses: actions/checkout@v3
|
||||
with:
|
||||
submodules: recursive
|
||||
|
||||
- name: Download All Artifacts
|
||||
uses: actions/download-artifact@v3
|
||||
with:
|
||||
path: dist
|
||||
|
||||
- name: Make script executable
|
||||
run: chmod +x .gitea/workflows/scripts/publish.sh
|
||||
|
||||
- name: Package and Publish
|
||||
uses: docker://alpine:latest
|
||||
env:
|
||||
API_URL: https://gitea.212.63.210.91.nip.io/api/packages/${{ gitea.repository_owner }}/generic
|
||||
TOKEN: ${{ secrets.USER_PACKAGE_PASSWORD }}
|
||||
ACTOR: ${{ gitea.actor }}
|
||||
VERSION: ${{ gitea.sha }}
|
||||
with:
|
||||
entrypoint: /bin/sh
|
||||
args: .gitea/workflows/scripts/publish.sh
|
||||
47
.gitea/workflows/scripts/build-with-buildah.sh
Normal file
47
.gitea/workflows/scripts/build-with-buildah.sh
Normal file
@ -0,0 +1,47 @@
|
||||
#!/bin/sh
|
||||
set -e
|
||||
|
||||
# --- Configuration ---
|
||||
FULL_IMAGE_URL="$REGISTRY/$OWNER/godot-builder-$BUILDER_TYPE:$IMAGE_TAG"
|
||||
|
||||
echo "------------------------------------------------"
|
||||
echo "Starting Build for: $PLATFORM / $TARGET"
|
||||
echo "Using Builder: $FULL_IMAGE_URL"
|
||||
echo "------------------------------------------------"
|
||||
|
||||
echo "Logging into registry..."
|
||||
# Note: We use --password-stdin for security so the secret isn't in process list
|
||||
echo "$PASSWORD" | buildah login -u "$USERNAME" --password-stdin --tls-verify=false "$REGISTRY"
|
||||
|
||||
echo "Pulling image and creating working container..."
|
||||
# We capture the Container ID (CTR)
|
||||
CTR=$(buildah from --tls-verify=false "$FULL_IMAGE_URL")
|
||||
|
||||
# 3. Clean up on exit (Trap)
|
||||
cleanup() {
|
||||
echo "Cleaning up container..."
|
||||
buildah rm "$CTR" || true
|
||||
}
|
||||
trap cleanup EXIT
|
||||
|
||||
# 4. Determine SCons Flags based on Platform
|
||||
# Windows needs LLVM/MinGW flags. Linux just needs defaults.
|
||||
SCONS_FLAGS="platform=$PLATFORM target=$TARGET arch=x86_64 precision=double production=$PRODUCTION -j$(nproc)"
|
||||
|
||||
if [ "$PLATFORM" = "windows" ]; then
|
||||
# Add Windows-specific flags (LLVM toolchain, disable D3D12)
|
||||
SCONS_FLAGS="$SCONS_FLAGS use_llvm=yes use_mingw=yes d3d12=no"
|
||||
fi
|
||||
|
||||
# We use 'buildah config' to set it on the container instance instead.
|
||||
buildah config --workingdir /src "$CTR"
|
||||
|
||||
echo "Running: scons $SCONS_FLAGS"
|
||||
|
||||
# 5. Run Build
|
||||
buildah run \
|
||||
--volume "$PWD":/src \
|
||||
"$CTR" \
|
||||
scons $SCONS_FLAGS
|
||||
|
||||
echo "✅ Build Complete"
|
||||
48
.gitea/workflows/scripts/publish.sh
Normal file
48
.gitea/workflows/scripts/publish.sh
Normal file
@ -0,0 +1,48 @@
|
||||
#!/bin/sh
|
||||
set -e
|
||||
|
||||
# Install tools (Alpine container)
|
||||
apk add --no-cache curl zip
|
||||
|
||||
echo "------------------------------------------------"
|
||||
echo "Publishing Packages for Version: $VERSION"
|
||||
echo "------------------------------------------------"
|
||||
|
||||
# --- 1. WINDOWS EDITOR ---
|
||||
echo "Packaging Windows Editor..."
|
||||
zip -j godot-editor-windows.zip dist/godot-windows-editor/*.exe
|
||||
|
||||
curl --fail --user "$ACTOR:$TOKEN" \
|
||||
--upload-file "godot-editor-windows.zip" \
|
||||
"$API_URL/godot-editor-windows/$VERSION/godot-editor-windows.zip"
|
||||
|
||||
# --- 2. LINUX EDITOR ---
|
||||
echo "Packaging Linux Editor..."
|
||||
# Find the linux binary (it has no extension, so we grep for 'godot.')
|
||||
LINUX_BIN=$(find dist/godot-linux-editor -type f -name "godot.linuxbsd.editor*" | head -n 1)
|
||||
zip -j godot-editor-linux.zip "$LINUX_BIN"
|
||||
|
||||
curl --fail --user "$ACTOR:$TOKEN" \
|
||||
--upload-file "godot-editor-linux.zip" \
|
||||
"$API_URL/godot-editor-linux/$VERSION/godot-editor-linux.zip"
|
||||
|
||||
# --- 3. EXPORT TEMPLATES (Windows + Linux) ---
|
||||
echo "Packaging Templates (.tpz)..."
|
||||
mkdir -p templates
|
||||
|
||||
# Windows Templates (Filter out console wrapper)
|
||||
cp $(ls dist/godot-windows-debug/*.exe | grep -v "console") templates/windows_debug_x86_64.exe
|
||||
cp $(ls dist/godot-windows-release/*.exe | grep -v "console") templates/windows_release_x86_64.exe
|
||||
|
||||
# Linux Templates
|
||||
cp $(find dist/godot-linux-debug -type f -name "godot.*") templates/linux_debug.x86_64
|
||||
cp $(find dist/godot-linux-release -type f -name "godot.*") templates/linux_release.x86_64
|
||||
|
||||
# Create TPZ
|
||||
zip -j templates.tpz templates/*
|
||||
|
||||
curl --fail --user "$ACTOR:$TOKEN" \
|
||||
--upload-file "templates.tpz" \
|
||||
"$API_URL/godot-templates/$VERSION/templates.tpz"
|
||||
|
||||
echo "✅ All packages published successfully!"
|
||||
@ -1,18 +1,10 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<PropertyGroup>
|
||||
<!-- override the PlatformToolset, which is set in the godot.vcxproj-->
|
||||
<!-- Unknown matches to a set of conservative rules for the code analysis-->
|
||||
<PlatformToolset>Unknown</PlatformToolset>
|
||||
<LocalDebuggerCommand Condition="'$(LocalDebuggerCommand)' == ''">$(NMakeOutput)</LocalDebuggerCommand>
|
||||
|
||||
<!-- Possible values: V143, Clang_Mac, Clang_Linux, llvm, Clang, ClangCL, MSFS, Unknown-->
|
||||
<!-- Select toolset based on target GodotPlatform. Switches Cpp dialect -->
|
||||
<PlatformToolset Condition="'$(GodotPlatform)'=='windows'">v143</PlatformToolset>
|
||||
<PlatformToolset Condition="'$(GodotPlatform)'=='macos' or '$(GodotPlatform)'=='ios'">Clang_Mac</PlatformToolset>
|
||||
<PlatformToolset Condition="'$(GodotPlatform)'=='linux'">Clang_Linux</PlatformToolset>
|
||||
<PlatformToolset Condition="'$(GodotPlatform)'=='android'">Clang_Linux</PlatformToolset>
|
||||
<PlatformToolset Condition="'$(GodotPlatform)'=='web'">Clang_Linux</PlatformToolset>
|
||||
<!-- Fallback -->
|
||||
<PlatformToolset Condition="'$(PlatformToolset)'==''">Unknown</PlatformToolset>
|
||||
|
||||
</PropertyGroup>
|
||||
<!-- Build/Rebuild/Clean targets for NMake are defined in MSVC, so we need to provide them, when using MSBuild without MSVC targets -->
|
||||
<Target Name="Build">
|
||||
|
||||
10
platform/web/package-lock.json
generated
10
platform/web/package-lock.json
generated
@ -347,7 +347,6 @@
|
||||
"resolved": "https://registry.npmjs.org/@types/markdown-it/-/markdown-it-14.1.1.tgz",
|
||||
"integrity": "sha512-4NpsnpYl2Gt1ljyBGrKMxFYAYvpqbnnkgP/i/g+NLpjEUa3obn1XJCur9YbEXKDAkaXqsR1LbDnGEJ0MmKFxfg==",
|
||||
"dev": true,
|
||||
"peer": true,
|
||||
"dependencies": {
|
||||
"@types/linkify-it": "^5",
|
||||
"@types/mdurl": "^2"
|
||||
@ -506,7 +505,6 @@
|
||||
"integrity": "sha512-cl669nCJTZBsL97OF4kUQm5g5hC2uihk0NxY3WENAC0TYdILVkAyHymAntgxGkl7K+t0cXIrH5siy5S4XkFycA==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"peer": true,
|
||||
"bin": {
|
||||
"acorn": "bin/acorn"
|
||||
},
|
||||
@ -789,7 +787,6 @@
|
||||
"integrity": "sha512-7CrWySmIibCgT1Os28lUU6upBshZ+GxybLOrmRzi08kS8MBuO8QA7pXEgYgY5W8vK3e74xv0lpjo9DbaGU9Rkw==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"peer": true,
|
||||
"dependencies": {
|
||||
"@eslint-community/eslint-utils": "^4.2.0",
|
||||
"@eslint-community/regexpp": "^4.12.1",
|
||||
@ -1200,9 +1197,9 @@
|
||||
"license": "ISC"
|
||||
},
|
||||
"node_modules/js-yaml": {
|
||||
"version": "4.1.1",
|
||||
"resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.1.tgz",
|
||||
"integrity": "sha512-qQKT4zQxXl8lLwBtHMWwaTcGfFOZviOJet3Oy/xmGk2gZH677CJM9EvtfdSkgWcATZhj/55JZ0rmy3myCT5lsA==",
|
||||
"version": "4.1.0",
|
||||
"resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz",
|
||||
"integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
@ -1350,7 +1347,6 @@
|
||||
"resolved": "https://registry.npmjs.org/markdown-it/-/markdown-it-14.1.0.tgz",
|
||||
"integrity": "sha512-a54IwgWPaeBCAAsv13YgmALOF1elABB08FxO9i+r4VFk5Vl4pKokRPeX8u5TCgSsPi6ec1otfLjdOpVcgbpshg==",
|
||||
"dev": true,
|
||||
"peer": true,
|
||||
"dependencies": {
|
||||
"argparse": "^2.0.1",
|
||||
"entities": "^4.4.0",
|
||||
|
||||
Reference in New Issue
Block a user