mirror of
https://github.com/celisej567/mcpe.git
synced 2026-09-11 20:11:18 +03:00
156 lines
5.1 KiB
YAML
156 lines
5.1 KiB
YAML
name: 'Build'
|
|
|
|
on:
|
|
- push
|
|
- pull_request
|
|
|
|
jobs:
|
|
linux:
|
|
strategy:
|
|
fail-fast: false
|
|
matrix:
|
|
include:
|
|
- name: OpenGLES
|
|
render: gles
|
|
- name: OpenGL
|
|
render: gl
|
|
name: Linux (${{ matrix.name }})
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- name: Checkout Repository
|
|
uses: actions/checkout@v4
|
|
with:
|
|
submodules: true
|
|
- name: Install Dependencies
|
|
run: |
|
|
sudo apt-get update
|
|
sudo apt-get install --no-install-recommends -y build-essential cmake ninja-build libopenal-dev libsdl2-dev zlib1g-dev
|
|
- name: Build
|
|
run: |
|
|
cmake -GNinja -S. -Bbuild -Drender=${{ matrix.render }}
|
|
cmake --build build
|
|
- name: Upload artifact
|
|
uses: actions/upload-artifact@v4
|
|
with:
|
|
name: ReMinecraftPE-Linux-${{ matrix.name }}
|
|
path: build/app
|
|
windows:
|
|
strategy:
|
|
fail-fast: false
|
|
matrix:
|
|
include:
|
|
- name: SDL
|
|
platform: sdl
|
|
- name: Native
|
|
platform: windows
|
|
name: Windows (${{ matrix.name }})
|
|
runs-on: windows-latest
|
|
steps:
|
|
- name: Checkout Repository
|
|
uses: actions/checkout@v4
|
|
with:
|
|
submodules: true
|
|
- name: Build
|
|
run: |
|
|
cmake -S. -Bbuild -Dplatform=${{ matrix.platform }}
|
|
cmake --build build
|
|
- name: Upload artifact
|
|
uses: actions/upload-artifact@v4
|
|
with:
|
|
name: ReMinecraftPE-Windows-${{ matrix.name }}
|
|
path: build/app
|
|
wasm:
|
|
name: WASM
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- name: Checkout Repository
|
|
uses: actions/checkout@v4
|
|
with:
|
|
submodules: true
|
|
- name: Install Dependencies
|
|
run: |
|
|
sudo apt-get update
|
|
sudo apt-get install --no-install-recommends -y cmake ninja-build
|
|
- name: Build
|
|
run: ./build-wasm.sh
|
|
- name: Upload artifact
|
|
uses: actions/upload-artifact@v4
|
|
with:
|
|
name: ReMinecraftPE-WASM
|
|
path: wasm/dist
|
|
macos:
|
|
name: macOS
|
|
runs-on: macos-latest
|
|
steps:
|
|
- name: Checkout Repository
|
|
uses: actions/checkout@v4
|
|
with:
|
|
submodules: true
|
|
- name: Install Dependencies
|
|
run: brew install sdl2 libpng
|
|
- name: Build
|
|
run: |
|
|
cmake -S. -Bbuild
|
|
cmake --build build
|
|
- name: Upload artifact
|
|
uses: actions/upload-artifact@v4
|
|
with:
|
|
name: ReMinecraftPE-macOS
|
|
path: build/app
|
|
#- name: Build macOS Archive
|
|
# run: |
|
|
# cd platforms/macos/projects/Minecraft
|
|
# xcodebuild -scheme "MinecraftClient.SDL2" \
|
|
# -archivePath $RUNNER_TEMP/GitHubActions_MacOS_SDL2.xcarchive \
|
|
# -sdk macosx \
|
|
# -configuration "Release (Default)" \
|
|
# -destination generic/platform=macOS \
|
|
# GCC_PREPROCESSOR_DEFINITIONS='MISSING_SOUND_DATA $(GCC_PREPROCESSOR_DEFINITIONS)' \
|
|
# -quiet \
|
|
# clean archive
|
|
# @NOTE: Newer versions of Xcode will complain and refuse to build old XIB files or target old iOS versions
|
|
#ios:
|
|
# runs-on: macos-latest
|
|
# steps:
|
|
# - name: Checkout Repository
|
|
# uses: actions/checkout@v4
|
|
# with:
|
|
# submodules: true
|
|
# - name: Build iOS Archive
|
|
# run: |
|
|
# cd platforms/macos/projects/Minecraft
|
|
# xcodebuild -scheme "minecraftpe" \
|
|
# -archivePath $RUNNER_TEMP/GitHubActions_iOS.xcarchive \
|
|
# -sdk iphoneos \
|
|
# -configuration "Release (iOS)" \
|
|
# -destination generic/platform=iOS \
|
|
# GCC_PREPROCESSOR_DEFINITIONS='MISSING_SOUND_DATA $(GCC_PREPROCESSOR_DEFINITIONS)' \
|
|
# -quiet \
|
|
# clean archive
|
|
android:
|
|
strategy:
|
|
fail-fast: false
|
|
matrix:
|
|
include:
|
|
- name: SDL
|
|
directory: platforms/sdl/android
|
|
- name: Native
|
|
directory: platforms/android/project
|
|
name: Android (${{ matrix.name }})
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- name: Checkout Repository
|
|
uses: actions/checkout@v4
|
|
with:
|
|
submodules: true
|
|
- name: Setup JDK
|
|
uses: actions/setup-java@v4
|
|
with:
|
|
java-version: '17'
|
|
distribution: 'temurin'
|
|
cache: gradle
|
|
- name: Build
|
|
run: |
|
|
cd ${{ matrix.directory }}
|
|
./gradlew build
|