Skip to content

Fixed ClassicCraftingScreen_Console positioning (#499) #86

Fixed ClassicCraftingScreen_Console positioning (#499)

Fixed ClassicCraftingScreen_Console positioning (#499) #86

Workflow file for this run

name: 'Build Artifacts'
on:
push:
branches: [ 'master' ]
jobs:
linux:
strategy:
fail-fast: false
matrix:
include:
- name: SDL 2 (OGL)
flags: '-DREMCPE_PLATFORM=sdl2 -DREMCPE_GFX_API=OGL'
packages: 'libsdl2-dev'
- name: SDL 2 (OGL + Shaders)
flags: '-DREMCPE_PLATFORM=sdl2 -DREMCPE_GFX_API=OGL_SHADERS'
packages: 'libsdl2-dev'
name: Linux (${{ matrix.name }})
runs-on: ubuntu-24.04
steps:
- name: Get Time
id: get-time
run: echo "time=$(date -u '+%Y-%m-%d-%H:%M:%S')" >> $GITHUB_OUTPUT
- uses: actions/cache@v5
with:
path: ~/ccache.tar.xz
key: linux-artifact-${{ matrix.name }}-${{ steps.get-time.outputs.time }}
restore-keys: linux-artifact-${{ matrix.name }}-
- name: Unpack cache
run: cd ~ && [ -f ccache.tar.xz ] && tar xf ccache.tar.xz || true
- name: Checkout Repository
uses: actions/checkout@v6
with:
submodules: true
- name: Install Dependencies
run: |
sudo apt-get update
sudo apt-get install --no-install-recommends -y \
build-essential \
cmake ninja-build \
ccache \
libopenal-dev \
zlib1g-dev \
${{ matrix.packages }}
- name: Build
run: |
mkdir build
cd build
cmake .. -GNinja \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_INTERPROCEDURAL_OPTIMIZATION=ON \
-DCMAKE_C_COMPILER_LAUNCHER=ccache \
-DCMAKE_CXX_COMPILER_LAUNCHER=ccache \
${{ matrix.flags }}
cmake --build .
- uses: actions/upload-artifact@v6
with:
name: Linux (${{ matrix.name }})
path: |
build/reminecraftpe
build/assets
- name: Pack cache
run: cd ~ && tar cJf ccache.tar.xz .cache/ccache
# linux32:
# strategy:
# fail-fast: false
# matrix:
# include:
# - name: SDL 2 (OGL)
# flags: '-DREMCPE_PLATFORM=sdl2 -DREMCPE_GFX_API=OGL'
# packages: 'libsdl2-dev:i386'
# - name: SDL 2 (OGL + Shaders)
# flags: '-DREMCPE_PLATFORM=sdl2 -DREMCPE_GFX_API=OGL_SHADERS'
# packages: 'libsdl2-dev:i386'
# name: Linux 32-bit (${{ matrix.name }})
# runs-on: ubuntu-24.04
# steps:
# - name: Get Time
# id: get-time
# run: echo "time=$(date -u '+%Y-%m-%d-%H:%M:%S')" >> $GITHUB_OUTPUT
# - uses: actions/cache@v5
# with:
# path: ~/ccache.tar.xz
# key: linux32-artifact-${{ matrix.name }}-${{ steps.get-time.outputs.time }}
# restore-keys: linux32-artifact-${{ matrix.name }}-
# - name: Unpack cache
# run: cd ~ && [ -f ccache.tar.xz ] && tar xf ccache.tar.xz || true
# - name: Checkout Repository
# uses: actions/checkout@v6
# with:
# submodules: true
# - name: Install Dependencies
# run: |
# sudo dpkg --add-architecture i386
# sudo apt-get update
# sudo apt-get install --no-install-recommends -y \
# build-essential \
# cmake ninja-build \
# ccache \
# gcc-multilib g++-multilib \
# libopenal-dev:i386 \
# zlib1g-dev:i386 \
# ${{ matrix.packages }}
# - name: Build
# run: |
# mkdir build
# cd build
# cmake .. -GNinja \
# -DCMAKE_BUILD_TYPE=Release \
# -DCMAKE_INTERPROCEDURAL_OPTIMIZATION=ON \
# -DCMAKE_C_COMPILER_LAUNCHER=ccache \
# -DCMAKE_CXX_COMPILER_LAUNCHER=ccache \
# -DCMAKE_C_FLAGS='-m32' \
# -DCMAKE_CXX_FLAGS='-m32' \
# ${{ matrix.flags }}
# cmake --build .
# - uses: actions/upload-artifact@v6
# with:
# name: Linux 32-bit (${{ matrix.name }})
# path: |
# build/reminecraftpe
# build/assets
# - name: Pack cache
# run: cd ~ && tar cJf ccache.tar.xz .cache/ccache
macos:
strategy:
fail-fast: false
name: macOS
runs-on: macos-15
steps:
- name: Get Time
id: get-time
run: echo "time=$(date -u '+%Y-%m-%d-%H:%M:%S')" >> $GITHUB_OUTPUT
- uses: actions/cache@v5
with:
path: ~/ccache.tar.xz
key: macos-artifact-${{ steps.get-time.outputs.time }}
restore-keys: macos-artifact-
- name: Unpack cache
run: cd ~ && [ -f ccache.tar.xz ] && tar xf ccache.tar.xz || true
- name: Checkout Repository
uses: actions/checkout@v6
with:
submodules: true
- name: Install Dependencies
run: brew install llvm@21 ccache
- name: Build macOS binary
run: LLVM_CONFIG="$(brew --prefix)/opt/llvm@21/bin/llvm-config" ./platforms/macos/build.sh
env:
NOSTRIP: 1
- uses: actions/upload-artifact@v6
with:
name: macOS
path: platforms/macos/build/ReMCPE
- name: Pack cache
run: cd ~ && tar cJf ccache.tar.xz Library/Caches/ccache
ios:
strategy:
fail-fast: false
name: iOS
runs-on: ubuntu-24.04
steps:
- name: Get Time
id: get-time
run: echo "time=$(date -u '+%Y-%m-%d-%H:%M:%S')" >> $GITHUB_OUTPUT
- uses: actions/cache@v5
with:
path: ~/ccache.tar.xz
key: ios-artifact-${{ steps.get-time.outputs.time }}
restore-keys: ios-artifact-
- name: Unpack cache
run: cd ~ && [ -f ccache.tar.xz ] && tar xf ccache.tar.xz || true
- name: Checkout Repository
uses: actions/checkout@v6
with:
submodules: true
- name: Install Dependencies
run: |
wget https://apt.llvm.org/llvm.sh
sudo bash llvm.sh 21
sudo apt-get update
sudo apt-get install --no-install-recommends -y \
cmake \
ccache \
clang-21 \
libplist-utils \
libplist-dev \
libssl-dev
- name: Build iOS binary
run: ./platforms/ios/build.sh
env:
CLANG: clang-21
AR: llvm-ar-21
RANLIB: llvm-ranlib-21
LLVM_CONFIG: llvm-config-21
NOSTRIP: 1
- uses: actions/upload-artifact@v6
with:
name: iOS
path: platforms/ios/build/ReMCPE.ipa
- name: Pack cache
run: cd ~ && tar cJf ccache.tar.xz .cache/ccache
android:
strategy:
fail-fast: false
matrix:
include: # TODO: switch to exclusively native android once it's fixed.
# - name: Native
# directory: platforms/android/project
- name: SDL 2
directory: platforms/sdl/sdl2/android
name: Android (${{ matrix.name }})
runs-on: ubuntu-24.04
steps:
- name: Get Time
id: get-time
run: echo "time=$(date -u '+%Y-%m-%d-%H:%M:%S')" >> $GITHUB_OUTPUT
- uses: actions/cache@v5
with:
path: ~/ccache.tar.xz
key: android-artifact-${{ steps.get-time.outputs.time }}
restore-keys: android-artifact-
- name: Unpack cache
run: cd ~ && [ -f ccache.tar.xz ] && tar xf ccache.tar.xz || true
- name: Checkout Repository
uses: actions/checkout@v6
with:
submodules: true
- name: Setup JDK
uses: actions/setup-java@v4
with:
java-version: '17'
distribution: 'temurin'
cache: gradle
- name: Install Dependencies
run: sudo apt-get install --no-install-recommends -y ccache
- name: Build
run: |
cd ${{ matrix.directory }}
./gradlew assembleRelease
env:
USE_CCACHE: 1
CCACHE_COMPILERCHECK: "%compiler% -v"
- uses: upup-company/apksigner-android@v1
id: sign_apk
env:
ANDROID_KEYSTORE: ${{ secrets.ANDROID_KEYSTORE }}
BUILD_TOOLS_VERSION: 36.1.0
if: ${{ env.ANDROID_KEYSTORE }}
with:
releaseDirectory: ${{ matrix.directory }}/app/build/outputs/apk/release
signingKeyBase64: ${{ secrets.ANDROID_KEYSTORE }}
keyStorePassword: ${{ secrets.ANDROID_KEYSTORE_PASSWORD }}
alias: remcpe
- name: Rename APK
env:
ANDROID_KEYSTORE: ${{ secrets.ANDROID_KEYSTORE }}
if: ${{ env.ANDROID_KEYSTORE }}
run: mv ${{ steps.sign_apk.outputs.signedReleaseFile }} ReMCPE.apk
- name: Rename APK
env:
ANDROID_KEYSTORE: ${{ secrets.ANDROID_KEYSTORE }}
if: ${{ !env.ANDROID_KEYSTORE }}
run: mv ${{ matrix.directory }}/app/build/outputs/apk/release/app-release-unsigned.apk ReMCPE.apk
- uses: actions/upload-artifact@v6
with:
name: Android (${{ matrix.name }})
path: ReMCPE.apk
- name: Pack cache
run: cd ~ && tar cJf ccache.tar.xz .cache/ccache
mingw:
strategy:
fail-fast: false
matrix:
include:
- name: Win32 (OGL)
flags: '-DREMCPE_PLATFORM=windows -DREMCPE_GFX_API=OGL -DCMAKE_TOOLCHAIN_FILE=../cmake/mingw-w64-toolchain.cmake'
- name: Win32 (OGL + Shaders)
flags: '-DREMCPE_PLATFORM=windows -DREMCPE_GFX_API=OGL_SHADERS -DCMAKE_TOOLCHAIN_FILE=../cmake/mingw-w64-toolchain.cmake'
- name: Win32 (OGL) 32-bit
flags: '-DREMCPE_PLATFORM=windows -DREMCPE_GFX_API=OGL -DCMAKE_TOOLCHAIN_FILE=../cmake/mingw-w64-toolchain-32bit.cmake'
- name: Win32 (OGL + Shaders) 32-bit
flags: '-DREMCPE_PLATFORM=windows -DREMCPE_GFX_API=OGL_SHADERS -DCMAKE_TOOLCHAIN_FILE=../cmake/mingw-w64-toolchain-32bit.cmake'
name: MinGW-w64 (${{ matrix.name }})
runs-on: ubuntu-24.04
steps:
- name: Get Time
id: get-time
run: echo "time=$(date -u '+%Y-%m-%d-%H:%M:%S')" >> $GITHUB_OUTPUT
- uses: actions/cache@v5
with:
path: ~/ccache.tar.xz
key: mingw-artifact-${{ matrix.name }}-${{ steps.get-time.outputs.time }}
restore-keys: mingw-artifact-${{ matrix.name }}-
- name: Unpack cache
run: cd ~ && [ -f ccache.tar.xz ] && tar xf ccache.tar.xz || true
- name: Checkout Repository
uses: actions/checkout@v6
with:
submodules: true
- name: Install Dependencies
run: |
sudo apt-get update
sudo apt-get install --no-install-recommends -y \
build-essential \
cmake ninja-build \
ccache \
mingw-w64
- name: Build
run: |
mkdir build
cd build
cmake .. -GNinja \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_INTERPROCEDURAL_OPTIMIZATION=ON \
-DCMAKE_C_COMPILER_LAUNCHER=ccache \
-DCMAKE_CXX_COMPILER_LAUNCHER=ccache \
${{ matrix.flags }}
cmake --build .
- uses: actions/upload-artifact@v6
with:
name: Windows (${{ matrix.name }})
path: |
build/reminecraftpe.exe
build/assets
- name: Pack cache
run: cd ~ && tar cJf ccache.tar.xz .cache/ccache
switch:
name: Nintendo Switch
runs-on: ubuntu-24.04
container:
image: devkitpro/devkita64@sha256:a52e05e06951c025fe23127252555e2f94d944458ff4f19028ba297e5ffc99fd
steps:
- name: Get Time
id: get-time
run: echo "time=$(date -u '+%Y-%m-%d-%H:%M:%S')" >> $GITHUB_OUTPUT
- uses: actions/cache@v5
with:
path: ~/ccache.tar.xz
key: switch-artifact-${{ steps.get-time.outputs.time }}
restore-keys: switch-artifact-
- name: Unpack cache
run: cd ~ && [ -f ccache.tar.xz ] && tar xf ccache.tar.xz || true
- name: Checkout Repository
uses: actions/checkout@v6
with:
submodules: true
- name: Install Dependencies
run: apt-get install --no-install-recommends -y ccache
- name: Build Switch binary
run: |
mkdir build
cd build
/opt/devkitpro/portlibs/switch/bin/aarch64-none-elf-cmake .. -GNinja \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_INTERPROCEDURAL_OPTIMIZATION=ON \
-DCMAKE_C_COMPILER_LAUNCHER=ccache \
-DCMAKE_CXX_COMPILER_LAUNCHER=ccache
/opt/devkitpro/portlibs/switch/bin/aarch64-none-elf-cmake --build .
mv platforms/sdl/sdl2/reminecraftpe.nro .
- uses: actions/upload-artifact@v6
with:
name: Nintendo Switch
path: |
build/reminecraftpe.nro
build/reminecraftpe.elf
build/assets
- name: Pack cache
run: cd ~ && tar cJf ccache.tar.xz .cache/ccache