Skip to content

feat: Implement fill bucket edition mode #190

feat: Implement fill bucket edition mode

feat: Implement fill bucket edition mode #190

name: Check PR - Engine Export Template Release
on: [pull_request]
env:
SCONS_CACHE_MSVC_CONFIG: true
GODOT_BASE_VERSION: 4.2.0
concurrency:
group: ci-${{github.actor}}-${{github.head_ref || github.run_number}}-${{github.ref}}-check-pr-engine-export-template-release
cancel-in-progress: true
jobs:
build-export-release:
strategy:
matrix:
name: [ Linux, MacOs-x64, MacOs-arm64, Windows, Android-armv7, Android-armv8, Android-x86_64, iOS ]
include:
# always use the oldest still supported LTS version of github actions. See: https://github.com/utopia-rise/godot-kotlin-jvm/issues/224
- name: Linux
os: ubuntu-20.04
platform: x11
arch: x86_64
output_folder: bin/
- name: MacOs-x64
os: macos-latest
platform: macos
arch: x86_64
output_folder: bin/
- name: MacOs-arm64
os: macos-latest
platform: macos
arch: arm64
output_folder: bin/
- name: Windows
os: windows-2019
platform: windows
arch: x86_64
output_folder: bin/
- name: Android-armv7
os: ubuntu-latest
platform: android
arch: armv7
output_folder: platform/android/java/lib/libs/release/armeabi-v7a/
- name: Android-armv8
os: ubuntu-latest
platform: android
arch: arm64v8
output_folder: platform/android/java/lib/libs/release/arm64-v8a/
- name: Android-x86_64
os: ubuntu-latest
platform: android
arch: x86_64
output_folder: platform/android/java/lib/libs/release/x86_64/
- name: iOS
os: macos-latest
platform: ios
arch: arm64
output_folder: bin/
runs-on: ${{ matrix.os }}
steps:
- name: Clone Godot Engine
uses: actions/checkout@v2
with:
repository: godotengine/godot
ref: 4.2-stable
# TODO: remove once on godot 4.2.2 or newer!
- name: Cherry pick macos fix
run: |
git fetch -a
git config --global user.email "[email protected]"
git config --global user.name "Super Mario"
git cherry-pick a2c1c01941a3dec3e2a361d9dc21bb0390efcbaf
- name: Clone Godot Isometric Map module.
uses: actions/checkout@v2
with:
path: modules/isometric_maps
submodules: recursive
- name: Setup Godot dependencies
uses: ./.github/actions/godot-deps
- name: Fix scons version
run: |
python -m pip install scons==4.4.0
- name: Setup Vulkan SDK
if: matrix.platform == 'macos'
run: |
sh misc/scripts/install_vulkan_sdk_macos.sh
# Upload cache on completion and check it out now
- name: Setup Godot build cache
uses: ./.github/actions/godot-cache
with:
cache-name: ${{ github.job }}-${{ matrix.platform }}-${{ matrix.arch }}
- name: Set up JDK 11
if: matrix.platform == 'android'
uses: actions/setup-java@v1
with:
java-version: 11
- name: Setup Android SDK
if: matrix.platform == 'android'
uses: android-actions/setup-android@v2
- name: Get number of CPU cores
id: cpu-cores
uses: SimenB/github-actions-cpu-cores@v1
- name: Build release export template
uses: ./.github/actions/godot-build
with:
sconsflags: arch=${{ matrix.arch }} -j${{ steps.cpu-cores.outputs.count }}
platform: ${{ matrix.platform }}
target: template_release
- name: Upload android binary
if: matrix.platform == 'android'
uses: actions/upload-artifact@v3
with:
name: android-export-template_release-binary-${{ matrix.arch }}
path: |
**/${{ matrix.output_folder }}
build-android-export-template:
needs: [ build-export-release ]
strategy:
matrix:
os: [ ubuntu-latest ]
include:
- os: ubuntu-latest
java-version: 11
runs-on: ${{ matrix.os }}
steps:
- name: Clone Godot Engine
uses: actions/checkout@v2
with:
repository: godotengine/godot
ref: 4.2-stable
# TODO: remove once on godot 4.2.2 or newer!
- name: Cherry pick macos fix
run: |
git fetch -a
git config --global user.email "[email protected]"
git config --global user.name "Super Mario"
git cherry-pick a2c1c01941a3dec3e2a361d9dc21bb0390efcbaf
- name: Clone Godot Isometric Map module.
uses: actions/checkout@v2
with:
path: modules/isometric_maps
submodules: recursive
- name: Build android export template
uses: ./modules/isometric_maps/.github/actions/create-android-export-template
with:
target: template_release