From 761e2e08491939ccdaf4cfb705fa22cccceb2311 Mon Sep 17 00:00:00 2001 From: SelvinPL Date: Thu, 7 May 2026 22:25:41 +0200 Subject: [PATCH 1/7] fixing the build --- .github/workflows/build.yml | 33 ++++++++++++++++++--------------- 1 file changed, 18 insertions(+), 15 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index ca6e4e8..053915f 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -8,6 +8,10 @@ on: - main pull_request: +env: + EM_VERSION: 4.0.8 + EM_CACHE_FOLDER: 'emsdk-cache' + jobs: build: name: build @@ -16,13 +20,12 @@ jobs: matrix: os: [ubuntu-latest, macos-latest, windows-latest] steps: - - uses: actions/setup-python@v1 + - uses: actions/setup-python@v5 with: python-version: '3.x' - - uses: actions/checkout@v1 + - uses: actions/checkout@v4 with: submodules: true - - name: install packages (linux) run: | sudo apt-get update @@ -38,7 +41,7 @@ jobs: if: matrix.os == 'windows-latest' - name: download sdl2 (windows) - uses: albin-johansson/download-sdl2@v1 + uses: albin-johansson/download-sdl2@v2 with: version: 2.0.14 sources_destination: . @@ -76,14 +79,16 @@ jobs: - name: install packages run: sudo apt-get install ninja-build + - name: setup cache + uses: actions/cache@v4 + with: + path: ${{env.EM_CACHE_FOLDER}} + key: ${{env.EM_VERSION}}-${{ runner.os }} - name: emsdk install - run: | - mkdir $HOME/emsdk - git clone --depth 1 https://github.com/emscripten-core/emsdk.git $HOME/emsdk - $HOME/emsdk/emsdk update-tags - $HOME/emsdk/emsdk install tot - $HOME/emsdk/emsdk activate tot - + uses: mymindstorm/setup-emsdk@v14 + with: + version: ${{env.EM_VERSION}} + actions-cache-folder: ${{env.EM_CACHE_FOLDER}} - name: update path run: echo "PATH=$PATH:$HOME/emsdk" >> $GITHUB_ENV @@ -91,9 +96,7 @@ jobs: run: mkdir -p out - name: cmake - run: cmake -S . -B out -G Ninja -DCMAKE_TOOLCHAIN_FILE=$HOME/emsdk/upstream/emscripten/cmake/Modules/Platform/Emscripten.cmake -DCMAKE_BUILD_TYPE=Release -DWASM=true + run: emcmake cmake -S . -B out -G Ninja -DCMAKE_BUILD_TYPE=Release -DWASM=true - name: build - run: | - source $HOME/emsdk/emsdk_env.sh - cmake --build out + run: emmake cmake --build out From 1e973e4e896a400071e80f2bc5003afa900a258a Mon Sep 17 00:00:00 2001 From: SelvinPL Date: Thu, 7 May 2026 22:32:56 +0200 Subject: [PATCH 2/7] to check if only mac-os build fails --- .github/workflows/build.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 053915f..94e7213 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -17,6 +17,7 @@ jobs: name: build runs-on: ${{ matrix.os }} strategy: + fail-fast: false matrix: os: [ubuntu-latest, macos-latest, windows-latest] steps: From 8c1b370adc7fd8842dc6b38aec9122815bbf25b0 Mon Sep 17 00:00:00 2001 From: SelvinPL Date: Thu, 7 May 2026 22:37:01 +0200 Subject: [PATCH 3/7] this should fix build_tests.py on mac-os --- scripts/build_tests.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/build_tests.py b/scripts/build_tests.py index c3c7122..4f0c1cb 100755 --- a/scripts/build_tests.py +++ b/scripts/build_tests.py @@ -56,7 +56,7 @@ def BuildWlaGb(): Run('cmake', '-G', 'NMake Makefiles', '-DCMAKE_BUILD_TYPE=Release', WLA_DX_DIR, cwd=WLA_DX_BUILD_DIR) Run('nmake', cwd=WLA_DX_BUILD_DIR) else: - Run('cmake', WLA_DX_DIR, cwd=WLA_DX_BUILD_DIR) + Run('cmake', '-DCMAKE_POLICY_VERSION_MINIMUM=3.5', WLA_DX_DIR, cwd=WLA_DX_BUILD_DIR) Run('make', cwd=WLA_DX_BUILD_DIR) # Test that wla-gb was build OK. Run(os.path.join(WLA_DX_BIN_DIR, 'wla-gb')) From 64a133a5a41d4d6496e40b9d89b2f563897c844a Mon Sep 17 00:00:00 2001 From: SelvinPL Date: Thu, 7 May 2026 22:41:15 +0200 Subject: [PATCH 4/7] no-strict-prototypes --- scripts/build_tests.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/build_tests.py b/scripts/build_tests.py index 4f0c1cb..573d417 100755 --- a/scripts/build_tests.py +++ b/scripts/build_tests.py @@ -56,7 +56,7 @@ def BuildWlaGb(): Run('cmake', '-G', 'NMake Makefiles', '-DCMAKE_BUILD_TYPE=Release', WLA_DX_DIR, cwd=WLA_DX_BUILD_DIR) Run('nmake', cwd=WLA_DX_BUILD_DIR) else: - Run('cmake', '-DCMAKE_POLICY_VERSION_MINIMUM=3.5', WLA_DX_DIR, cwd=WLA_DX_BUILD_DIR) + Run('cmake', '-DCMAKE_POLICY_VERSION_MINIMUM=3.5', '-DCMAKE_C_FLAGS=-Wno-strict-prototypes', WLA_DX_DIR, cwd=WLA_DX_BUILD_DIR) Run('make', cwd=WLA_DX_BUILD_DIR) # Test that wla-gb was build OK. Run(os.path.join(WLA_DX_BIN_DIR, 'wla-gb')) From 179a43d938b2922e4bb8a371eb8d433daba305d1 Mon Sep 17 00:00:00 2001 From: SelvinPL Date: Thu, 7 May 2026 22:47:36 +0200 Subject: [PATCH 5/7] adding rgbds-live --- .github/workflows/build.yml | 35 ++++++++++++++++++++++++++++++++--- 1 file changed, 32 insertions(+), 3 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 94e7213..3360a6a 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -73,7 +73,7 @@ jobs: name: build-wasm runs-on: ubuntu-latest steps: - - uses: actions/checkout@v1 + - uses: actions/checkout@v4 with: submodules: true @@ -90,8 +90,6 @@ jobs: with: version: ${{env.EM_VERSION}} actions-cache-folder: ${{env.EM_CACHE_FOLDER}} - - name: update path - run: echo "PATH=$PATH:$HOME/emsdk" >> $GITHUB_ENV - name: mkdir run: mkdir -p out @@ -101,3 +99,34 @@ jobs: - name: build run: emmake cmake --build out + + build-rgbds-live: + name: build-rgbds-live + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + with: + submodules: true + + - name: install packages + run: sudo apt-get install ninja-build + + - name: setup cache + uses: actions/cache@v4 + with: + path: ${{env.EM_CACHE_FOLDER}} + key: ${{env.EM_VERSION}}-${{ runner.os }} + - name: emsdk install + uses: mymindstorm/setup-emsdk@v14 + with: + version: ${{env.EM_VERSION}} + actions-cache-folder: ${{env.EM_CACHE_FOLDER}} + + - name: mkdir + run: mkdir -p out + + - name: cmake + run: emcmake cmake -S . -B out -G Ninja -DCMAKE_BUILD_TYPE=Release -DWERROR=ON -DWASM=true -DRGBDS_LIVE=ONs + + - name: build + run: emmake cmake --build out From aa0db87d608df50c5aca5d490cdff973f278df54 Mon Sep 17 00:00:00 2001 From: SelvinPL Date: Thu, 7 May 2026 23:11:40 +0200 Subject: [PATCH 6/7] gbstudio build also --- .github/workflows/build.yml | 33 ++++++++++++++++++++++++++++++++- 1 file changed, 32 insertions(+), 1 deletion(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 3360a6a..fe9987d 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -126,7 +126,38 @@ jobs: run: mkdir -p out - name: cmake - run: emcmake cmake -S . -B out -G Ninja -DCMAKE_BUILD_TYPE=Release -DWERROR=ON -DWASM=true -DRGBDS_LIVE=ONs + run: emcmake cmake -S . -B out -G Ninja -DCMAKE_BUILD_TYPE=Release -DWERROR=ON -DWASM=true -DRGBDS_LIVE=ONs -DCMAKE_C_FLAGS="-DBREAKPOINTS_MAX_BANKS_NUMBER=256" + + - name: build + run: emmake cmake --build out + + build-gbstudio: + name: build-gbstudio + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + with: + submodules: true + + - name: install packages + run: sudo apt-get install ninja-build + + - name: setup cache + uses: actions/cache@v4 + with: + path: ${{env.EM_CACHE_FOLDER}} + key: ${{env.EM_VERSION}}-${{ runner.os }} + - name: emsdk install + uses: mymindstorm/setup-emsdk@v14 + with: + version: ${{env.EM_VERSION}} + actions-cache-folder: ${{env.EM_CACHE_FOLDER}} + + - name: mkdir + run: mkdir -p out + + - name: cmake + run: emcmake cmake -S . -B out -G Ninja -DCMAKE_BUILD_TYPE=Release -DWERROR=ON -DWASM=true -DGBSTUDIO=ON - name: build run: emmake cmake --build out From 599e83efe1a165df4dfcde7ef123a46dfde9cd34 Mon Sep 17 00:00:00 2001 From: SelvinPL Date: Fri, 8 May 2026 17:24:51 +0200 Subject: [PATCH 7/7] do not reapeat use matrix --- .github/workflows/build.yml | 117 +++++++++++------------------------- 1 file changed, 34 insertions(+), 83 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index fe9987d..c0b4760 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -69,95 +69,46 @@ jobs: python scripts/tester.py -vv --exe bin/binjgb-tester if: matrix.os != 'windows-latest' - build-wasm: - name: build-wasm + build-wasm-variants: + name: build-${{ matrix.target }} runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v4 - with: - submodules: true - - - name: install packages - run: sudo apt-get install ninja-build - - - name: setup cache - uses: actions/cache@v4 - with: - path: ${{env.EM_CACHE_FOLDER}} - key: ${{env.EM_VERSION}}-${{ runner.os }} - - name: emsdk install - uses: mymindstorm/setup-emsdk@v14 - with: - version: ${{env.EM_VERSION}} - actions-cache-folder: ${{env.EM_CACHE_FOLDER}} - - - name: mkdir - run: mkdir -p out - - - name: cmake - run: emcmake cmake -S . -B out -G Ninja -DCMAKE_BUILD_TYPE=Release -DWASM=true - - - name: build - run: emmake cmake --build out + strategy: + fail-fast: false + matrix: + target: [wasm, rgbds-live, gbstudio] + include: + - target: wasm + cmake_flags: "" + - target: rgbds-live + cmake_flags: '-DWERROR=ON -DRGBDS_LIVE=ON -DCMAKE_C_FLAGS="-DBREAKPOINTS_MAX_BANKS_NUMBER=256"' + - target: gbstudio + cmake_flags: "-DWERROR=ON -DGBSTUDIO=ON" - build-rgbds-live: - name: build-rgbds-live - runs-on: ubuntu-latest steps: - - uses: actions/checkout@v4 - with: - submodules: true + - uses: actions/checkout@v4 + with: + submodules: true - - name: install packages - run: sudo apt-get install ninja-build + - name: install packages + run: sudo apt-get install ninja-build - - name: setup cache - uses: actions/cache@v4 - with: - path: ${{env.EM_CACHE_FOLDER}} - key: ${{env.EM_VERSION}}-${{ runner.os }} - - name: emsdk install - uses: mymindstorm/setup-emsdk@v14 - with: - version: ${{env.EM_VERSION}} - actions-cache-folder: ${{env.EM_CACHE_FOLDER}} + - name: setup cache + uses: actions/cache@v4 + with: + path: ${{ env.EM_CACHE_FOLDER }} + key: ${{ env.EM_VERSION }}-${{ runner.os }} - - name: mkdir - run: mkdir -p out + - name: emsdk install + uses: mymindstorm/setup-emsdk@v14 + with: + version: ${{ env.EM_VERSION }} + actions-cache-folder: ${{ env.EM_CACHE_FOLDER }} - - name: cmake - run: emcmake cmake -S . -B out -G Ninja -DCMAKE_BUILD_TYPE=Release -DWERROR=ON -DWASM=true -DRGBDS_LIVE=ONs -DCMAKE_C_FLAGS="-DBREAKPOINTS_MAX_BANKS_NUMBER=256" + - name: mkdir + run: mkdir -p out - - name: build - run: emmake cmake --build out + - name: cmake + run: emcmake cmake -S . -B out -G Ninja -DCMAKE_BUILD_TYPE=Release -DWASM=true ${{ matrix.cmake_flags }} - build-gbstudio: - name: build-gbstudio - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v4 - with: - submodules: true - - - name: install packages - run: sudo apt-get install ninja-build - - - name: setup cache - uses: actions/cache@v4 - with: - path: ${{env.EM_CACHE_FOLDER}} - key: ${{env.EM_VERSION}}-${{ runner.os }} - - name: emsdk install - uses: mymindstorm/setup-emsdk@v14 - with: - version: ${{env.EM_VERSION}} - actions-cache-folder: ${{env.EM_CACHE_FOLDER}} - - - name: mkdir - run: mkdir -p out - - - name: cmake - run: emcmake cmake -S . -B out -G Ninja -DCMAKE_BUILD_TYPE=Release -DWERROR=ON -DWASM=true -DGBSTUDIO=ON - - - name: build - run: emmake cmake --build out + - name: build + run: emmake cmake --build out