Skip to content

[Renderer] new blur effects #1883

[Renderer] new blur effects

[Renderer] new blur effects #1883

Workflow file for this run

name: Build OpenMinecraft native version
on: [push, pull_request]
env:
LINK_JOBS: 16
JOBS: 16
MODE: releasedbg
XMAKE_ARGS: -v
ANDROID_NDK_VERSION: r27c
OHOS_SDK_VERSION: 6.1-Release
CROSS_TOOL_VERSION: toolchain-20260719-1
jobs:
build:
strategy:
fail-fast: false
matrix:
include:
- os: windows-latest
plat: windows
arch: x64
loaderarch: amd64
- os: windows-latest
plat: windows
arch: x86
loaderarch: x86
- os: windows-latest
plat: windows
arch: arm64
loaderarch: arm64
# - os: ubuntu-latest
# plat: mingw
# arch: x86_64
# loaderarch: amd64
- os: ubuntu-22.04
plat: harmony
arch: arm64-v8a
loaderarch: arm64
- os: ubuntu-22.04
plat: harmony
arch: x86_64
loaderarch: amd64
- os: ubuntu-22.04
plat: android
arch: arm64-v8a
loaderarch: arm64
- os: ubuntu-22.04
plat: android
arch: armeabi-v7a
loaderarch: arm32
- os: ubuntu-22.04
plat: android
arch: x86_64
loaderarch: amd64
- os: ubuntu-22.04
plat: linux
arch: x86_64
loaderarch: amd64
- os: ubuntu-24.04-arm
plat: linux
arch: arm64
loaderarch: arm64
- os: ubuntu-latest
plat: linux-cross
arch: loong64
loaderarch: loong64
- os: ubuntu-latest
plat: linux-cross
arch: riscv64
loaderarch: riscv64
- os: ubuntu-latest
plat: linux-cross
arch: s390x
loaderarch: s390x
- os: ubuntu-latest
plat: linux-cross
arch: ppc64
loaderarch: ppc64
- os: macos-latest
plat: macos
arch: arm64
loaderarch: arm64
- os: macos-15-intel
plat: macos
arch: x86_64
loaderarch: amd64
- os: macos-latest
plat: ios
arch: arm64
loaderarch: arm64
- os: ubuntu-latest
plat: freebsd
arch: x86_64
loaderarch: amd64
- os: ubuntu-latest
plat: freebsd
arch: arm64
loaderarch: arm64
- os: ubuntu-latest
plat: freebsd
arch: riscv64
loaderarch: riscv64
- os: ubuntu-latest
plat: freebsd
arch: ppc64
loaderarch: ppc64
name: Build ${{ matrix.plat }}-${{ matrix.loaderarch }}
runs-on: ${{ matrix.os }}
permissions:
actions: write
contents: read
steps:
- name: Checkout repository
uses: actions/checkout@v5
with:
fetch-depth: 0
submodules: 'true'
- name: Fetch Resource
run: python ./scripts/fetchsrc.py
- name: Generate cache name (UNIX)
if: matrix.plat != 'windows'
run: |
CACHENAME=$(python ./misc/simple_name_gen.py)
echo $CACHENAME
echo "CACHENAME=$CACHENAME" >> $GITHUB_ENV
echo "CACHEPATH=~/.xmake/packages" >> $GITHUB_ENV
- name: Generate cache name (Windows)
if: matrix.plat == 'windows'
run: |
$CACHENAME = python ./misc/simple_name_gen.py
echo "CACHENAME=$CACHENAME" | Out-File -FilePath $env:GITHUB_ENV -Append
echo "CACHEPATH=C:/Users/runneradmin/AppData/Local/.xmake/packages" | Out-File -FilePath $env:GITHUB_ENV -Append
- name: MacOS JIT Test
if: matrix.plat == 'macos'
run: |
/usr/libexec/PlistBuddy -c "Add :com.apple.security.cs.allow-jit bool true" jit.entitlements
gcc -g -std=c17 -Wall -Wdeprecated -Wpedantic -Wextra -o ./jit ./misc/jit.c
codesign -s - -f --entitlements jit.entitlements jit
lldb -o r -o exit ./jit
rm jit
- name: Install xmake
if: matrix.plat != 'freebsd'
uses: xmake-io/github-action-setup-xmake@v1
with:
xmake-version: branch@dev
- name: Install xmake from source
if: matrix.plat == 'freebsd'
run: |
git clone https://github.com/OpenMinecraft-Dev/xmake
cd xmake
git submodule update --recursive --init
./scripts/get.sh __local__
source ~/.xmake/profile
- name: Setup Python packages
run: pip install wheel
- name: Restore xmake packages (Core)
uses: actions/cache/restore@v5
with:
path: ${{ env.CACHEPATH }}
key: ${{ matrix.plat }}-${{ matrix.loaderarch }}-corepkgs-
restore-keys: ${{ matrix.plat }}-${{ matrix.loaderarch }}-corepkgs-
- name: Setup OpenHarmony SDK
if: matrix.plat == 'harmony'
run: |
wget https://repo.huaweicloud.com/openharmony/os/${{ env.OHOS_SDK_VERSION }}/ohos-sdk-windows_linux-public.tar.gz
tar -zxvf ohos-sdk-windows_linux-public.tar.gz
unzip linux/native*.zip
- name: Setup Android NDK
if: matrix.plat == 'android'
run: |
wget https://dl.google.com/android/repository/android-ndk-${{ env.ANDROID_NDK_VERSION }}-linux.zip
unzip android-ndk-${{ env.ANDROID_NDK_VERSION }}-linux.zip
- name: Configure MacOS
if: matrix.plat == 'macos'
run: xmake f -m ${{ env.MODE }} --cxx="clang++" -yc ${{ env.XMAKE_ARGS }}
- name: Configure IOS
if: matrix.plat == 'ios'
run: xmake f -p iphoneos -m ${{ env.MODE }} --cc="clang" -yc ${{ env.XMAKE_ARGS
}}
- name: Configure OpenHarmony
if: matrix.plat == 'harmony'
run: xmake f -p harmony -a ${{ matrix.arch }} --toolchain=hdk --sdk=${{
github.workspace }}/native --cxflags="-fPIC" --cflags="-fPIC" -m ${{
env.MODE }} -yc ${{ env.XMAKE_ARGS }}
- name: Configure Android
if: matrix.plat == 'android'
run: xmake f -p android -a ${{ matrix.arch }} --ndk=${{ github.workspace
}}/android-ndk-${{ env.ANDROID_NDK_VERSION }} -m ${{ env.MODE }} -yc
${{ env.XMAKE_ARGS }} --cxxflags="-fPIC"
- name: Configure Linux
if: ${{ matrix.plat == 'linux' }}
run: |
sudo apt update
sudo apt install libgl1-mesa-dev
xmake f -a ${{ matrix.arch }} -m ${{ env.MODE }} -yc ${{ env.XMAKE_ARGS }}
- name: Configure Linux Cross
if: ${{ matrix.plat == 'linux-cross' }}
run: |
sudo apt update
sudo apt install clang llvm
wget https://github.com/OpenMinecraft-Dev/cross-toolchain-sysroot/releases/download/${{ env.CROSS_TOOL_VERSION }}/llvm-toolchain-linux-debian-${{ matrix.arch }}.tar.xz
mkdir toolchain
tar -xJf llvm-toolchain-linux-debian-${{ matrix.arch }}.tar.xz -C ./toolchain/
rm llvm-toolchain-linux-debian-${{ matrix.arch }}.tar.xz
xmake f --toolchain=llvm --sdk=${{ github.workspace }}/toolchain -a ${{ matrix.arch }} -m ${{ env.MODE }} -yc ${{ env.XMAKE_ARGS }}
- name: Configure FreeBSD Cross
if: ${{ matrix.plat == 'freebsd' }}
run: |
sudo apt update
sudo apt install clang llvm
wget https://github.com/OpenMinecraft-Dev/cross-toolchain-sysroot/releases/download/${{ env.CROSS_TOOL_VERSION }}/llvm-toolchain-freebsd-${{ matrix.arch }}.tar.xz
mkdir toolchain
tar -xJf llvm-toolchain-freebsd-${{ matrix.arch }}.tar.xz -C ./toolchain/
rm llvm-toolchain-freebsd-${{ matrix.arch }}.tar.xz
xmake f --toolchain=llvm --sdk=${{ github.workspace }}/toolchain -a ${{ matrix.arch }} -m ${{ env.MODE }} -p bsd --target_os=FreeBSD -yc ${{ env.XMAKE_ARGS }}
- name: Configure Windows
if: matrix.plat == 'windows'
run: xmake f --toolchain=msvc -a ${{ matrix.arch }} -m ${{ env.MODE }} -yc ${{
env.XMAKE_ARGS }}
- name: Configure mingw
if: matrix.plat == 'mingw'
run: |
sudo apt install gcc-mingw-w64 g++-mingw-w64 binutils-mingw-w64 mingw-w64-common mingw-w64-i686-dev mingw-w64-x86-64-dev libz-mingw-w64-dev
xmake f -p mingw -a ${{ matrix.arch }} --toolchain=mingw --sdk=/usr/x86_64-w64-mingw32 --ldflags="-static" -m ${{ env.MODE }} -yc ${{ env.XMAKE_ARGS }}
- name: Save xmake packages (Core)
uses: actions/cache/save@v5
with:
path: ${{ env.CACHEPATH }}
key: ${{ matrix.plat }}-${{ matrix.loaderarch }}-corepkgs-${{ env.CACHENAME }}
- name: Install zip via Chocolatey
if: matrix.plat == 'windows'
run: choco install zip -y
- name: Generate Bundle
run: |
cd bootassets
zip -9 -r boot.bundle .
mv boot.bundle ..
cd ..
cd externalassets
zip -9 -r external.bundle .
mv external.bundle ..
cd ..
- name: Build
run: xmake build -y --jobs=${{ env.JOBS }} --linkjobs=${{ env.LINK_JOBS }} ${{
env.XMAKE_ARGS }} openminecraft
- name: Build network tools
run: xmake build -y --jobs=${{ env.JOBS }} --linkjobs=${{ env.LINK_JOBS }} ${{
env.XMAKE_ARGS }} openminecraft-test-network
- name: Build VM tools
run: xmake build -y --jobs=${{ env.JOBS }} --linkjobs=${{ env.LINK_JOBS }} ${{
env.XMAKE_ARGS }} openminecraft-elysiavis
- name: Xmake Install
run: xmake install -o prod ${{ env.XMAKE_ARGS }} openminecraft
- name: Upload Artifacts
uses: actions/upload-artifact@v7
with:
name: target-${{ matrix.plat }}-${{ matrix.loaderarch }}-${{ env.CACHENAME }}
path: prod/
compression-level: 9