mirror of
https://github.com/Redot-Engine/redot-engine.git
synced 2025-12-05 23:07:42 -05:00
Compare commits
14 Commits
abc59bb63e
...
4.4
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
e36cb51763 | ||
|
|
bce02f1c26 | ||
|
|
aef429fa0e | ||
|
|
4e9db2ca05 | ||
|
|
80f83a7cf2 | ||
|
|
155f5edaa3 | ||
|
|
f1ce693c4c | ||
|
|
693599d229 | ||
|
|
3e573e515e | ||
|
|
037d0af456 | ||
|
|
b8d529fac8 | ||
|
|
4d9e24d511 | ||
|
|
b47b9876cb | ||
|
|
60164fcbf8 |
417
.gitlab-ci.yml
417
.gitlab-ci.yml
@@ -1,13 +1,11 @@
|
||||
stages:
|
||||
- build
|
||||
- merge_mac
|
||||
- sign
|
||||
- push_nuget
|
||||
- package
|
||||
|
||||
.template-build:
|
||||
tags: [ docker ]
|
||||
rules:
|
||||
- if: $DO_RELEASE == "True"
|
||||
- if: $DO_RELEASE == "true"
|
||||
before_script:
|
||||
- export SCONS="scons -j$(nproc) verbose=no warnings=no progress=no"
|
||||
- export BUILD_NAME="official"
|
||||
@@ -17,7 +15,8 @@ stages:
|
||||
- $SCONS platform=$PLATFORM arch=$ARCH $OPTIONS target=$TARGET
|
||||
- cp -r bin/* out/$PLATFORM/$ARCH/$TYPE/
|
||||
artifacts:
|
||||
expire_in: 3 hours
|
||||
expire_in: 3 days
|
||||
public: false
|
||||
paths:
|
||||
- out/$PLATFORM/$ARCH/$TYPE
|
||||
|
||||
@@ -92,19 +91,28 @@ stages:
|
||||
- if: $DO_RELEASE == "true"
|
||||
script:
|
||||
- !reference [.build-release-template, script]
|
||||
after_script:
|
||||
- if [ "$TARGET" == "template_debug" ]; then export FRIENDLY_TARGET="debug"; else export FRIENDLY_TARGET="release"; fi
|
||||
- mv "out/templates/redot.${PLATFORM}.${TARGET}.${ARCH}" "out/templates/linux_${FRIENDLY_TARGET}.${ARCH}"
|
||||
artifacts:
|
||||
expire_in: 3 hours
|
||||
public: false
|
||||
expire_in: 3 days
|
||||
paths:
|
||||
- out/templates
|
||||
|
||||
.Template-Release-Template-Linux-Mono:
|
||||
extends: .Template-Linux
|
||||
needs: [ linux-editor-x64-mono ]
|
||||
rules:
|
||||
- if: $DO_RELEASE == "true"
|
||||
script:
|
||||
- !reference [.build-release-template-mono, script]
|
||||
after_script:
|
||||
- if [ "$TARGET" == "template_debug" ]; then export FRIENDLY_TARGET="debug"; else export FRIENDLY_TARGET="release"; fi
|
||||
- mv "out/templates-mono/redot.${PLATFORM}.${TARGET}.${ARCH}.mono" "out/templates-mono/linux_${FRIENDLY_TARGET}.${ARCH}"
|
||||
artifacts:
|
||||
expire_in: 3 hours
|
||||
public: false
|
||||
expire_in: 3 days
|
||||
paths:
|
||||
- out/templates-mono
|
||||
|
||||
@@ -140,10 +148,21 @@ stages:
|
||||
- export OPTIONS="production=yes use_mingw=yes angle_libs=$(pwd)/deps/angle mesa_libs=$(pwd)/deps/mesa"
|
||||
script:
|
||||
- !reference [ .build-release-template, script ]
|
||||
after_script:
|
||||
- if [ "$TARGET" == "template_debug" ]; then export FRIENDLY_TARGET="debug"; else export FRIENDLY_TARGET="release"; fi
|
||||
- |
|
||||
if [ "$ARCH" == "arm64" ]; then
|
||||
mv "out/templates/redot.${PLATFORM}.${TARGET}.${ARCH}.llvm.exe" "out/templates/windows_${FRIENDLY_TARGET}_${ARCH}.exe"
|
||||
mv "out/templates/redot.${PLATFORM}.${TARGET}.${ARCH}.llvm.console.exe" "out/templates/windows_${FRIENDLY_TARGET}_${ARCH}_console.exe"
|
||||
else
|
||||
mv "out/templates/redot.${PLATFORM}.${TARGET}.${ARCH}.exe" "out/templates/windows_${FRIENDLY_TARGET}_${ARCH}.exe"
|
||||
mv "out/templates/redot.${PLATFORM}.${TARGET}.${ARCH}.console.exe" "out/templates/windows_${FRIENDLY_TARGET}_${ARCH}_console.exe"
|
||||
fi
|
||||
variables:
|
||||
PLATFORM: "windows"
|
||||
artifacts:
|
||||
expire_in: 3 hours
|
||||
public: false
|
||||
expire_in: 3 days
|
||||
paths:
|
||||
- out/templates
|
||||
|
||||
@@ -157,10 +176,21 @@ stages:
|
||||
- export OPTIONS="production=yes use_mingw=yes angle_libs=$(pwd)/deps/angle mesa_libs=$(pwd)/deps/mesa"
|
||||
script:
|
||||
- !reference [ .build-release-template-mono, script ]
|
||||
after_script:
|
||||
- if [ "$TARGET" == "template_debug" ]; then export FRIENDLY_TARGET="debug"; else export FRIENDLY_TARGET="release"; fi
|
||||
- |
|
||||
if [ "$ARCH" == "arm64" ]; then
|
||||
mv "out/templates-mono/redot.${PLATFORM}.${TARGET}.${ARCH}.llvm.mono.exe" "out/templates-mono/windows_${FRIENDLY_TARGET}_${ARCH}.exe"
|
||||
mv "out/templates-mono/redot.${PLATFORM}.${TARGET}.${ARCH}.llvm.mono.console.exe" "out/templates-mono/windows_${FRIENDLY_TARGET}_${ARCH}_console.exe"
|
||||
else
|
||||
mv "out/templates-mono/redot.${PLATFORM}.${TARGET}.${ARCH}.mono.exe" "out/templates-mono/windows_${FRIENDLY_TARGET}_${ARCH}.exe"
|
||||
mv "out/templates-mono/redot.${PLATFORM}.${TARGET}.${ARCH}.mono.console.exe" "out/templates-mono/windows_${FRIENDLY_TARGET}_${ARCH}_console.exe"
|
||||
fi
|
||||
variables:
|
||||
PLATFORM: "windows"
|
||||
artifacts:
|
||||
expire_in: 3 hours
|
||||
public: false
|
||||
expire_in: 3 days
|
||||
paths:
|
||||
- out/templates-mono
|
||||
|
||||
@@ -168,7 +198,7 @@ stages:
|
||||
.Template-macos:
|
||||
extends: .template-build
|
||||
rules:
|
||||
- if: $DO_RELEASE == "True"
|
||||
- if: $DO_RELEASE == "true"
|
||||
image: $CI_REGISTRY/redot-engine/redot-production-containers/redot-osx:latest
|
||||
before_script:
|
||||
- !reference [ .template-build, before_script ]
|
||||
@@ -179,7 +209,7 @@ stages:
|
||||
.Template-macos-mono:
|
||||
extends: .template-build-mono
|
||||
rules:
|
||||
- if: $DO_RELEASE == "True"
|
||||
- if: $DO_RELEASE == "true"
|
||||
image: $CI_REGISTRY/redot-engine/redot-production-containers/redot-osx:latest
|
||||
before_script:
|
||||
- !reference [ .template-build-mono, before_script ]
|
||||
@@ -190,7 +220,7 @@ stages:
|
||||
.Template-Release-Template-macos:
|
||||
extends: .template-build
|
||||
rules:
|
||||
- if: $DO_RELEASE == "True"
|
||||
- if: $DO_RELEASE == "true"
|
||||
image: $CI_REGISTRY/redot-engine/redot-production-containers/redot-osx:latest
|
||||
before_script:
|
||||
- !reference [ .template-build, before_script ]
|
||||
@@ -200,14 +230,15 @@ stages:
|
||||
variables:
|
||||
PLATFORM: "macos"
|
||||
artifacts:
|
||||
expire_in: 3 hours
|
||||
public: false
|
||||
expire_in: 3 days
|
||||
paths:
|
||||
- out/templates
|
||||
|
||||
.Template-Release-Template-macos-mono:
|
||||
extends: .template-build-mono
|
||||
rules:
|
||||
- if: $DO_RELEASE == "True"
|
||||
- if: $DO_RELEASE == "true"
|
||||
image: $CI_REGISTRY/redot-engine/redot-production-containers/redot-osx:latest
|
||||
before_script:
|
||||
- !reference [ .template-build-mono, before_script ]
|
||||
@@ -217,7 +248,8 @@ stages:
|
||||
variables:
|
||||
PLATFORM: "macos"
|
||||
artifacts:
|
||||
expire_in: 3 hours
|
||||
public: false
|
||||
expire_in: 3 days
|
||||
paths:
|
||||
- out/templates-mono
|
||||
|
||||
@@ -250,7 +282,8 @@ stages:
|
||||
script:
|
||||
- !reference [ .build-release-template, script ]
|
||||
artifacts:
|
||||
expire_in: 3 hours
|
||||
public: false
|
||||
expire_in: 3 days
|
||||
paths:
|
||||
- out/templates/
|
||||
|
||||
@@ -282,7 +315,8 @@ stages:
|
||||
script:
|
||||
- !reference [ .build-release-template-mono, script ]
|
||||
artifacts:
|
||||
expire_in: 3 hours
|
||||
public: false
|
||||
expire_in: 3 days
|
||||
paths:
|
||||
- out/templates-mono/
|
||||
|
||||
@@ -300,17 +334,66 @@ stages:
|
||||
- ./modules/mono/build_scripts/build_assemblies.py --godot-output-dir=./bin --godot-platform=$PLATFORM
|
||||
- cp -r bin/* out/$PLATFORM/$ARCH/$TYPE-mono/
|
||||
artifacts:
|
||||
expire_in: 3 hours
|
||||
public: false
|
||||
expire_in: 3 days
|
||||
paths:
|
||||
- out/$PLATFORM/$ARCH/$TYPE-mono
|
||||
- mono-glue/
|
||||
|
||||
# create tarball for release
|
||||
create-tarball:
|
||||
tags: [ docker ]
|
||||
stage: build
|
||||
image: $CI_REGISTRY/redot-engine/redot-production-containers/redot-linux:latest
|
||||
rules:
|
||||
- when: always
|
||||
script:
|
||||
- major=$(grep -E '^major\s*=' version.py | sed -E "s/.*=\s*([0-9]+).*/\1/")
|
||||
- minor=$(grep -E '^minor\s*=' version.py | sed -E "s/.*=\s*([0-9]+).*/\1/")
|
||||
- patch=$(grep -E '^patch\s*=' version.py | sed -E "s/.*=\s*([0-9]+).*/\1/")
|
||||
- status=$(grep -E '^status\s*=' version.py | sed -E "s/.*=\s*\"([^\"]+)\".*/\1/")
|
||||
- status_version=$(grep -E '^status_version\s*=' version.py | sed -E "s/.*=\s*([0-9]+).*/\1/")
|
||||
- echo "$major.$minor.$patch-$status.$status_version"
|
||||
- |
|
||||
if [ "$status" == "stable" ]
|
||||
then
|
||||
if [ "$patch" == "0" ]
|
||||
then
|
||||
export VERSIONSTRING="${major}.${minor}-stable"
|
||||
export VERSIONTXT="${major}.${minor}.stable"
|
||||
else
|
||||
export VERSIONSTRING="${major}.${minor}.${patch}-stable"
|
||||
export VERSIONTXT="${major}.${minor}.${patch}.stable"
|
||||
fi
|
||||
else
|
||||
if [ "$patch" == "0" ]
|
||||
then
|
||||
export VERSIONSTRING="${major}.${minor}-${status}.${status_version}"
|
||||
export VERSIONTXT="${major}.${minor}.${status}.${status_version}"
|
||||
else
|
||||
export VERSIONSTRING="${major}.${minor}.${patch}-${status}.${status_version}"
|
||||
export VERSIONTXT="${major}.${minor}.${patch}.${status}.${status_version}"
|
||||
fi
|
||||
fi
|
||||
- echo $VERSIONSTRING
|
||||
- TARBALL_NAME="redot-${VERSIONSTRING}.tar.xz"
|
||||
- FOLDER_NAME="redot-${VERSIONSTRING}"
|
||||
- mkdir $FOLDER_NAME
|
||||
- rsync -a --exclude="${FOLDER_NAME}" ./ "${FOLDER_NAME}/"
|
||||
- mkdir -p out/
|
||||
- tar -cJf "out/${TARBALL_NAME}" "${FOLDER_NAME}"
|
||||
- sha256sum "out/${TARBALL_NAME}" > "out/${TARBALL_NAME}.sha256"
|
||||
artifacts:
|
||||
public: false
|
||||
expire_in: 3 days
|
||||
paths:
|
||||
- out/
|
||||
# -- Build the Linux Editors --
|
||||
linux-editor-x64-mono:
|
||||
tags: [ docker ]
|
||||
image: $CI_REGISTRY/redot-engine/redot-production-containers/redot-linux:latest
|
||||
rules:
|
||||
- if: $DO_RELEASE == "True"
|
||||
- when: always
|
||||
stage: build
|
||||
before_script:
|
||||
- export SCONS="scons -j$(nproc) verbose=no warnings=no progress=no"
|
||||
@@ -356,7 +439,8 @@ linux-editor-x64-mono:
|
||||
TARGET: "editor"
|
||||
MONO: "-mono"
|
||||
artifacts:
|
||||
expire_in: 3 hours
|
||||
public: false
|
||||
expire_in: 3 days
|
||||
paths:
|
||||
- out/$PLATFORM/$ARCH/$TYPE-mono
|
||||
- mono-glue/
|
||||
@@ -846,19 +930,66 @@ build-Macos-Debug-Template-arm64-Mono:
|
||||
TYPE: "template"
|
||||
TARGET: "template_debug"
|
||||
|
||||
Merge-Mac-Editor:
|
||||
stage: build
|
||||
needs: [macos-editor-x64, macos-editor-arm64, macos-editor-arm64-mono, macos-editor-x64-mono]
|
||||
tags: [docker]
|
||||
image: $CI_REGISTRY/redot-engine/redot-production-containers/redot-osx:latest
|
||||
rules:
|
||||
- if: $DO_RELEASE == "true"
|
||||
script:
|
||||
- LOCTOOLS="out/macos/universal/tools"
|
||||
- LOCMONO="out/macos/universal/tools-mono"
|
||||
- mkdir -p $LOCTOOLS
|
||||
- mkdir -p "out/macos/universal/tools-mono"
|
||||
- lipo -create "out/macos/x86_64/tools/redot.macos.editor.x86_64" "out/macos/arm64/tools/redot.macos.editor.arm64" -output "$LOCTOOLS/redot.macos.editor.universal"
|
||||
- lipo -create "out/macos/x86_64/tools-mono/redot.macos.editor.x86_64.mono" "out/macos/arm64/tools-mono/redot.macos.editor.arm64.mono" -output "$LOCMONO/redot.macos.editor.universal.mono"
|
||||
- cp -r out/macos/arm64/tools-mono/GodotSharp "$LOCMONO/"
|
||||
artifacts:
|
||||
public: false
|
||||
paths:
|
||||
- out/macos/*
|
||||
|
||||
Merge-Mac-Templates:
|
||||
stage: build
|
||||
needs: [build-Macos-Debug-Template-arm64, build-Macos-Debug-Template-arm64-Mono, build-Macos-Debug-Template-x64, build-Macos-Debug-Template-x64-Mono, build-Macos-Release-Template-arm64, build-Macos-Release-Template-arm64-Mono, build-Macos-Release-Template-x64, build-Macos-Release-Template-x64-Mono]
|
||||
tags: [docker]
|
||||
rules:
|
||||
- if: $DO_RELEASE == "true"
|
||||
image: $CI_REGISTRY/redot-engine/redot-production-containers/redot-osx:latest
|
||||
script:
|
||||
- lipo -create out/templates/redot.macos.template_debug.x86_64 out/templates/redot.macos.template_debug.arm64 -output out/templates/redot.macos.template_debug.universal
|
||||
- lipo -create out/templates/redot.macos.template_release.x86_64 out/templates/redot.macos.template_release.arm64 -output out/templates/redot.macos.template_release.universal
|
||||
- lipo -create out/templates-mono/redot.macos.template_debug.x86_64.mono out/templates-mono/redot.macos.template_debug.arm64.mono -output out/templates-mono/redot.macos.template_debug.universal.mono
|
||||
- lipo -create out/templates-mono/redot.macos.template_release.x86_64.mono out/templates-mono/redot.macos.template_release.arm64.mono -output out/templates-mono/redot.macos.template_release.universal.mono
|
||||
artifacts:
|
||||
public: false
|
||||
paths:
|
||||
- out/templates/*
|
||||
- out/templates-mono/*
|
||||
|
||||
# -- Build Web Template
|
||||
|
||||
Web-Release-Template:
|
||||
stage: build
|
||||
tags: [docker]
|
||||
rules:
|
||||
- if: $DO_RELEASE == "True"
|
||||
- if: $DO_RELEASE == "true"
|
||||
image: $CI_REGISTRY/redot-engine/redot-production-containers/redot-web:latest
|
||||
script:
|
||||
- export BUILD_NAME="official"
|
||||
- /root/scripts/buildWeb.sh
|
||||
- mv "out/templates/godot.web.template_debug.wasm32.zip" "out/templates/web_debug.zip"
|
||||
- mv "out/templates/godot.web.template_release.wasm32.zip" "out/templates/web_release.zip"
|
||||
- mv "out/templates/godot.web.template_debug.wasm32.dlink.zip" "out/templates/web_dlink_debug.zip"
|
||||
- mv "out/templates/godot.web.template_release.wasm32.dlink.zip" "out/templates/web_dlink_release.zip"
|
||||
- mv "out/templates/godot.web.template_debug.wasm32.nothreads.zip" "out/templates/web_nothreads_debug.zip"
|
||||
- mv "out/templates/godot.web.template_release.wasm32.nothreads.zip" "out/templates/web_nothreads_release.zip"
|
||||
- mv "out/templates/godot.web.template_debug.wasm32.nothreads.dlink.zip" "out/templates/web_dlink_nothreads_debug.zip"
|
||||
- mv "out/templates/godot.web.template_release.wasm32.nothreads.dlink.zip" "out/templates/web_dlink_nothreads_release.zip"
|
||||
artifacts:
|
||||
expire_in: 3 hours
|
||||
public: false
|
||||
expire_in: 3 days
|
||||
paths:
|
||||
- out/templates/
|
||||
# --Build Android Targets --
|
||||
@@ -895,7 +1026,8 @@ Android-Release-Template:
|
||||
- cp bin/*.apk out/templates/
|
||||
- cp bin/*.aar out/templates/
|
||||
artifacts:
|
||||
expire_in: 3 hours
|
||||
public: false
|
||||
expire_in: 3 days
|
||||
paths:
|
||||
- out/templates
|
||||
|
||||
@@ -933,10 +1065,12 @@ Android-Release-Template-Mono:
|
||||
- popd
|
||||
- ls bin/
|
||||
- cp bin/*.zip out/templates-mono/
|
||||
- cp bin/*.apk out/templates-mono/
|
||||
- cp bin/android_monoDebug.apk out/templates-mono/android_debug.apk
|
||||
- cp bin/android_monoRelease.apk out/templates-mono/android_release.apk
|
||||
- cp bin/*.aar out/templates-mono/
|
||||
artifacts:
|
||||
expire_in: 3 hours
|
||||
public: false
|
||||
expire_in: 3 days
|
||||
paths:
|
||||
- out/templates-mono
|
||||
|
||||
@@ -1006,48 +1140,63 @@ build-ios-Release-Template-arm64-Mono:
|
||||
|
||||
build-ios-Debug-Template-arm64-Mono:
|
||||
stage: build
|
||||
extends: .Template-Ios
|
||||
extends: .Template-Ios-Mono
|
||||
variables:
|
||||
ARCH: "arm64"
|
||||
TYPE: "iPhoneOS"
|
||||
TARGET: "template_debug"
|
||||
# MERGE STAGE
|
||||
|
||||
Merge-Mac-Editor:
|
||||
stage: merge_mac
|
||||
tags: [docker]
|
||||
image: $CI_REGISTRY/redot-engine/redot-production-containers/redot-osx:latest
|
||||
script:
|
||||
- LOCTOOLS="out/macos/universal/tools"
|
||||
- LOCMONO="out/macos/universal/tools-mono"
|
||||
- mkdir -p $LOCTOOLS
|
||||
- mkdir -p "out/macos/universal/tools-mono"
|
||||
- lipo -create "out/macos/x86_64/tools/redot.macos.editor.x86_64" "out/macos/arm64/tools/redot.macos.editor.arm64" -output "$LOCTOOLS/redot.macos.editor.universal"
|
||||
- lipo -create "out/macos/x86_64/tools-mono/redot.macos.editor.x86_64.mono" "out/macos/arm64/tools-mono/redot.macos.editor.arm64.mono" -output "$LOCMONO/redot.macos.editor.universal.mono"
|
||||
- cp -r out/macos/arm64/tools-mono/GodotSharp "$LOCMONO/"
|
||||
artifacts:
|
||||
paths:
|
||||
- out/macos/*
|
||||
|
||||
Merge-Mac-Templates:
|
||||
stage: merge_mac
|
||||
package-ios:
|
||||
stage: build
|
||||
tags: [docker]
|
||||
image: $CI_REGISTRY/redot-engine/redot-production-containers/redot-linux:latest
|
||||
needs:
|
||||
- build-ios-Release-Template-arm64
|
||||
- build-ios-Release-Template-arm64-Mono
|
||||
- build-ios-Release-Template-x64
|
||||
- build-ios-Release-Template-x64-Mono
|
||||
- build-ios-Debug-Template-arm64
|
||||
- build-ios-Debug-Template-arm64-Mono
|
||||
- build-ios-Debug-Template-x64
|
||||
- build-ios-Debug-Template-x64-Mono
|
||||
rules:
|
||||
- if: $DO_RELEASE == "true"
|
||||
image: $CI_REGISTRY/redot-engine/redot-production-containers/redot-osx:latest
|
||||
script:
|
||||
- lipo -create out/templates/redot.macos.template_debug.x86_64 out/templates/redot.macos.template_debug.arm64 -output out/templates/redot.macos.template_debug.universal
|
||||
- lipo -create out/templates/redot.macos.template_release.x86_64 out/templates/redot.macos.template_release.arm64 -output out/templates/redot.macos.template_release.universal
|
||||
- lipo -create out/templates-mono/redot.macos.template_debug.x86_64.mono out/templates-mono/redot.macos.template_debug.arm64.mono -output out/templates-mono/redot.macos.template_debug.universal.mono
|
||||
- lipo -create out/templates-mono/redot.macos.template_release.x86_64.mono out/templates-mono/redot.macos.template_release.arm64.mono -output out/templates-mono/redot.macos.template_release.universal.mono
|
||||
- /root/scripts/Fetch_Deps.sh "ios"
|
||||
- echo "Packaging IOS"
|
||||
- cp -r misc/dist/ios_xcode ios_xcode
|
||||
- cp out/templates/libgodot.ios.template_release.x86_64.simulator.a ios_xcode/libgodot.ios.release.xcframework/ios-arm64_x86_64-simulator/libgodot.a
|
||||
- cp out/templates/libgodot.ios.template_debug.x86_64.simulator.a ios_xcode/libgodot.ios.debug.xcframework/ios-arm64_x86_64-simulator/libgodot.a
|
||||
- cp out/templates/libgodot.ios.template_release.arm64.a ios_xcode/libgodot.ios.release.xcframework/ios-arm64/libgodot.a
|
||||
- cp out/templates/libgodot.ios.template_debug.arm64.a ios_xcode/libgodot.ios.debug.xcframework/ios-arm64/libgodot.a
|
||||
- cp -r deps/moltenvk/MoltenVK/MoltenVK.xcframework ios_xcode/
|
||||
- rm -rf ios_xcode/MoltenVK.xcframework/{macos,tvos}*
|
||||
- cd ios_xcode
|
||||
- zip -q -9 -r "../out/templates/ios.zip" *
|
||||
- cd ..
|
||||
- rm -rf ios_xcode
|
||||
- echo "Done packaging IOS"
|
||||
- echo "Packaging IOS Mono"
|
||||
- cp -r misc/dist/ios_xcode ios_xcode
|
||||
- cp out/templates-mono/libgodot.ios.template_release.x86_64.simulator.a ios_xcode/libgodot.ios.release.xcframework/ios-arm64_x86_64-simulator/libgodot.a
|
||||
- cp out/templates-mono/libgodot.ios.template_debug.x86_64.simulator.a ios_xcode/libgodot.ios.debug.xcframework/ios-arm64_x86_64-simulator/libgodot.a
|
||||
- cp out/templates-mono/libgodot.ios.template_release.arm64.a ios_xcode/libgodot.ios.release.xcframework/ios-arm64/libgodot.a
|
||||
- cp out/templates-mono/libgodot.ios.template_debug.arm64.a ios_xcode/libgodot.ios.debug.xcframework/ios-arm64/libgodot.a
|
||||
- cp -r deps/moltenvk/MoltenVK/MoltenVK.xcframework ios_xcode/
|
||||
- rm -rf ios_xcode/MoltenVK.xcframework/{macos,tvos}*
|
||||
- cd ios_xcode
|
||||
- zip -q -9 -r "../out/templates-mono/ios.zip" *
|
||||
- cd ..
|
||||
- rm -rf ios_xcode
|
||||
artifacts:
|
||||
paths:
|
||||
- out/templates/*
|
||||
- out/templates-mono/*
|
||||
expire_in: 3 days,
|
||||
paths: [ out/templates/ios.zip, out/templates-mono/ios.zip ]
|
||||
|
||||
sign-mac-editor:
|
||||
stage: sign
|
||||
stage: build
|
||||
needs: [Merge-Mac-Editor]
|
||||
rules:
|
||||
- if: $DO_RELEASE == "true"
|
||||
- if: $SIGN_MAC == "true"
|
||||
tags: [macos]
|
||||
script:
|
||||
@@ -1074,12 +1223,12 @@ sign-mac-editor:
|
||||
_macos_tmpdir="$(pwd)/tmp"
|
||||
_app_path="${_macos_tmpdir}/${_appname}"
|
||||
echo $_macos_tmpdir
|
||||
echo $__app_path
|
||||
echo $_app_path
|
||||
cp -r "misc/dist/macos/editor.entitlements" "${_macos_tmpdir}/"
|
||||
rm -rf "${_macos_tmpdir}/${_appname}"
|
||||
cp -r "misc/dist/macos_tools.app" "${_macos_tmpdir}/${_appname}"
|
||||
if [[ "${_is_mono}" == "1" ]]; then
|
||||
cp -r "${_reldir}/GodotSharp/ " "${_macos_tmpdir}/${_appname}/Contents/Resources/GodotSharp"
|
||||
cp -r "${_reldir}/GodotSharp/" "${_macos_tmpdir}/${_appname}/Contents/Resources/GodotSharp"
|
||||
fi
|
||||
ls "${_reldir}/"
|
||||
ls "${_macos_tmpdir}/${_appname}/"
|
||||
@@ -1133,18 +1282,20 @@ sign-mac-editor:
|
||||
echo "✅ ${_app_path} signed and notarized."
|
||||
}
|
||||
|
||||
# Example: sign the universal binaries
|
||||
- sign_macos "$(pwd)/out/macos/universal/tools" "redot.macos.editor.universal" 0
|
||||
|
||||
artifacts:
|
||||
public: false
|
||||
paths:
|
||||
- out/macos/*
|
||||
expire_in: 3 hours
|
||||
- out/macos/universal/tools/signed/*
|
||||
expire_in: 3 days
|
||||
|
||||
sign-mac-editor-mono:
|
||||
stage: sign
|
||||
stage: build
|
||||
needs: [Merge-Mac-Editor]
|
||||
rules:
|
||||
- if: $SIGN_MAC == "true"
|
||||
- if: $DO_RELEASE == "true"
|
||||
- if: $SIGN_MAC == "true"
|
||||
tags: [macos]
|
||||
script:
|
||||
- set -e
|
||||
@@ -1236,14 +1387,17 @@ sign-mac-editor-mono:
|
||||
- sign_macos "$(pwd)/out/macos/universal/tools-mono" "redot.macos.editor.universal.mono" 1
|
||||
|
||||
artifacts:
|
||||
public: false
|
||||
paths:
|
||||
- out/macos/*
|
||||
expire_in: 3 hours
|
||||
- out/macos/universal/tools-mono/signed/*
|
||||
expire_in: 3 days
|
||||
|
||||
sign-mac-templates:
|
||||
stage: sign
|
||||
stage: build
|
||||
needs: [Merge-Mac-Templates]
|
||||
rules:
|
||||
- if: $SIGN_MAC == "true"
|
||||
- if: $DO_RELEASE == "true"
|
||||
- if: $SIGN_MAC == "true"
|
||||
tags: [ macos ]
|
||||
script:
|
||||
- set -e
|
||||
@@ -1271,7 +1425,7 @@ sign-mac-templates:
|
||||
codesign --force -s - \
|
||||
--options=linker-signed \
|
||||
-v macos_template.app/Contents/MacOS/*
|
||||
zip -r ../out/templates${_mono_prefix}/macos_signed.zip macos_template.app
|
||||
zip -r ../out/templates${_mono_prefix}/macos.zip macos_template.app
|
||||
popd
|
||||
rm -rf tmp/
|
||||
}
|
||||
@@ -1281,14 +1435,131 @@ sign-mac-templates:
|
||||
- sign_macos 1
|
||||
|
||||
artifacts:
|
||||
public: false
|
||||
paths:
|
||||
- out/macos/*
|
||||
expire_in: 3 hours
|
||||
- out/templates/*
|
||||
- out/templates-mono/*
|
||||
expire_in: 3 days
|
||||
|
||||
pushNuget:
|
||||
image: $CI_REGISTRY/redot-engine/redot-production-containers/redot-linux:latest
|
||||
package-builds:
|
||||
stage: package
|
||||
rules:
|
||||
- if: $DO_RELEASE == "true"
|
||||
before_script:
|
||||
- cd out/linuxbsd/x86_64/tools-mono/GodotSharp/Tools
|
||||
- dotnet nuget push YourPackage.nupkg --api-key $NUGET_API_KEY --source https://api.nuget.org/v3/index.json
|
||||
tags:
|
||||
- docker
|
||||
image: $CI_REGISTRY/redot-engine/redot-production-containers/redot-linux:latest
|
||||
script:
|
||||
- major=$(grep -E '^major\s*=' version.py | sed -E "s/.*=\s*([0-9]+).*/\1/")
|
||||
- minor=$(grep -E '^minor\s*=' version.py | sed -E "s/.*=\s*([0-9]+).*/\1/")
|
||||
- patch=$(grep -E '^patch\s*=' version.py | sed -E "s/.*=\s*([0-9]+).*/\1/")
|
||||
- status=$(grep -E '^status\s*=' version.py | sed -E "s/.*=\s*\"([^\"]+)\".*/\1/")
|
||||
- status_version=$(grep -E '^status_version\s*=' version.py | sed -E "s/.*=\s*([0-9]+).*/\1/")
|
||||
- |
|
||||
if [ "$status" == "stable" ]
|
||||
then
|
||||
if [ "$patch" == "0" ]
|
||||
then
|
||||
export VERSIONSTRING="${major}.${minor}-stable"
|
||||
export VERSIONTXT="${major}.${minor}.stable"
|
||||
else
|
||||
export VERSIONSTRING="${major}.${minor}.${patch}-stable"
|
||||
export VERSIONTXT="${major}.${minor}.${patch}.stable"
|
||||
fi
|
||||
else
|
||||
if [ "$patch" == "0" ]
|
||||
then
|
||||
export VERSIONSTRING="${major}.${minor}-${status}.${status_version}"
|
||||
export VERSIONTXT="${major}.${minor}.${status}.${status_version}"
|
||||
else
|
||||
export VERSIONSTRING="${major}.${minor}.${patch}-${status}.${status_version}"
|
||||
export VERSIONTXT="${major}.${minor}.${patch}.${status}.${status_version}"
|
||||
fi
|
||||
fi
|
||||
- mkdir releases/
|
||||
- RELEASE_DIR="$(pwd)/releases"
|
||||
- TARBALL_NAME="redot-${VERSIONSTRING}.tar.xz"
|
||||
- cp "out/${TARBALL_NAME}" "${RELEASE_DIR}/${TARBALL_NAME}"
|
||||
- cp "out/${TARBALL_NAME}.sha256" "${RELEASE_DIR}/${TARBALL_NAME}.sha256"
|
||||
- pushd out/linuxbsd/x86_64/tools/
|
||||
- zip -r "${RELEASE_DIR}/Redot_v${VERSIONSTRING}_linux_x64.zip" ./*
|
||||
- popd
|
||||
- pushd out/linuxbsd/arm64/tools/
|
||||
- zip -r "${RELEASE_DIR}/Redot_v${VERSIONSTRING}_linux_arm64.zip" ./*
|
||||
- popd
|
||||
- pushd out/linuxbsd/x86_32/tools/
|
||||
- zip -r "${RELEASE_DIR}/Redot_v${VERSIONSTRING}_linux_x86.zip" ./*
|
||||
- popd
|
||||
- pushd out/linuxbsd/arm32/tools/
|
||||
- zip -r "${RELEASE_DIR}/Redot_v${VERSIONSTRING}_linux_arm32.zip" ./*
|
||||
- popd
|
||||
- pushd out/linuxbsd/x86_64/tools-mono/
|
||||
- zip -r "${RELEASE_DIR}/Redot_v${VERSIONSTRING}_linux_mono_x64.zip" ./*
|
||||
- popd
|
||||
- pushd out/linuxbsd/arm64/tools-mono/
|
||||
- zip -r "${RELEASE_DIR}/Redot_v${VERSIONSTRING}_linux_mono_arm64.zip" ./*
|
||||
- popd
|
||||
- pushd out/linuxbsd/x86_32/tools-mono/
|
||||
- zip -r "${RELEASE_DIR}/Redot_v${VERSIONSTRING}_linux_mono_x86.zip" ./*
|
||||
- popd
|
||||
- pushd out/linuxbsd/arm32/tools-mono/
|
||||
- zip -r "${RELEASE_DIR}/Redot_v${VERSIONSTRING}_linux_mono_arm32.zip" ./*
|
||||
- popd
|
||||
- pushd out/windows/x86_64/tools/
|
||||
- zip -r "${RELEASE_DIR}/Redot_v${VERSIONSTRING}_windows_win64.zip" ./*
|
||||
- popd
|
||||
- pushd out/windows/arm64/tools/
|
||||
- zip -r "${RELEASE_DIR}/Redot_v${VERSIONSTRING}_windows_arm64.zip" ./*
|
||||
- popd
|
||||
- pushd out/windows/x86_32/tools/
|
||||
- zip -r "${RELEASE_DIR}/Redot_v${VERSIONSTRING}_windows_win32.zip" ./*
|
||||
- popd
|
||||
- pushd out/windows/x86_64/tools-mono/
|
||||
- zip -r "${RELEASE_DIR}/Redot_v${VERSIONSTRING}_windows_mono_win64.zip" ./*
|
||||
- popd
|
||||
- pushd out/windows/arm64/tools-mono/
|
||||
- zip -r "${RELEASE_DIR}/Redot_v${VERSIONSTRING}_windows_mono_arm64.zip" ./*
|
||||
- popd
|
||||
- pushd out/windows/x86_32/tools-mono/
|
||||
- zip -r "${RELEASE_DIR}/Redot_v${VERSIONSTRING}_windows_mono_win32.zip" ./*
|
||||
- popd
|
||||
- mv out/macos/universal/tools/signed/redot.macos.editor.universal_stapled.zip releases/Redot_v${VERSIONSTRING}_macos_universal.zip
|
||||
- mv out/macos/universal/tools-mono/signed/redot.macos.editor.universal.mono_stapled.zip releases/Redot_v${VERSIONSTRING}_macos_mono_universal.zip
|
||||
- pushd out/
|
||||
- touch ./templates/version.txt
|
||||
- echo "${VERSIONTXT}" | cat >> ./templates/version.txt
|
||||
- rm ./templates/redot.macos.template*
|
||||
- rm ./templates/libgodot.ios*
|
||||
- zip -r ${RELEASE_DIR}/Redot_v${VERSIONSTRING}_export_templates.zip ./templates/*
|
||||
- rm -rf ./templates/
|
||||
- mv ./templates-mono ./templates/
|
||||
- touch ./templates/version.txt
|
||||
- echo "${VERSIONTXT}.mono" | cat >> ./templates/version.txt
|
||||
- rm ./templates/redot.macos.template*
|
||||
- rm ./templates/libgodot.ios*
|
||||
- zip -r ${RELEASE_DIR}/Redot_v${VERSIONSTRING}_mono_export_templates.zip ./templates/*
|
||||
- popd
|
||||
- mv releases/Redot_v${VERSIONSTRING}_mono_export_templates.zip releases/Redot_v${VERSIONSTRING}_mono_export_templates.tpz
|
||||
- mv releases/Redot_v${VERSIONSTRING}_export_templates.zip releases/Redot_v${VERSIONSTRING}_export_templates.tpz
|
||||
- touch SHA512-SUMS.txt
|
||||
- |
|
||||
for f in releases/*; do
|
||||
# Only process regular files
|
||||
[ -f "$f" ] || continue
|
||||
|
||||
# Compute the hash and append it
|
||||
sha512sum "$f" >> SHA512-SUMS.txt
|
||||
done
|
||||
- mv SHA512-SUMS.txt releases/SHA512-SUMS.txt
|
||||
artifacts:
|
||||
expire_in: 3 days
|
||||
paths:
|
||||
- releases/*
|
||||
pushNuget:
|
||||
stage: package
|
||||
image: $CI_REGISTRY/redot-engine/redot-production-containers/redot-linux:latest
|
||||
tags: [docker]
|
||||
rules:
|
||||
- if: $DO_RELEASE == "true"
|
||||
script:
|
||||
- cd out/linuxbsd/x86_64/tools-mono/GodotSharp/Tools/nupkgs
|
||||
- dotnet nuget push "./*.nupkg" --api-key $NUGET_API_KEY --source https://api.nuget.org/v3/index.json --skip-duplicate
|
||||
|
||||
@@ -285,6 +285,9 @@ def generate_sdk_package_versions():
|
||||
if match:
|
||||
pos = match.start()
|
||||
version_status = version_status[:pos] + "." + version_status[pos:]
|
||||
else:
|
||||
version_status = f"{version_status}.{version_info['status_version']}"
|
||||
|
||||
version_str += "-" + version_status
|
||||
|
||||
import version
|
||||
|
||||
@@ -3,8 +3,8 @@ name = "Redot Engine"
|
||||
major = 4
|
||||
minor = 4
|
||||
patch = 0
|
||||
status = "rc"
|
||||
status_version = 1
|
||||
status = "stable"
|
||||
status_version = 0
|
||||
module_config = ""
|
||||
website = "https://redotengine.org"
|
||||
docs = "latest"
|
||||
|
||||
Reference in New Issue
Block a user