Add examples #123
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Build and Run Tests | |
on: | |
pull_request: | |
branches: [ "master" ] | |
push: | |
branches: [ "master" ] | |
concurrency: | |
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }} | |
cancel-in-progress: true | |
jobs: | |
# Build documentation and checking proper style | |
docs: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Updating Apt | |
run: sudo apt update | |
- name: Installing apt packages | |
run: sudo apt install clang-format doxygen graphviz | |
- name: Checking proper code styling | |
run: | | |
git submodule init extern/jaffarCommon | |
git submodule update extern/jaffarCommon | |
cp extern/jaffarCommon/.clang-format . | |
clang-format --version | |
extern/jaffarCommon/.build-tools/check-style.sh check source | |
extern/jaffarCommon/.build-tools/check-style.sh check games | |
extern/jaffarCommon/.build-tools/check-style.sh check emulators | |
# Build (QuickerNES) + Coverage Tests | |
build-QuickerNES: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Checkout QuickerNES | |
run: | | |
git submodule init extern/quickerNES | |
git submodule update --recursive extern/quickerNES | |
- name: Create build directory | |
run: mkdir build | |
- name: Installing meson and ninja | |
run: python3 -m pip install meson ninja gcovr | |
- name: Updating Apt | |
run: sudo apt update | |
- name: Installing apt packages | |
run: sudo apt install libgtest-dev libnuma-dev libtbb-dev libsdl2-dev libsdl2-image-dev | |
- name: Run meson configuration | |
run: meson setup build -Dbuildtype=release -Db_coverage=true -DuseNCurses=false -Demulator=QuickerNES | |
- name: Building project | |
run: ninja -C build | |
- name: Running tests | |
run: ninja test -C build | |
- name: Running coverage analysis | |
run: ninja coverage-xml -C build | |
- name: Upload coverage reports to Codecov | |
uses: codecov/[email protected] | |
with: | |
token: ${{ secrets.CODECOV_TOKEN }} | |
slug: SergioMartin86/jaffarPlus | |
fail_ci_if_error: true | |
files: build/meson-logs/coverage.xml | |
- uses: actions/upload-artifact@v4 | |
if: always() | |
with: | |
name: meson-logs | |
path: build/meson-logs/ | |
# Build (QuickerNESArkanoid) | |
build-QuickerNESArkanoid: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Checkout QuickerNES | |
run: | | |
git submodule init extern/quickerNES | |
git submodule update --recursive extern/quickerNES | |
- name: Create build directory | |
run: mkdir build | |
- name: Installing meson and ninja | |
run: python3 -m pip install meson ninja gcovr | |
- name: Updating Apt | |
run: sudo apt update | |
- name: Installing apt packages | |
run: sudo apt install libgtest-dev libnuma-dev libtbb-dev libsdl2-dev libsdl2-image-dev | |
- name: Run meson configuration | |
run: meson setup build -Dbuildtype=release -Db_coverage=true -DuseNCurses=false -Demulator=QuickerNESArkanoid | |
- name: Building project | |
run: ninja -C build | |
- name: Validating examples | |
run: meson test ValidateExamples -C build | |
# Build (QuickerSDLPoP) | |
build-QuickerSDLPoP: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Checkout QuickerSDLPoP | |
run: | | |
git submodule init extern/quickerSDLPoP | |
git submodule update --recursive extern/quickerSDLPoP | |
- name: Create build directory | |
run: mkdir build | |
- name: Installing meson and ninja | |
run: python3 -m pip install meson ninja | |
- name: Updating Apt | |
run: sudo apt update | |
- name: Installing apt packages | |
run: sudo apt install libgtest-dev libnuma-dev libtbb-dev libsdl2-dev libsdl2-image-dev | |
- name: Run meson configuration | |
run: meson setup build -Dbuildtype=release -DuseNCurses=false -Demulator=QuickerSDLPoP | |
- name: Building project | |
run: ninja -C build | |
- name: Validating examples | |
run: meson test ValidateExamples -C build | |
# Build (QuickerSnes9x) | |
build-QuickerSnes9x: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Checkout QuickerSnes9x | |
run: | | |
git submodule init extern/quickerSnes9x | |
git submodule update --recursive extern/quickerSnes9x | |
- name: Create build directory | |
run: mkdir build | |
- name: Installing meson and ninja | |
run: python3 -m pip install meson ninja | |
- name: Updating Apt | |
run: sudo apt update | |
- name: Installing apt packages | |
run: sudo apt install libgtest-dev libnuma-dev libtbb-dev libsdl2-dev libsdl2-image-dev | |
- name: Run meson configuration | |
run: meson setup build -Dbuildtype=release -DuseNCurses=false -Demulator=QuickerSnes9x | |
- name: Building project | |
run: ninja -C build | |
- name: Validating examples | |
run: meson test ValidateExamples -C build | |
# Build (QuickerGPGX) | |
build-QuickerGPGX: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Checkout QuickerGPGX | |
run: | | |
git submodule init extern/quickerGPGX | |
git submodule update --recursive extern/quickerGPGX | |
- name: Create build directory | |
run: mkdir build | |
- name: Installing meson and ninja | |
run: python3 -m pip install meson ninja | |
- name: Updating Apt | |
run: sudo apt update | |
- name: Installing apt packages | |
run: sudo apt install libgtest-dev libnuma-dev libtbb-dev libsdl2-dev libsdl2-image-dev | |
- name: Run meson configuration | |
run: meson setup build -Dbuildtype=release -DuseNCurses=false -Demulator=QuickerGPGX | |
- name: Building project | |
run: ninja -C build | |
- name: Validating examples | |
run: meson test ValidateExamples -C build | |
# Build (QuickerStella) | |
build-QuickerStella: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Checkout QuickerStella | |
run: | | |
git submodule init extern/quickerStella | |
git submodule update --recursive extern/quickerStella | |
- name: Create build directory | |
run: mkdir build | |
- name: Installing meson and ninja | |
run: python3 -m pip install meson ninja | |
- name: Updating Apt | |
run: sudo apt update | |
- name: Installing apt packages | |
run: sudo apt install libgtest-dev libnuma-dev libtbb-dev libsdl2-dev libsdl2-image-dev | |
- name: Run meson configuration | |
run: meson setup build -Dbuildtype=release -DuseNCurses=false -Demulator=QuickerStella | |
- name: Building project | |
run: ninja -C build | |
- name: Validating examples | |
run: meson test ValidateExamples -C build | |
# Build (Atari2600Hawk) | |
build-Atari2600Hawk: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Checkout Atari2600Hawk | |
run: | | |
git submodule init extern/atari2600Hawk | |
git submodule update --recursive extern/atari2600Hawk | |
- name: Checkout Atari2600Hawk | |
working-directory: extern/atari2600Hawk | |
run: | | |
git submodule init source/base/core | |
git submodule update --recursive source/base/core | |
- name: Create build directory | |
run: mkdir build | |
- name: Installing meson and ninja | |
run: python3 -m pip install meson ninja | |
- name: Updating Apt | |
run: sudo apt update | |
- name: Installing apt packages | |
run: sudo apt install libgtest-dev libnuma-dev libtbb-dev libsdl2-dev libsdl2-image-dev | |
- name: Run meson configuration | |
run: meson setup build -Dbuildtype=release -DuseNCurses=false -Demulator=Atari2600Hawk | |
- name: Building project | |
run: ninja -C build | |
- name: Validating examples | |
run: meson test ValidateExamples -C build | |
# Build (QuickerSMBC) | |
build-QuickerSMBC: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Checkout QuickerSMBC | |
run: | | |
git submodule init extern/quickerSMBC | |
git submodule update --recursive extern/quickerSMBC | |
- name: Create build directory | |
run: mkdir build | |
- name: Installing meson and ninja | |
run: python3 -m pip install meson ninja | |
- name: Updating Apt | |
run: sudo apt update | |
- name: Installing apt packages | |
run: sudo apt install libgtest-dev libnuma-dev libtbb-dev libsdl2-dev libsdl2-image-dev | |
- name: Run meson configuration | |
run: meson setup build -Dbuildtype=release -DuseNCurses=false -Demulator=QuickerSMBC | |
- name: Building project | |
run: ninja -C build | |
- name: Validating examples | |
run: meson test ValidateExamples -C build | |
# Build (QuickerNEORAW) | |
build-QuickerNEORAW: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Checkout QuickerNEORAW | |
run: | | |
git submodule init extern/quickerNEORAW | |
git submodule update --recursive extern/quickerNEORAW | |
- name: Create build directory | |
run: mkdir build | |
- name: Installing meson and ninja | |
run: python3 -m pip install meson ninja | |
- name: Updating Apt | |
run: sudo apt update | |
- name: Installing apt packages | |
run: sudo apt install libgtest-dev libnuma-dev libtbb-dev libsdl2-dev libsdl2-image-dev | |
- name: Run meson configuration | |
run: meson setup build -Dbuildtype=release -DuseNCurses=false -Demulator=QuickerNEORAW | |
- name: Building project | |
run: ninja -C build | |
- name: Validating examples | |
run: meson test ValidateExamples -C build | |
# Build (QuickerRAWGL) | |
build-QuickerRAWGL: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Checkout QuickerRAWGL | |
run: | | |
git submodule init extern/quickerRAWGL | |
git submodule update --recursive extern/quickerRAWGL | |
- name: Create build directory | |
run: mkdir build | |
- name: Installing meson and ninja | |
run: python3 -m pip install meson ninja | |
- name: Updating Apt | |
run: sudo apt update | |
- name: Installing apt packages | |
run: sudo apt install libgtest-dev libnuma-dev libtbb-dev libsdl2-dev libsdl2-image-dev | |
- name: Run meson configuration | |
run: meson setup build -Dbuildtype=release -DuseNCurses=false -Demulator=QuickerRAWGL | |
- name: Building project | |
run: ninja -C build | |
- name: Validating examples | |
run: meson test ValidateExamples -C build | |
# Build (QuickerArkBot) | |
build-QuickerArkBot: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Checkout QuickerArkBot | |
run: | | |
git submodule init extern/quickerArkBot | |
git submodule update --recursive extern/quickerArkBot | |
- name: Create build directory | |
run: mkdir build | |
- name: Installing meson and ninja | |
run: python3 -m pip install meson ninja | |
- name: Updating Apt | |
run: sudo apt update | |
- name: Installing apt packages | |
run: sudo apt install libgtest-dev libnuma-dev libtbb-dev libsdl2-dev libsdl2-image-dev | |
- name: Run meson configuration | |
run: meson setup build -Dbuildtype=release -DuseNCurses=false -Demulator=QuickerArkBot | |
- name: Building project | |
run: ninja -C build | |
- name: Validating examples | |
run: meson test ValidateExamples -C build | |
# Build (QuickerMGBA) | |
build-QuickerMGBA: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Checkout QuickerMGBA | |
run: | | |
git submodule init extern/quickerMGBA | |
git submodule update --recursive extern/quickerMGBA | |
- name: Create build directory | |
run: mkdir build | |
- name: Installing meson and ninja | |
run: python3 -m pip install meson ninja | |
- name: Updating Apt | |
run: sudo apt update | |
- name: Installing apt packages | |
run: sudo apt install libgtest-dev libnuma-dev libtbb-dev libsdl2-dev libsdl2-image-dev | |
- name: Run meson configuration | |
run: meson setup build -Dbuildtype=release -DuseNCurses=false -Demulator=QuickerMGBA | |
- name: Building project | |
run: ninja -C build | |
- name: Validating examples | |
run: meson test ValidateExamples -C build | |
# Build (QuickerGambatte) | |
build-QuickerGambatte: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Checkout QuickerGambatte | |
run: | | |
git submodule init extern/quickerGambatte | |
git submodule update --recursive extern/quickerGambatte | |
- name: Create build directory | |
run: mkdir build | |
- name: Installing meson and ninja | |
run: python3 -m pip install meson ninja | |
- name: Updating Apt | |
run: sudo apt update | |
- name: Installing apt packages | |
run: sudo apt install libgtest-dev libnuma-dev libtbb-dev libsdl2-dev libsdl2-image-dev | |
- name: Run meson configuration | |
run: meson setup build -Dbuildtype=release -DuseNCurses=false -Demulator=QuickerGambatte | |
- name: Building project | |
run: ninja -C build | |
- name: Validating examples | |
run: meson test ValidateExamples -C build | |
# Build (QuickerDSDA) | |
build-QuickerDSDA: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Checkout QuickerDSDA | |
run: | | |
git submodule init extern/quickerDSDA | |
git submodule update --recursive extern/quickerDSDA | |
- name: Create build directory | |
run: mkdir build | |
- name: Installing meson and ninja | |
run: python3 -m pip install meson ninja | |
- name: Updating Apt | |
run: sudo apt update | |
- name: Installing apt packages | |
run: sudo apt install libgtest-dev libnuma-dev libtbb-dev libsdl2-dev libsdl2-image-dev | |
- name: Run meson configuration | |
run: meson setup build -Dbuildtype=release -DuseNCurses=false -Demulator=QuickerDSDA | |
- name: Building project | |
run: ninja -C build | |
- name: Validating examples | |
run: meson test ValidateExamples -C build |