Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

virtual mmu base tlb permissions based on Region if availible #1723

virtual mmu base tlb permissions based on Region if availible

virtual mmu base tlb permissions based on Region if availible #1723

Workflow file for this run

name: Build UC2
concurrency:
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
cancel-in-progress: true
on:
workflow_dispatch:
inputs:
buildType:
description: 'Build Type'
required: false
default: ''
type: choice
options:
- 'Debug'
- 'Release'
push:
paths-ignore:
- ".gitignore"
- "AUTHORS.TXT"
- "COPYING"
- "COPYING.LGPL2"
- "COPYING_GLIB"
- "CREDITS.TXT"
- "ChangeLog"
- "README.md"
- "docs/**"
pull_request:
env:
# Specify build type either according to the tag release or manual override
BUILD_TYPE: ${{ inputs.buildType != '' && inputs.buildType || startsWith(github.ref, 'refs/tags') && 'Release' || 'Debug' }}
jobs:
Windows:
runs-on: ${{ matrix.config.os }}
name: ${{ matrix.config.name }}
strategy:
fail-fast: false
matrix:
config:
- {
os: windows-2022,
arch: x64,
name: 'windows-x64 MINGW64 shared',
shared: 'yes',
mingw: MINGW64,
mingw-arch: x86_64,
artifact: 'windows-mingw64-shared.7z',
archiver: '7z a',
generators: 'Ninja'
}
- {
os: windows-2022,
arch: x64,
name: 'windows-x64 MINGW64 static',
shared: 'no',
mingw: MINGW64,
mingw-arch: x86_64,
artifact: 'windows-mingw64-static.7z',
archiver: '7z a',
generators: 'Ninja'
}
- { # This fails randomly which can't be reproduced.
os: windows-2022,
arch: x64,
name: 'windows-x64 MINGW32 shared',
shared: "yes",
mingw: MINGW32,
mingw-arch: i686,
artifact: 'windows-mingw32-shared.7z',
archiver: '7z a',
generators: 'Ninja'
}
- { # This fails randomly which can't be reproduced.
os: windows-2022,
arch: x64,
name: 'windows-x64 MINGW32 static',
shared: "no",
mingw: MINGW32,
mingw-arch: i686,
artifact: 'windows-mingw32-static.7z',
archiver: '7z a',
generators: 'Ninja'
}
- {
os: windows-2022,
arch: x64,
name: 'windows-x64 MSVC 64bit shared',
msvc-arch: x64,
artifact: 'windows-msvc64-shared.7z',
shared: 'yes',
archiver: '7z a',
generators: 'Visual Studio 17 2022'
}
- {
os: windows-2022,
arch: x86,
name: 'windows-x86 MSVC 32bit shared',
msvc-arch: x86,
artifact: 'windows-msvc32-shared.7z',
shared: 'yes',
archiver: '7z a',
generators: 'Visual Studio 17 2022'
}
- {
os: windows-2022,
arch: x64,
name: 'windows-x64 MSVC 64bit static',
msvc-arch: x64,
artifact: 'windows-msvc64-static.7z',
shared: 'no',
archiver: '7z a',
generators: 'Visual Studio 17 2022'
}
- {
os: windows-2022,
arch: x86,
name: 'windows-x86 MSVC 32bit static',
msvc-arch: x86,
artifact: 'windows-msvc32-static.7z',
shared: 'no',
archiver: '7z a',
generators: 'Visual Studio 17 2022'
}
compiler: [ gcc ]
steps:
- uses: actions/checkout@v4
- name: '🛠️ Win MINGW setup'
if: contains(matrix.config.mingw, 'MINGW')
uses: msys2/setup-msys2@v2
with:
msystem: ${{ matrix.config.mingw }}
install: >-
mingw-w64-${{ matrix.config.mingw-arch }}-cmake
mingw-w64-${{ matrix.config.mingw-arch }}-ninja
mingw-w64-${{ matrix.config.mingw-arch }}-cmocka
mingw-w64-${{ matrix.config.mingw-arch }}-${{ matrix.compiler }}
mingw-w64-${{ matrix.config.mingw-arch }}-toolchain
- name: '🛠️ Win MSVC 64 setup'
if: contains(matrix.config.name, 'MSVC 64')
uses: microsoft/setup-msbuild@v2
- name: '🛠️ Win MSVC 64 dev cmd setup'
if: contains(matrix.config.name, 'MSVC 64')
uses: ilammy/msvc-dev-cmd@v1
with:
arch: x64
- name: '🚧 Win MSVC 64 build'
if: contains(matrix.config.name, 'MSVC 64')
shell: bash
run: |
choco install ninja
ninja --version
cmake --version
mkdir build
cmake \
-S . \
-B . \
-DCMAKE_BUILD_TYPE=${{ env.BUILD_TYPE }} \
-G "${{ matrix.config.generators }}" \
-DCMAKE_INSTALL_PREFIX:PATH=instdir \
-DBUILD_SHARED_LIBS=${{ matrix.config.shared }}
cmake --build . --config ${{ env.BUILD_TYPE }}
cmake --install . --strip --config ${{ env.BUILD_TYPE }}
ctest -VV -C ${{ env.BUILD_TYPE }}
mv ${{ env.BUILD_TYPE }} instdir
- name: '🛠️ Win MSVC 32 setup'
if: contains(matrix.config.name, 'MSVC 32')
uses: ilammy/msvc-dev-cmd@v1
with:
arch: x86
- name: '🚧 Win MSVC 32 build'
if: contains(matrix.config.name, 'MSVC 32')
shell: bash
run: |
choco install ninja
ninja --version
cmake --version
mkdir build
cmake \
-S . \
-B . \
-A "win32" \
-DCMAKE_BUILD_TYPE=${{ env.BUILD_TYPE }} \
-G "${{ matrix.config.generators }}" \
-DCMAKE_INSTALL_PREFIX:PATH=instdir \
-DBUILD_SHARED_LIBS=${{ matrix.config.shared }}
cmake --build . --config ${{ env.BUILD_TYPE }}
cmake --install . --strip --config ${{ env.BUILD_TYPE }}
ctest -VV -C ${{ env.BUILD_TYPE }}
mv ${{ env.BUILD_TYPE }} instdir
- name: '🚧 Win MINGW build'
if: contains(matrix.config.mingw, 'MINGW')
shell: msys2 {0}
run: |
if [ ${{ matrix.config.mingw }} == 'MINGW32' ]; then
export CPPFLAGS=-D__USE_MINGW_ANSI_STDIO=1
#export CC=i686-w64-mingw32-gcc
export AR=gcc-ar
export RANLIB=gcc-ranlib
export CFLAGS="-m32 -static"
export LDFLAGS="-m32"
export LDFLAGS_STATIC="-m32"
export UNICORN_QEMU_FLAGS="--cpu=i386"
fi
mkdir build
mkdir instdir
cmake \
-S . \
-B . \
-DCMAKE_BUILD_TYPE=${{ env.BUILD_TYPE }} \
-G "${{ matrix.config.generators }}" \
-DCMAKE_INSTALL_PREFIX:PATH=instdir \
-DCMAKE_C_FLAGS:STRING="-static" \
-DBUILD_SHARED_LIBS=${{ matrix.config.shared }}
cmake --build . --config ${{ env.BUILD_TYPE }}
cmake --install . --strip
ctest -VV -C ${{ env.BUILD_TYPE }}
- name: '📦 Pack artifact'
if: always()
shell: bash
working-directory: instdir
run: |
ls -laR
${{ matrix.config.archiver }} ../${{ matrix.config.artifact }} . ../test*
- name: '📤 Upload artifact'
if: always()
uses: actions/upload-artifact@v4
with:
path: ./${{ matrix.config.artifact }}
name: ${{ matrix.config.artifact }}
Macos:
runs-on: ${{ matrix.config.os }}
name: ${{ matrix.config.name }} - ${{ matrix.compiler }}
strategy:
fail-fast: false
matrix:
config:
- {
os: macos-13, # x64
arch: x64,
name: 'macos-x64 cmake shared',
shared: 'yes',
artifact: 'macos-x64-cmake-shared-x64.7z',
archiver: '7za a',
generators: 'Ninja'
}
- {
os: macos-13,
arch: x64,
name: 'macos-x64 cmake static',
shared: 'no',
artifact: 'macos-x64-cmake-static-x64.7z',
archiver: '7za a',
generators: 'Ninja'
}
- {
os: macos-14, # arm64
arch: arm64,
name: 'macos-arm64 cmake shared',
shared: 'yes',
artifact: 'macos-arm64-cmake-shared-x64.7z',
archiver: '7za a',
generators: 'Ninja'
}
- {
os: macos-14,
arch: arm64,
name: 'macos-arm64 cmake static',
shared: 'no',
artifact: 'macos-arm64-cmake-static-x64.7z',
archiver: '7za a',
generators: 'Ninja'
}
- {
os: macos-13,
arch: x86_64,
name: 'android cmake',
artifact: 'Android-x86_64.7z',
archiver: '7za a',
generators: 'Ninja'
}
compiler: [ gcc ]
steps:
- uses: actions/checkout@v4
- name: '🚧 Mac build'
if: contains(matrix.config.name, 'macos')
shell: bash
run: |
ninja --version
cmake --version
mkdir build
mkdir instdir
cmake \
-S . \
-B . \
-DCMAKE_BUILD_TYPE=${{ env.BUILD_TYPE }} \
-G "${{ matrix.config.generators }}" \
-DCMAKE_INSTALL_PREFIX:PATH=instdir \
-DBUILD_SHARED_LIBS=${{ matrix.config.shared }}
cmake --build . --config ${{ env.BUILD_TYPE }}
cmake --install . --strip
ctest -VV -C ${{ env.BUILD_TYPE }}
- name: '🚧 Android x86_64 build'
if: contains(matrix.config.name, 'android')
shell: bash
run: |
mkdir build
mkdir instdir
cmake . -DCMAKE_TOOLCHAIN_FILE="$ANDROID_NDK/build/cmake/android.toolchain.cmake" \
-DANDROID_PLATFORM=android-28 \
-DANDROID_NDK="$ANDROID_NDK" \
-DANDROID_ABI=${{ matrix.config.arch }} \
-DOLP_SDK_ENABLE_TESTING=NO \
-DOLP_SDK_BUILD_EXAMPLES=ON \
-S . \
-B . \
-DCMAKE_BUILD_TYPE=${{ env.BUILD_TYPE }} \
-G "${{ matrix.config.generators }}" \
-DCMAKE_INSTALL_PREFIX:PATH=instdir
cmake --build . --config ${{ env.BUILD_TYPE }}
cmake --install . --strip
- name: '🚧 AVD Cache'
if: contains(matrix.config.name, 'android')
uses: actions/cache@v4
id: avd-cache
with:
path: |
~/.android/avd/*
~/.android/adb*
key: avd-28
- name: '🚧 Create x86_64 tests environment'
if: contains(matrix.config.name, 'android') && steps.avd-cache.outputs.cache-hit != 'true'
uses: reactivecircus/android-emulator-runner@v2
with:
api-level: 28
arch: ${{ matrix.config.arch }}
force-avd-creation: false
disable-animations: false
target: default
profile: Nexus 6
emulator-options: -no-window -gpu swiftshader_indirect -no-snapshot -noaudio -no-boot-anim -verbose -show-kernel
script: echo "Generated AVD snapshot for caching."
- name: '🚧 Android x86_64 tests'
if: contains(matrix.config.name, 'android')
uses: reactivecircus/android-emulator-runner@v2
with:
api-level: 28
force-avd-creation: false
disable-animations: true
arch: ${{ matrix.config.arch }}
target: default
profile: Nexus 6
emulator-options: -no-window -gpu swiftshader_indirect -no-snapshot -noaudio -no-boot-anim -verbose -show-kernel
script: bash ./adb.sh
- name: '📦 Pack artifact'
if: always()
shell: bash
working-directory: instdir
run: |
ls -laR
${{ matrix.config.archiver }} ../${{ matrix.config.artifact }} . ../test*
- name: '📤 Upload artifact'
if: always()
uses: actions/upload-artifact@v4
with:
path: ./${{ matrix.config.artifact }}
name: ${{ matrix.config.artifact }}
Linux:
runs-on: ${{ matrix.config.os }}
name: ${{ matrix.config.name }} - ${{ matrix.compiler }}
strategy:
fail-fast: false
matrix:
config:
- {
os: ubuntu-latest,
arch: x64,
name: 'ubuntu-x64 cmake shared',
shared: 'yes',
artifact: 'ubuntu-cmake-shared-x64.7z',
archiver: '7z a',
generators: 'Ninja'
}
- {
os: ubuntu-latest,
arch: x86,
name: 'ubuntu-x86 cmake shared',
shared: 'yes',
artifact: 'ubuntu-cmake-shared-x86.7z',
archiver: '7z a',
generators: 'Ninja'
}
- {
os: ubuntu-latest,
arch: x64,
name: 'ubuntu-x64 cmake static',
shared: 'no',
artifact: 'ubuntu-cmake-static-x64.7z',
archiver: '7z a',
generators: 'Ninja'
}
- {
os: ubuntu-latest,
arch: x86,
name: 'ubuntu-x86 cmake static',
shared: 'no',
artifact: 'ubuntu-cmake-static-x86.7z',
archiver: '7z a',
generators: 'Ninja'
}
- {
os: ubuntu-24.04-arm,
arch: aarch64,
name: 'ubuntu-aarch64 cmake',
artifact: 'ubuntu-cmake-aarch64.7z',
archiver: '7z a',
generators: 'Ninja',
distro: ubuntu24.04
}
- {
os: ubuntu-22.04,
arch: ppc64le,
name: 'ubuntu-ppc64le cmake',
artifact: 'ubuntu-cmake-ppc64le.7z',
archiver: '7z a',
generators: 'Ninja',
distro: ubuntu22.04
}
compiler: [ gcc ]
steps:
- uses: actions/checkout@v4
- name: '🚧 Linux x64/x86 build'
if: contains(matrix.config.arch, 'x64') || contains(matrix.config.arch, 'x86')
shell: bash
run: |
if [ ${{ matrix.config.arch }} == 'x64' ]; then
sudo apt-get update -q -y
sudo apt install -q -y libcmocka-dev ninja-build
else
export CFLAGS="-m32" LDFLAGS="-m32" LDFLAGS_STATIC="-m32" UNICORN_QEMU_FLAGS="--cpu=i386"
sudo dpkg --add-architecture i386
sudo apt-get update -q -y
sudo apt install -q -y lib32ncurses-dev lib32z1-dev lib32gcc-9-dev libc6-dev-i386 gcc-multilib \
libcmocka-dev:i386 libcmocka0:i386 libc6:i386 libgcc-s1:i386 ninja-build
fi
mkdir build
mkdir instdir
cmake \
-S . \
-B . \
-DCMAKE_BUILD_TYPE=${{ env.BUILD_TYPE }} \
-G "${{ matrix.config.generators }}" \
-DCMAKE_INSTALL_PREFIX:PATH=instdir \
-DBUILD_SHARED_LIBS=${{ matrix.config.shared }}
cmake --build . --config ${{ env.BUILD_TYPE }}
cmake --install . --strip
ctest -VV -C ${{ env.BUILD_TYPE }}
- name: '🚧 Linux aarch64 build'
if: contains(matrix.config.arch, 'aarch64')
shell: bash
run: |
sudo apt-get update -q -y
sudo apt-get install -q -y cmake build-essential automake libcmocka-dev pkg-config ${{ matrix.compiler }} ninja-build
mkdir build
mkdir instdir
cmake \
-S . \
-B . \
-DCMAKE_BUILD_TYPE=${{ env.BUILD_TYPE }} \
-G "${{ matrix.config.generators }}" \
-DCMAKE_INSTALL_PREFIX:PATH=instdir
cmake --build . --config ${{ env.BUILD_TYPE }}
cmake --install . --strip
ctest -VV -C ${{ env.BUILD_TYPE }}
- name: '🚧 Linux ppc64le build'
if: contains(matrix.config.arch, 'ppc64le')
uses: uraimo/run-on-arch-action@v3
with:
arch: ${{ matrix.config.arch }}
distro: ${{ matrix.config.distro }}
setup: |
mkdir -p "${PWD}/instdir"
dockerRunArgs: |
--volume "${PWD}/instdir:/instdir"
shell: /bin/sh
install: |
apt-get update -q -y
apt-get install -q -y cmake build-essential automake libcmocka-dev pkg-config ${{ matrix.compiler }} ninja-build
run: |
mkdir build
cmake \
-S . \
-B . \
-DCMAKE_BUILD_TYPE=${{ env.BUILD_TYPE }} \
-G "${{ matrix.config.generators }}" \
-DCMAKE_INSTALL_PREFIX:PATH=/instdir
cmake --build . --config ${{ env.BUILD_TYPE }}
cmake --install . --strip
ctest -VV -C ${{ env.BUILD_TYPE }}
- name: '📦 Pack artifact'
if: always()
shell: bash
working-directory: instdir
run: |
ls -laR
${{ matrix.config.archiver }} ../${{ matrix.config.artifact }} . ../test*
- name: '📤 Upload artifact'
if: always()
uses: actions/upload-artifact@v4
with:
path: ./${{ matrix.config.artifact }}
name: ${{ matrix.config.artifact }}
AlpineLinux:
runs-on: ${{ matrix.config.os }}
name: ${{ matrix.config.name }} - ${{ matrix.compiler }}
strategy:
fail-fast: false
matrix:
config:
- {
os: ubuntu-latest,
arch: x86_64,
name: 'alpine-x86_64 cmake shared',
shared: 'yes',
artifact: 'alpine-cmake-shared-x86_64.7z',
archiver: '7z a',
generators: 'Ninja'
}
- {
os: ubuntu-latest,
arch: x86_64,
name: 'alpine-x86_64 cmake static',
shared: 'no',
artifact: 'alpine-cmake-static-x86_64.7z',
archiver: '7z a',
generators: 'Ninja'
}
- {
os: ubuntu-latest,
arch: x86,
name: 'alpine-x86 cmake shared',
shared: 'yes',
artifact: 'alpine-cmake-shared-x86.7z',
archiver: '7z a',
generators: 'Ninja'
}
- {
os: ubuntu-latest,
arch: x86,
name: 'alpine-x86 cmake static',
shared: 'no',
artifact: 'alpine-cmake-static-x86.7z',
archiver: '7z a',
generators: 'Ninja'
}
- {
os: ubuntu-latest,
arch: aarch64,
name: 'alpine-aarch64 cmake',
artifact: 'alpine-cmake-aarch64.7z',
archiver: '7z a',
generators: 'Ninja',
distro: ubuntu24.04
}
- {
os: ubuntu-latest,
arch: ppc64le,
name: 'alpine-ppc64le cmake',
artifact: 'alpine-cmake-ppc64le.7z',
archiver: '7z a',
generators: 'Ninja',
distro: ubuntu24.04
}
compiler: [ gcc ]
steps:
- uses: actions/checkout@v4
- name: '🚧 Setup Alpine Linux'
uses: jirutka/setup-alpine@v1
with:
arch: ${{ matrix.config.arch }}
packages: cmake build-base automake cmocka-dev pkgconfig ${{ matrix.compiler }} ninja linux-headers
- name: '🚧 Linux Alpine build'
shell: alpine.sh --root {0}
run: |
mkdir build
mkdir instdir
cmake \
-S . \
-B . \
-DCMAKE_BUILD_TYPE=${{ env.BUILD_TYPE }} \
-G "${{ matrix.config.generators }}" \
-DCMAKE_INSTALL_PREFIX:PATH=instdir \
-DBUILD_SHARED_LIBS=${{ matrix.config.shared }}
cmake --build . --config ${{ env.BUILD_TYPE }}
cmake --install . --strip
ctest -VV -C ${{ env.BUILD_TYPE }}
- name: '📦 Pack artifact'
if: always()
shell: bash
working-directory: instdir
run: |
ls -laR
${{ matrix.config.archiver }} ../${{ matrix.config.artifact }} . ../test*
- name: '📤 Upload artifact'
if: always()
uses: actions/upload-artifact@v4
with:
path: ./${{ matrix.config.artifact }}
name: ${{ matrix.config.artifact }}
Morty Proxy This is a proxified and sanitized view of the page, visit original site.