Merge branch 'master' of github.com:SergioMartin86/jaffarPlus #23
This file contains 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" ] | |
jobs: | |
# Build documentation and checking proper style | |
docs: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- 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 . | |
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 and run tests (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 | |
- name: Installing apt packages | |
run: sudo apt install libgtest-dev gcovr libnuma-dev libtbb-dev libsdl2-dev libsdl2-image-dev | |
- name: Run meson configuration | |
run: meson setup build -Dbuildtype=release -Db_coverage=true -DuseNCurses=false -Demulators=QuickerNES | |
- name: Building project | |
run: ninja -C build | |
- name: Running tests | |
run: ninja test -C build | |
- name: Running coverage analysis | |
run: ninja coverage -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 and run tests (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: Installing apt packages | |
run: sudo apt install libgtest-dev gcovr libnuma-dev libtbb-dev libsdl2-dev libsdl2-image-dev | |
- name: Run meson configuration | |
run: meson setup build -Dbuildtype=release -DuseNCurses=false -Demulators=QuickerSDLPoP | |
- name: Building project | |
run: ninja -C build | |
- name: Running tests | |
run: ninja test -C build | |
# Build and run tests (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: Installing apt packages | |
run: sudo apt install libgtest-dev gcovr libnuma-dev libtbb-dev libsdl2-dev libsdl2-image-dev | |
- name: Run meson configuration | |
run: meson setup build -Dbuildtype=release -DuseNCurses=false -Demulators=QuickerSnes9x | |
- name: Building project | |
run: ninja -C build | |
- name: Running tests | |
run: ninja test -C build | |
# Build and run tests (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: Installing apt packages | |
run: sudo apt install libgtest-dev gcovr libnuma-dev libtbb-dev libsdl2-dev libsdl2-image-dev | |
- name: Run meson configuration | |
run: meson setup build -Dbuildtype=release -DuseNCurses=false -Demulators=QuickerGPGX | |
- name: Building project | |
run: ninja -C build | |
- name: Running tests | |
run: ninja test -C build | |
# Build and run tests (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: Installing apt packages | |
run: sudo apt install libgtest-dev gcovr libnuma-dev libtbb-dev libsdl2-dev libsdl2-image-dev | |
- name: Run meson configuration | |
run: meson setup build -Dbuildtype=release -DuseNCurses=false -Demulators=QuickerStella | |
- name: Building project | |
run: ninja -C build | |
# Disabling tests for stella because it does not run correctly in the CI | |
#- name: Running tests | |
# run: ninja test -C build | |
# Build and run tests (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: Installing apt packages | |
run: sudo apt install libgtest-dev gcovr libnuma-dev libtbb-dev libsdl2-dev libsdl2-image-dev | |
- name: Run meson configuration | |
run: meson setup build -Dbuildtype=release -DuseNCurses=false -Demulators=Atari2600Hawk | |
- name: Building project | |
run: ninja -C build | |
- name: Running tests | |
run: ninja test -C build | |
# Build and run tests (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: Installing apt packages | |
run: sudo apt install libgtest-dev gcovr libnuma-dev libtbb-dev libsdl2-dev libsdl2-image-dev | |
- name: Run meson configuration | |
run: meson setup build -Dbuildtype=release -DuseNCurses=false -Demulators=QuickerSMBC | |
- name: Building project | |
run: ninja -C build | |
- name: Running tests | |
run: ninja test -C build | |
# Build and run tests (QuickerRAW) | |
build-QuickerRAW: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Checkout QuickerRAW | |
run: | | |
git submodule init extern/quickerRAW | |
git submodule update --recursive extern/quickerRAW | |
- name: Create build directory | |
run: mkdir build | |
- name: Installing meson and ninja | |
run: python3 -m pip install meson ninja | |
- name: Installing apt packages | |
run: sudo apt install libgtest-dev gcovr libnuma-dev libtbb-dev libsdl2-dev libsdl2-image-dev | |
- name: Run meson configuration | |
run: meson setup build -Dbuildtype=release -DuseNCurses=false -Demulators=QuickerRAW | |
- name: Building project | |
run: ninja -C build | |
# Disabling tests for RAW because I cannot upload the game data files | |
#- name: Running tests | |
# run: ninja test -C build | |
# Build and run tests (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: Installing apt packages | |
run: sudo apt install libgtest-dev gcovr libnuma-dev libtbb-dev libsdl2-dev libsdl2-image-dev | |
- name: Run meson configuration | |
run: meson setup build -Dbuildtype=release -DuseNCurses=false -Demulators=QuickerArkBot | |
- name: Building project | |
run: ninja -C build | |
- name: Running tests | |
run: ninja test -C build |