From 902498225b2bbb2e05f947199b6304293329e62a Mon Sep 17 00:00:00 2001 From: SergioMartin86 Date: Sat, 27 Apr 2024 20:55:10 +0200 Subject: [PATCH 01/45] Adding CI for building all waterbox cores --- .github/workflows/make.yml | 62 ++++++++++++++++++++++++ waterbox/ares64/make-both.sh | 6 ++- waterbox/make-all-cores.sh | 26 +++++----- waterbox/nyma/make-all-released-cores.sh | 22 +++++---- 4 files changed, 92 insertions(+), 24 deletions(-) create mode 100644 .github/workflows/make.yml diff --git a/.github/workflows/make.yml b/.github/workflows/make.yml new file mode 100644 index 00000000000..023121ffe7e --- /dev/null +++ b/.github/workflows/make.yml @@ -0,0 +1,62 @@ +name: Build and Run Tests + +on: + pull_request: + branches: [ "master" ] + push: + branches: [ "master", "CI" ] + +jobs: + + # Build waterbox and cores + build-waterbox: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + with: + submodules: recursive + - name: Installing clang 18 + run: wget https://apt.llvm.org/llvm.sh; + chmod u+x llvm.sh; + sudo ./llvm.sh 18; + clang-18 --version; + - name: Getting musl + run: git submodule init waterbox/musl; + git submodule update waterbox/musl + - name: Building musl + working-directory: ./waterbox/musl + env: + CC: clang-18 + CXX: clang++-18 + run: ./wbox_configure.sh; + ./wbox_build.sh; + - name: Building emulibc + working-directory: ./waterbox/emulibc + env: + CC: clang-18 + CXX: clang++-18 + run: make + - name: Building libco + working-directory: ./waterbox/libco + env: + CC: clang-18 + CXX: clang++-18 + run: make + - name: Building libcxx + working-directory: ./waterbox/libcxx + env: + CC: clang-18 + CXX: clang++-18 + run: ./do-everything.sh + - name: Building nyma + working-directory: ./waterbox/nyma + env: + CC: clang-18 + CXX: clang++-18 + run: ./build-and-install-zlib.sh + - name: Building all waterboxed cores + working-directory: ./waterbox + env: + CC: clang-18 + CXX: clang++-18 + run: INCLUDE_MAME=1 ./make-all-cores.sh \ No newline at end of file diff --git a/waterbox/ares64/make-both.sh b/waterbox/ares64/make-both.sh index 5a2c7e6b2a1..839fba042a5 100755 --- a/waterbox/ares64/make-both.sh +++ b/waterbox/ares64/make-both.sh @@ -1,5 +1,7 @@ #!/bin/sh set -e -make -f interpreter.mak $1 -j -make -f recompiler.mak $1 -j +jobCount=`nprocs` + +make -f interpreter.mak $1 -j${jobCount} +make -f recompiler.mak $1 -j${jobCount} diff --git a/waterbox/make-all-cores.sh b/waterbox/make-all-cores.sh index ac94da3e21a..f308f940293 100755 --- a/waterbox/make-all-cores.sh +++ b/waterbox/make-all-cores.sh @@ -1,22 +1,24 @@ #!/bin/sh set -e -cd emulibc && make -f Makefile $1 -j && cd - -cd libco && make -f Makefile $1 -j && cd - +jobCount=`nprocs` + +cd emulibc && make -f Makefile $1 -j${jobCount} && cd - +cd libco && make -f Makefile $1 -j${jobCount} && cd - cd ares64 && ./make-both.sh $1 && cd - -cd bsnescore && make -f Makefile $1 -j && cd - -cd gpgx && make -f Makefile $1 -j && cd - -cd libsnes && make -f Makefile $1 -j && cd - -cd melon && make -f Makefile $1 -j && cd - -cd picodrive && make -f Makefile $1 -j && cd - -cd snes9x && make -f Makefile $1 -j && cd - -cd tic80 && make -f Makefile $1 -j && cd - -cd uzem && make -f Makefile $1 -j && cd - -cd virtualjaguar && make -f Makefile $1 -j && cd - +cd bsnescore && make -f Makefile $1 -j${jobCount} && cd - +cd gpgx && make -f Makefile $1 -j${jobCount} && cd - +cd libsnes && make -f Makefile $1 -j${jobCount} && cd - +cd melon && make -f Makefile $1 -j${jobCount} && cd - +cd picodrive && make -f Makefile $1 -j${jobCount} && cd - +cd snes9x && make -f Makefile $1 -j${jobCount} && cd - +cd tic80 && make -f Makefile $1 -j${jobCount} && cd - +cd uzem && make -f Makefile $1 -j${jobCount} && cd - +cd virtualjaguar && make -f Makefile $1 -j${jobCount} && cd - cd nyma && ./make-all-released-cores.sh $1 && cd - # this won't include MAME by default, due to the large amount of time it takes to build it # to include MAME just do INCLUDE_MAME=1 ./make-all-cores.sh if test "$INCLUDE_MAME" ; then - cd mame-arcade && make -f Makefile $1 -j && cd - + cd mame-arcade && make -f Makefile $1 -j${jobCount} && cd - fi diff --git a/waterbox/nyma/make-all-released-cores.sh b/waterbox/nyma/make-all-released-cores.sh index de328e99fe7..b0382c76134 100755 --- a/waterbox/nyma/make-all-released-cores.sh +++ b/waterbox/nyma/make-all-released-cores.sh @@ -1,13 +1,15 @@ #!/bin/sh set -e -make -f turbo.mak $1 -j -make -f hyper.mak $1 -j -make -f ngp.mak $1 -j -make -f faust.mak $1 -j -make -f pcfx.mak $1 -j -make -f ss.mak $1 -j -make -f shock.mak $1 -j -# make -f lynx.mak $1 -j -make -f vb.mak $1 -j -# make -f wswan.mak $1 -j +jobCount=`nprocs` + +make -f turbo.mak $1 -j${jobCount} +make -f hyper.mak $1 -j${jobCount} +make -f ngp.mak $1 -j${jobCount} +make -f faust.mak $1 -j${jobCount} +make -f pcfx.mak $1 -j${jobCount} +make -f ss.mak $1 -j${jobCount} +make -f shock.mak $1 -j${jobCount} +# make -f lynx.mak $1 -j${jobCount} +make -f vb.mak $1 -j${jobCount} +# make -f wswan.mak $1 -j${jobCount} From 67616f1bd412d19ca3276149231023adab8e5a7d Mon Sep 17 00:00:00 2001 From: SergioMartin86 Date: Sat, 27 Apr 2024 21:00:26 +0200 Subject: [PATCH 02/45] Removing unnecessary branch name --- .github/workflows/make.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/make.yml b/.github/workflows/make.yml index 023121ffe7e..49bffb3fd5d 100644 --- a/.github/workflows/make.yml +++ b/.github/workflows/make.yml @@ -4,7 +4,7 @@ on: pull_request: branches: [ "master" ] push: - branches: [ "master", "CI" ] + branches: [ "master" ] jobs: From 4089dbede40c79b565977757a9387510c651f997 Mon Sep 17 00:00:00 2001 From: SergioMartin86 Date: Sat, 27 Apr 2024 21:02:33 +0200 Subject: [PATCH 03/45] Fixing workflow name --- .github/workflows/make.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/make.yml b/.github/workflows/make.yml index 49bffb3fd5d..4eddada3a34 100644 --- a/.github/workflows/make.yml +++ b/.github/workflows/make.yml @@ -1,4 +1,4 @@ -name: Build and Run Tests +name: Build Waterbox on: pull_request: From ae04d05964b8c5abc1d0cc92291299e2c10b5f83 Mon Sep 17 00:00:00 2001 From: SergioMartin86 Date: Sat, 27 Apr 2024 21:06:00 +0200 Subject: [PATCH 04/45] Removing unnecessary submodule init --- .github/workflows/make.yml | 3 --- 1 file changed, 3 deletions(-) diff --git a/.github/workflows/make.yml b/.github/workflows/make.yml index 4eddada3a34..bd32f2f6087 100644 --- a/.github/workflows/make.yml +++ b/.github/workflows/make.yml @@ -20,9 +20,6 @@ jobs: chmod u+x llvm.sh; sudo ./llvm.sh 18; clang-18 --version; - - name: Getting musl - run: git submodule init waterbox/musl; - git submodule update waterbox/musl - name: Building musl working-directory: ./waterbox/musl env: From 0bf6e2f9032d475cc0f14b7491019a2867627683 Mon Sep 17 00:00:00 2001 From: SergioMartin86 Date: Sat, 27 Apr 2024 21:07:34 +0200 Subject: [PATCH 05/45] Fixing nproc --- waterbox/ares64/make-both.sh | 2 +- waterbox/make-all-cores.sh | 2 +- waterbox/nyma/make-all-released-cores.sh | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/waterbox/ares64/make-both.sh b/waterbox/ares64/make-both.sh index 839fba042a5..d79c578de27 100755 --- a/waterbox/ares64/make-both.sh +++ b/waterbox/ares64/make-both.sh @@ -1,7 +1,7 @@ #!/bin/sh set -e -jobCount=`nprocs` +jobCount=`nproc` make -f interpreter.mak $1 -j${jobCount} make -f recompiler.mak $1 -j${jobCount} diff --git a/waterbox/make-all-cores.sh b/waterbox/make-all-cores.sh index f308f940293..92edec01f22 100755 --- a/waterbox/make-all-cores.sh +++ b/waterbox/make-all-cores.sh @@ -1,7 +1,7 @@ #!/bin/sh set -e -jobCount=`nprocs` +jobCount=`nproc` cd emulibc && make -f Makefile $1 -j${jobCount} && cd - cd libco && make -f Makefile $1 -j${jobCount} && cd - diff --git a/waterbox/nyma/make-all-released-cores.sh b/waterbox/nyma/make-all-released-cores.sh index b0382c76134..3d92c76f87b 100755 --- a/waterbox/nyma/make-all-released-cores.sh +++ b/waterbox/nyma/make-all-released-cores.sh @@ -1,7 +1,7 @@ #!/bin/sh set -e -jobCount=`nprocs` +jobCount=`nproc` make -f turbo.mak $1 -j${jobCount} make -f hyper.mak $1 -j${jobCount} From 21ebb28ac43691a1e7afb2743b16640b7134398c Mon Sep 17 00:00:00 2001 From: SergioMartin86 Date: Sun, 28 Apr 2024 10:34:29 +0200 Subject: [PATCH 06/45] Trying with global env --- .github/workflows/make.yml | 22 ++++------------------ 1 file changed, 4 insertions(+), 18 deletions(-) diff --git a/.github/workflows/make.yml b/.github/workflows/make.yml index bd32f2f6087..c2a7775c2ab 100644 --- a/.github/workflows/make.yml +++ b/.github/workflows/make.yml @@ -6,6 +6,10 @@ on: push: branches: [ "master" ] +env: + CC: clang-18 + CXX: clang++-18 + jobs: # Build waterbox and cores @@ -22,38 +26,20 @@ jobs: clang-18 --version; - name: Building musl working-directory: ./waterbox/musl - env: - CC: clang-18 - CXX: clang++-18 run: ./wbox_configure.sh; ./wbox_build.sh; - name: Building emulibc working-directory: ./waterbox/emulibc - env: - CC: clang-18 - CXX: clang++-18 run: make - name: Building libco working-directory: ./waterbox/libco - env: - CC: clang-18 - CXX: clang++-18 run: make - name: Building libcxx working-directory: ./waterbox/libcxx - env: - CC: clang-18 - CXX: clang++-18 run: ./do-everything.sh - name: Building nyma working-directory: ./waterbox/nyma - env: - CC: clang-18 - CXX: clang++-18 run: ./build-and-install-zlib.sh - name: Building all waterboxed cores working-directory: ./waterbox - env: - CC: clang-18 - CXX: clang++-18 run: INCLUDE_MAME=1 ./make-all-cores.sh \ No newline at end of file From 0f9ac971bc3afaf068533a690e8076a4cd80b1cc Mon Sep 17 00:00:00 2001 From: SergioMartin86 Date: Sun, 28 Apr 2024 10:48:00 +0200 Subject: [PATCH 07/45] Precompiling waterbox and archiving it for individual core compilation --- .github/workflows/make.yml | 24 +++++++++++++++++++++--- 1 file changed, 21 insertions(+), 3 deletions(-) diff --git a/.github/workflows/make.yml b/.github/workflows/make.yml index c2a7775c2ab..e6f3155b627 100644 --- a/.github/workflows/make.yml +++ b/.github/workflows/make.yml @@ -40,6 +40,24 @@ jobs: - name: Building nyma working-directory: ./waterbox/nyma run: ./build-and-install-zlib.sh - - name: Building all waterboxed cores - working-directory: ./waterbox - run: INCLUDE_MAME=1 ./make-all-cores.sh \ No newline at end of file + - name: Uploading compiled waterbox + uses: actions/upload-artifact@v4 + with: + name: compiled-waterbox + path: | + waterbox/libco/obj + waterbox/musl/obj + waterbox/emulibc/obj + waterbox/libcxx/build* + waterbox/sysroot + + build-gpgx: + runs-on: ubuntu-latest + steps: + - name: Download compiled waterbox + uses: actions/download-artifact@v4 + with: + name: compiled-waterbox + - name: Building GPGX core + working-directory: ./waterbox/gpgx + run: make -j${nproc} \ No newline at end of file From 866c5d50700e75f1618f52852bc96fd58483d0ba Mon Sep 17 00:00:00 2001 From: SergioMartin86 Date: Sun, 28 Apr 2024 10:49:00 +0200 Subject: [PATCH 08/45] Adding missing dependency --- .github/workflows/make.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/make.yml b/.github/workflows/make.yml index e6f3155b627..6d13ab9cbe4 100644 --- a/.github/workflows/make.yml +++ b/.github/workflows/make.yml @@ -53,6 +53,7 @@ jobs: build-gpgx: runs-on: ubuntu-latest + needs: build-waterbox steps: - name: Download compiled waterbox uses: actions/download-artifact@v4 From c731d5bbcce4c7faa2b8d2c4147f2f3ed3d7c90e Mon Sep 17 00:00:00 2001 From: SergioMartin86 Date: Sun, 28 Apr 2024 10:53:51 +0200 Subject: [PATCH 09/45] Doing individual submodule loads --- .github/workflows/make.yml | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/.github/workflows/make.yml b/.github/workflows/make.yml index 6d13ab9cbe4..b51dfed3443 100644 --- a/.github/workflows/make.yml +++ b/.github/workflows/make.yml @@ -2,9 +2,10 @@ name: Build Waterbox on: pull_request: - branches: [ "master" ] + #branches: [ "master" ] push: - branches: [ "master" ] + #branches: [ "master" ] + branches: [ "upstreamCI" ] env: CC: clang-18 @@ -17,8 +18,6 @@ jobs: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - with: - submodules: recursive - name: Installing clang 18 run: wget https://apt.llvm.org/llvm.sh; chmod u+x llvm.sh; @@ -59,6 +58,10 @@ jobs: uses: actions/download-artifact@v4 with: name: compiled-waterbox + - name: Getting GPGX submodule + working-directory: ./waterbox/gpgx + run: git submodule init Genesis-Plus-GX; + git submodule update Genesis-Plus-GX - name: Building GPGX core working-directory: ./waterbox/gpgx run: make -j${nproc} \ No newline at end of file From 4e5ce3f3bc323e578aa890b1cae3c9dfd160504b Mon Sep 17 00:00:00 2001 From: SergioMartin86 Date: Sun, 28 Apr 2024 10:57:28 +0200 Subject: [PATCH 10/45] Doing individual submodule loads --- .github/workflows/make.yml | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/.github/workflows/make.yml b/.github/workflows/make.yml index b51dfed3443..4f05e4c036d 100644 --- a/.github/workflows/make.yml +++ b/.github/workflows/make.yml @@ -23,6 +23,10 @@ jobs: chmod u+x llvm.sh; sudo ./llvm.sh 18; clang-18 --version; + - name: Getting submodule(s) + working-directory: ./waterbox/ + run: git submodule init llvm-project musl; + git submodule update llvm-project musl - name: Building musl working-directory: ./waterbox/musl run: ./wbox_configure.sh; @@ -58,7 +62,7 @@ jobs: uses: actions/download-artifact@v4 with: name: compiled-waterbox - - name: Getting GPGX submodule + - name: Getting submodule(s) working-directory: ./waterbox/gpgx run: git submodule init Genesis-Plus-GX; git submodule update Genesis-Plus-GX From 33478f2a4ceebe5cd71fc394900b0b0486344635 Mon Sep 17 00:00:00 2001 From: SergioMartin86 Date: Sun, 28 Apr 2024 11:00:25 +0200 Subject: [PATCH 11/45] Doing individual submodule loads --- .github/workflows/make.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/make.yml b/.github/workflows/make.yml index 4f05e4c036d..0bb653b7800 100644 --- a/.github/workflows/make.yml +++ b/.github/workflows/make.yml @@ -25,8 +25,8 @@ jobs: clang-18 --version; - name: Getting submodule(s) working-directory: ./waterbox/ - run: git submodule init llvm-project musl; - git submodule update llvm-project musl + run: git submodule init musl; + git submodule update musl - name: Building musl working-directory: ./waterbox/musl run: ./wbox_configure.sh; From 72543ae8350a60a551568c9ba7aedc852afe80f6 Mon Sep 17 00:00:00 2001 From: SergioMartin86 Date: Sun, 28 Apr 2024 11:07:07 +0200 Subject: [PATCH 12/45] Fixing missing checkout --- .github/workflows/make.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/make.yml b/.github/workflows/make.yml index 0bb653b7800..e388adc5f96 100644 --- a/.github/workflows/make.yml +++ b/.github/workflows/make.yml @@ -58,6 +58,7 @@ jobs: runs-on: ubuntu-latest needs: build-waterbox steps: + - uses: actions/checkout@v4 - name: Download compiled waterbox uses: actions/download-artifact@v4 with: From 5a3212fa4fae4d252aa4927a4f5c062bc399ac1f Mon Sep 17 00:00:00 2001 From: SergioMartin86 Date: Sun, 28 Apr 2024 11:13:52 +0200 Subject: [PATCH 13/45] Checking clang version --- .github/workflows/make.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/make.yml b/.github/workflows/make.yml index e388adc5f96..e20bcc6f218 100644 --- a/.github/workflows/make.yml +++ b/.github/workflows/make.yml @@ -18,6 +18,8 @@ jobs: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 + - name: Checking clang version + run: clang --version - name: Installing clang 18 run: wget https://apt.llvm.org/llvm.sh; chmod u+x llvm.sh; From 9868a69bc782b332f207a998f7c487183db0d9ca Mon Sep 17 00:00:00 2001 From: SergioMartin86 Date: Sun, 28 Apr 2024 11:14:24 +0200 Subject: [PATCH 14/45] Checking clang version --- .github/workflows/make.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/make.yml b/.github/workflows/make.yml index e20bcc6f218..5851f5d907f 100644 --- a/.github/workflows/make.yml +++ b/.github/workflows/make.yml @@ -19,7 +19,7 @@ jobs: steps: - uses: actions/checkout@v4 - name: Checking clang version - run: clang --version + run: clang-15 --version - name: Installing clang 18 run: wget https://apt.llvm.org/llvm.sh; chmod u+x llvm.sh; From 5b597a39eff37c5a81907c923522dbcfcf2865bb Mon Sep 17 00:00:00 2001 From: SergioMartin86 Date: Sun, 28 Apr 2024 11:15:19 +0200 Subject: [PATCH 15/45] Removing clang installation --- .github/workflows/make.yml | 11 ++--------- 1 file changed, 2 insertions(+), 9 deletions(-) diff --git a/.github/workflows/make.yml b/.github/workflows/make.yml index 5851f5d907f..240cfac6a09 100644 --- a/.github/workflows/make.yml +++ b/.github/workflows/make.yml @@ -8,8 +8,8 @@ on: branches: [ "upstreamCI" ] env: - CC: clang-18 - CXX: clang++-18 + CC: clang-15 + CXX: clang++-15 jobs: @@ -18,13 +18,6 @@ jobs: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - - name: Checking clang version - run: clang-15 --version - - name: Installing clang 18 - run: wget https://apt.llvm.org/llvm.sh; - chmod u+x llvm.sh; - sudo ./llvm.sh 18; - clang-18 --version; - name: Getting submodule(s) working-directory: ./waterbox/ run: git submodule init musl; From d7f462e978ce8242708bca4ae8dadd93671c8068 Mon Sep 17 00:00:00 2001 From: SergioMartin86 Date: Sun, 28 Apr 2024 11:22:38 +0200 Subject: [PATCH 16/45] Removing clang installation --- .github/workflows/make.yml | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/.github/workflows/make.yml b/.github/workflows/make.yml index 240cfac6a09..24a485b6ea4 100644 --- a/.github/workflows/make.yml +++ b/.github/workflows/make.yml @@ -51,13 +51,16 @@ jobs: build-gpgx: runs-on: ubuntu-latest - needs: build-waterbox + #needs: build-waterbox steps: - uses: actions/checkout@v4 - name: Download compiled waterbox uses: actions/download-artifact@v4 with: name: compiled-waterbox + - name: Listing Files + working-directory: ./waterbox/sysroot + run: ls -laR - name: Getting submodule(s) working-directory: ./waterbox/gpgx run: git submodule init Genesis-Plus-GX; From b46293a7abd3fd24c7dea5fd4b26b5c26a862181 Mon Sep 17 00:00:00 2001 From: SergioMartin86 Date: Sun, 28 Apr 2024 11:23:19 +0200 Subject: [PATCH 17/45] Fixing artifact --- .github/workflows/make.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/make.yml b/.github/workflows/make.yml index 24a485b6ea4..16424b023b7 100644 --- a/.github/workflows/make.yml +++ b/.github/workflows/make.yml @@ -51,7 +51,7 @@ jobs: build-gpgx: runs-on: ubuntu-latest - #needs: build-waterbox + needs: build-waterbox steps: - uses: actions/checkout@v4 - name: Download compiled waterbox From d25bae761f2a49450bd766993825986f07841656 Mon Sep 17 00:00:00 2001 From: SergioMartin86 Date: Sun, 28 Apr 2024 11:27:44 +0200 Subject: [PATCH 18/45] Fixing artifact --- .github/workflows/make.yml | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/.github/workflows/make.yml b/.github/workflows/make.yml index 16424b023b7..ba14bb5cf1a 100644 --- a/.github/workflows/make.yml +++ b/.github/workflows/make.yml @@ -49,6 +49,16 @@ jobs: waterbox/libcxx/build* waterbox/sysroot + check-artifact: + runs-on: ubuntu-latest + needs: build-waterbox + steps: + - uses: actions/download-artifact@v4 + with: + name: compiled-waterbox + - name: Display structure of downloaded files + run: ls -R + build-gpgx: runs-on: ubuntu-latest needs: build-waterbox From b2af305108006ac740b460610fdfb4b5b8db103f Mon Sep 17 00:00:00 2001 From: SergioMartin86 Date: Sun, 28 Apr 2024 11:32:25 +0200 Subject: [PATCH 19/45] Fixing artifact --- .github/workflows/make.yml | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/.github/workflows/make.yml b/.github/workflows/make.yml index ba14bb5cf1a..daa8bd093b3 100644 --- a/.github/workflows/make.yml +++ b/.github/workflows/make.yml @@ -43,11 +43,11 @@ jobs: with: name: compiled-waterbox path: | - waterbox/libco/obj - waterbox/musl/obj - waterbox/emulibc/obj - waterbox/libcxx/build* - waterbox/sysroot + ./waterbox/libco/obj + ./waterbox/musl/obj + ./waterbox/emulibc/obj + ./waterbox/libcxx/build* + ./waterbox/sysroot check-artifact: runs-on: ubuntu-latest From d92c93700239c5bfe886548204c02472607acb61 Mon Sep 17 00:00:00 2001 From: SergioMartin86 Date: Sun, 28 Apr 2024 11:38:24 +0200 Subject: [PATCH 20/45] Fixing artifact --- .github/workflows/make.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/make.yml b/.github/workflows/make.yml index daa8bd093b3..1becaf1bacd 100644 --- a/.github/workflows/make.yml +++ b/.github/workflows/make.yml @@ -41,6 +41,7 @@ jobs: - name: Uploading compiled waterbox uses: actions/upload-artifact@v4 with: + working-directory: . name: compiled-waterbox path: | ./waterbox/libco/obj From 4d9b87512c7c083b7409ca7b91d957069f61c26d Mon Sep 17 00:00:00 2001 From: SergioMartin86 Date: Sun, 28 Apr 2024 11:43:26 +0200 Subject: [PATCH 21/45] Fixing artifact --- .github/workflows/make.yml | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/.github/workflows/make.yml b/.github/workflows/make.yml index 1becaf1bacd..adc1885dcb8 100644 --- a/.github/workflows/make.yml +++ b/.github/workflows/make.yml @@ -41,14 +41,13 @@ jobs: - name: Uploading compiled waterbox uses: actions/upload-artifact@v4 with: - working-directory: . name: compiled-waterbox path: | - ./waterbox/libco/obj - ./waterbox/musl/obj - ./waterbox/emulibc/obj - ./waterbox/libcxx/build* - ./waterbox/sysroot + ${{ github.workspace }}/waterbox/libco/obj + ${{ github.workspace }}/waterbox/musl/obj + ${{ github.workspace }}/waterbox/emulibc/obj + ${{ github.workspace }}/waterbox/libcxx/build* + ${{ github.workspace }}/waterbox/sysroot check-artifact: runs-on: ubuntu-latest From eb6e49e2c2640c5df15601702476b8f02091a667 Mon Sep 17 00:00:00 2001 From: SergioMartin86 Date: Sun, 28 Apr 2024 11:47:52 +0200 Subject: [PATCH 22/45] Fixing artifact --- .github/workflows/make.yml | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/.github/workflows/make.yml b/.github/workflows/make.yml index adc1885dcb8..e7852fac547 100644 --- a/.github/workflows/make.yml +++ b/.github/workflows/make.yml @@ -43,11 +43,11 @@ jobs: with: name: compiled-waterbox path: | - ${{ github.workspace }}/waterbox/libco/obj - ${{ github.workspace }}/waterbox/musl/obj - ${{ github.workspace }}/waterbox/emulibc/obj - ${{ github.workspace }}/waterbox/libcxx/build* - ${{ github.workspace }}/waterbox/sysroot + waterbox/libco/obj + waterbox/musl/obj + waterbox/emulibc/obj + waterbox/libcxx/build* + waterbox/sysroot check-artifact: runs-on: ubuntu-latest @@ -68,6 +68,7 @@ jobs: uses: actions/download-artifact@v4 with: name: compiled-waterbox + path: waterbox - name: Listing Files working-directory: ./waterbox/sysroot run: ls -laR From e38f9174b979535bd10605f0f5cc1db2a626d503 Mon Sep 17 00:00:00 2001 From: SergioMartin86 Date: Sun, 28 Apr 2024 12:33:05 +0200 Subject: [PATCH 23/45] Fixing artifact --- .github/workflows/make.yml | 12 +----------- 1 file changed, 1 insertion(+), 11 deletions(-) diff --git a/.github/workflows/make.yml b/.github/workflows/make.yml index e7852fac547..f6bc1eef1ee 100644 --- a/.github/workflows/make.yml +++ b/.github/workflows/make.yml @@ -48,16 +48,6 @@ jobs: waterbox/emulibc/obj waterbox/libcxx/build* waterbox/sysroot - - check-artifact: - runs-on: ubuntu-latest - needs: build-waterbox - steps: - - uses: actions/download-artifact@v4 - with: - name: compiled-waterbox - - name: Display structure of downloaded files - run: ls -R build-gpgx: runs-on: ubuntu-latest @@ -69,7 +59,7 @@ jobs: with: name: compiled-waterbox path: waterbox - - name: Listing Files + - name: Giving execution permission to compiler working-directory: ./waterbox/sysroot run: ls -laR - name: Getting submodule(s) From 5596a11d686b22d4bfbfda14ad2cac1f157f4ba6 Mon Sep 17 00:00:00 2001 From: SergioMartin86 Date: Sun, 28 Apr 2024 12:36:22 +0200 Subject: [PATCH 24/45] Fixing CI --- .github/workflows/make.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/make.yml b/.github/workflows/make.yml index f6bc1eef1ee..03c52bcf6b5 100644 --- a/.github/workflows/make.yml +++ b/.github/workflows/make.yml @@ -61,7 +61,7 @@ jobs: path: waterbox - name: Giving execution permission to compiler working-directory: ./waterbox/sysroot - run: ls -laR + run: chmod u+x bin/* - name: Getting submodule(s) working-directory: ./waterbox/gpgx run: git submodule init Genesis-Plus-GX; From 65fa197b747fc7d6e3d41fd46b0b0c08569276dc Mon Sep 17 00:00:00 2001 From: SergioMartin86 Date: Sun, 28 Apr 2024 12:44:26 +0200 Subject: [PATCH 25/45] Adding Ares64 --- .github/workflows/make.yml | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) diff --git a/.github/workflows/make.yml b/.github/workflows/make.yml index 03c52bcf6b5..262fb267173 100644 --- a/.github/workflows/make.yml +++ b/.github/workflows/make.yml @@ -48,7 +48,24 @@ jobs: waterbox/emulibc/obj waterbox/libcxx/build* waterbox/sysroot - + + build-ares64: + runs-on: ubuntu-latest + needs: build-waterbox + steps: + - uses: actions/checkout@v4 + - name: Download compiled waterbox + uses: actions/download-artifact@v4 + with: + name: compiled-waterbox + path: waterbox + - name: Giving execution permission to compiler + working-directory: ./waterbox/sysroot + run: chmod u+x bin/* + - name: Building Ares64 core + working-directory: ./waterbox/ares64 + run: ./make-both.sh + build-gpgx: runs-on: ubuntu-latest needs: build-waterbox From 1a833c4fcf4101094707253c71a1d5cefb22119f Mon Sep 17 00:00:00 2001 From: SergioMartin86 Date: Sun, 28 Apr 2024 12:50:48 +0200 Subject: [PATCH 26/45] Fixing compilation --- .github/workflows/make.yml | 8 ++++---- waterbox/llvm-project | 1 - 2 files changed, 4 insertions(+), 5 deletions(-) delete mode 160000 waterbox/llvm-project diff --git a/.github/workflows/make.yml b/.github/workflows/make.yml index 262fb267173..e287eca7e08 100644 --- a/.github/workflows/make.yml +++ b/.github/workflows/make.yml @@ -43,10 +43,10 @@ jobs: with: name: compiled-waterbox path: | - waterbox/libco/obj - waterbox/musl/obj - waterbox/emulibc/obj - waterbox/libcxx/build* + waterbox/libco + waterbox/musl + waterbox/emulibc + waterbox/libcxx waterbox/sysroot build-ares64: diff --git a/waterbox/llvm-project b/waterbox/llvm-project deleted file mode 160000 index c13b7485b87..00000000000 --- a/waterbox/llvm-project +++ /dev/null @@ -1 +0,0 @@ -Subproject commit c13b7485b87909fcf739f62cfa382b55407433c0 From df13e9bdccd2e955cdabf63f143ff55b65a7bfec Mon Sep 17 00:00:00 2001 From: SergioMartin86 Date: Sun, 28 Apr 2024 12:54:20 +0200 Subject: [PATCH 27/45] Readding llvm-project deleted by mistake --- waterbox/llvm-project | 1 + 1 file changed, 1 insertion(+) create mode 160000 waterbox/llvm-project diff --git a/waterbox/llvm-project b/waterbox/llvm-project new file mode 160000 index 00000000000..c13b7485b87 --- /dev/null +++ b/waterbox/llvm-project @@ -0,0 +1 @@ +Subproject commit c13b7485b87909fcf739f62cfa382b55407433c0 From b8e4945ab863e094d26ef3a6bb432ce3b585cb84 Mon Sep 17 00:00:00 2001 From: SergioMartin86 Date: Sun, 28 Apr 2024 13:54:07 +0200 Subject: [PATCH 28/45] Fixing compilation --- .github/workflows/make.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/make.yml b/.github/workflows/make.yml index e287eca7e08..ee5ee5d0a51 100644 --- a/.github/workflows/make.yml +++ b/.github/workflows/make.yml @@ -8,8 +8,8 @@ on: branches: [ "upstreamCI" ] env: - CC: clang-15 - CXX: clang++-15 + CC: clang-16 + CXX: clang++-16 jobs: From 0078293320bc87b6b07225050e1fac37fec9392d Mon Sep 17 00:00:00 2001 From: SergioMartin86 Date: Sun, 28 Apr 2024 13:59:33 +0200 Subject: [PATCH 29/45] Fixing compilation --- .github/workflows/make.yml | 38 ++++++++++++-------------------------- 1 file changed, 12 insertions(+), 26 deletions(-) diff --git a/.github/workflows/make.yml b/.github/workflows/make.yml index ee5ee5d0a51..27ca908a4db 100644 --- a/.github/workflows/make.yml +++ b/.github/workflows/make.yml @@ -8,8 +8,8 @@ on: branches: [ "upstreamCI" ] env: - CC: clang-16 - CXX: clang++-16 + CC: clang-18 + CXX: clang++-18 jobs: @@ -49,40 +49,26 @@ jobs: waterbox/libcxx waterbox/sysroot - build-ares64: + build-waterboxed-cores: runs-on: ubuntu-latest needs: build-waterbox steps: - uses: actions/checkout@v4 - - name: Download compiled waterbox - uses: actions/download-artifact@v4 with: - name: compiled-waterbox - path: waterbox - - name: Giving execution permission to compiler - working-directory: ./waterbox/sysroot - run: chmod u+x bin/* - - name: Building Ares64 core - working-directory: ./waterbox/ares64 - run: ./make-both.sh - - build-gpgx: - runs-on: ubuntu-latest - needs: build-waterbox - steps: - - uses: actions/checkout@v4 + submodules: recursive - name: Download compiled waterbox uses: actions/download-artifact@v4 with: name: compiled-waterbox path: waterbox + - name: Installing clang 18 + run: wget https://apt.llvm.org/llvm.sh; + chmod u+x llvm.sh; + sudo ./llvm.sh 18; + clang-18 --version; - name: Giving execution permission to compiler working-directory: ./waterbox/sysroot run: chmod u+x bin/* - - name: Getting submodule(s) - working-directory: ./waterbox/gpgx - run: git submodule init Genesis-Plus-GX; - git submodule update Genesis-Plus-GX - - name: Building GPGX core - working-directory: ./waterbox/gpgx - run: make -j${nproc} \ No newline at end of file + - name: Building cores + working-directory: ./waterbox/ + run: ./make-all-cores.sh \ No newline at end of file From ccda795ab1fa5cb70e10d7c4d70c4844626adb5c Mon Sep 17 00:00:00 2001 From: SergioMartin86 Date: Sun, 28 Apr 2024 14:02:48 +0200 Subject: [PATCH 30/45] Fixing compilation --- .github/workflows/make.yml | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/.github/workflows/make.yml b/.github/workflows/make.yml index 27ca908a4db..d20af939432 100644 --- a/.github/workflows/make.yml +++ b/.github/workflows/make.yml @@ -18,10 +18,11 @@ jobs: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - - name: Getting submodule(s) - working-directory: ./waterbox/ - run: git submodule init musl; - git submodule update musl + - name: Installing clang 18 + run: wget https://apt.llvm.org/llvm.sh; + chmod u+x llvm.sh; + sudo ./llvm.sh 18; + clang-18 --version; - name: Building musl working-directory: ./waterbox/musl run: ./wbox_configure.sh; From 60d4b389ce1e5705041fc1ce10e0a7b66326b7e5 Mon Sep 17 00:00:00 2001 From: SergioMartin86 Date: Sun, 28 Apr 2024 14:03:06 +0200 Subject: [PATCH 31/45] Fixing compilation --- .github/workflows/make.yml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/.github/workflows/make.yml b/.github/workflows/make.yml index d20af939432..d696bdd79c5 100644 --- a/.github/workflows/make.yml +++ b/.github/workflows/make.yml @@ -23,6 +23,10 @@ jobs: chmod u+x llvm.sh; sudo ./llvm.sh 18; clang-18 --version; + - name: Getting submodule(s) + working-directory: ./waterbox/ + run: git submodule init musl; + git submodule update musl - name: Building musl working-directory: ./waterbox/musl run: ./wbox_configure.sh; From 5750044c05f49022aab48e7c229edf56cb375477 Mon Sep 17 00:00:00 2001 From: SergioMartin86 Date: Sun, 28 Apr 2024 14:14:10 +0200 Subject: [PATCH 32/45] Adding mame and quicknes --- .github/workflows/make.yml | 40 +++++++++++++++++++++++++++++++++++++- 1 file changed, 39 insertions(+), 1 deletion(-) diff --git a/.github/workflows/make.yml b/.github/workflows/make.yml index d696bdd79c5..70266e78b79 100644 --- a/.github/workflows/make.yml +++ b/.github/workflows/make.yml @@ -76,4 +76,42 @@ jobs: run: chmod u+x bin/* - name: Building cores working-directory: ./waterbox/ - run: ./make-all-cores.sh \ No newline at end of file + run: ./make-all-cores.sh + + build-mame: + runs-on: ubuntu-latest + needs: build-waterbox + steps: + - uses: actions/checkout@v4 + - name: Getting submodule(s) + working-directory: ./waterbox/ + run: git submodule init mame-arcade/mame; + git submodule update mame-arcade/mame + - name: Download compiled waterbox + uses: actions/download-artifact@v4 + with: + name: compiled-waterbox + path: waterbox + - name: Installing clang 18 + run: wget https://apt.llvm.org/llvm.sh; + chmod u+x llvm.sh; + sudo ./llvm.sh 18; + clang-18 --version; + - name: Giving execution permission to compiler + working-directory: ./waterbox/sysroot + run: chmod u+x bin/* + - name: Building MAME + working-directory: ./waterbox/mame-arcade + run: make -j${nproc} + + build-quickernes: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - name: Getting submodule(s) + working-directory: ./quicknes + run: git submodule init core; + git submodule update core + - name: Building QuickerNES core (Linux) + working-directory: ./quicknes/make + run: make -j${nproc} \ No newline at end of file From 31e0e4ff496ae3bd387df73fcf1f9979026c9a84 Mon Sep 17 00:00:00 2001 From: SergioMartin86 Date: Sun, 28 Apr 2024 14:15:36 +0200 Subject: [PATCH 33/45] Adding mame and quicknes --- .github/workflows/make.yml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/.github/workflows/make.yml b/.github/workflows/make.yml index 70266e78b79..ae6a9fd01b6 100644 --- a/.github/workflows/make.yml +++ b/.github/workflows/make.yml @@ -110,8 +110,7 @@ jobs: - uses: actions/checkout@v4 - name: Getting submodule(s) working-directory: ./quicknes - run: git submodule init core; - git submodule update core + run: git submodule update --init --recursive core - name: Building QuickerNES core (Linux) working-directory: ./quicknes/make run: make -j${nproc} \ No newline at end of file From 837b2a5298f8a6518382e05ad3d384f786bbd734 Mon Sep 17 00:00:00 2001 From: SergioMartin86 Date: Sun, 28 Apr 2024 14:19:46 +0200 Subject: [PATCH 34/45] improving checkout --- .github/workflows/make.yml | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/.github/workflows/make.yml b/.github/workflows/make.yml index ae6a9fd01b6..95eaae15479 100644 --- a/.github/workflows/make.yml +++ b/.github/workflows/make.yml @@ -25,8 +25,7 @@ jobs: clang-18 --version; - name: Getting submodule(s) working-directory: ./waterbox/ - run: git submodule init musl; - git submodule update musl + run: git submodule update --init --recursive musl - name: Building musl working-directory: ./waterbox/musl run: ./wbox_configure.sh; @@ -59,8 +58,13 @@ jobs: needs: build-waterbox steps: - uses: actions/checkout@v4 - with: - submodules: recursive + - name: Getting submodule(s) + working-directory: ./waterbox/ + run: git submodule update --init --recursive snes9x; + git submodule update --init --recursive melon/melonDS; + git submodule update --init --recursive nyma/mednafen; + git submodule update --init --recursive ares64/ares/thirdparty/angrylion-rdp; + git submodule update --init --recursive gpgx/Genesis-Plus-GX; - name: Download compiled waterbox uses: actions/download-artifact@v4 with: @@ -85,8 +89,7 @@ jobs: - uses: actions/checkout@v4 - name: Getting submodule(s) working-directory: ./waterbox/ - run: git submodule init mame-arcade/mame; - git submodule update mame-arcade/mame + run: git submodule update --init --recursive mame-arcade/mame - name: Download compiled waterbox uses: actions/download-artifact@v4 with: From 16e4172ca875e126d93bc5cdee92d100e3af61b1 Mon Sep 17 00:00:00 2001 From: SergioMartin86 Date: Sun, 28 Apr 2024 14:23:33 +0200 Subject: [PATCH 35/45] Enabling running in the PR --- .github/workflows/make.yml | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/.github/workflows/make.yml b/.github/workflows/make.yml index 95eaae15479..17b839ba6cb 100644 --- a/.github/workflows/make.yml +++ b/.github/workflows/make.yml @@ -2,10 +2,9 @@ name: Build Waterbox on: pull_request: - #branches: [ "master" ] + branches: [ "master" ] push: - #branches: [ "master" ] - branches: [ "upstreamCI" ] + branches: [ "master" ] env: CC: clang-18 From 2f5e28c95acecd3bf27bce3a97dd388d991f58b6 Mon Sep 17 00:00:00 2001 From: SergioMartin86 Date: Sun, 28 Apr 2024 15:20:30 +0200 Subject: [PATCH 36/45] Adding script to build using number of cores --- .github/workflows/make.yml | 4 ++-- waterbox/mame-arcade/make.sh | 1 + 2 files changed, 3 insertions(+), 2 deletions(-) create mode 100755 waterbox/mame-arcade/make.sh diff --git a/.github/workflows/make.yml b/.github/workflows/make.yml index 17b839ba6cb..f9265eb804c 100644 --- a/.github/workflows/make.yml +++ b/.github/workflows/make.yml @@ -104,7 +104,7 @@ jobs: run: chmod u+x bin/* - name: Building MAME working-directory: ./waterbox/mame-arcade - run: make -j${nproc} + run: ./make.sh build-quickernes: runs-on: ubuntu-latest @@ -115,4 +115,4 @@ jobs: run: git submodule update --init --recursive core - name: Building QuickerNES core (Linux) working-directory: ./quicknes/make - run: make -j${nproc} \ No newline at end of file + run: make \ No newline at end of file diff --git a/waterbox/mame-arcade/make.sh b/waterbox/mame-arcade/make.sh new file mode 100755 index 00000000000..8e05db47f70 --- /dev/null +++ b/waterbox/mame-arcade/make.sh @@ -0,0 +1 @@ +make -j${nproc} From c22f726b1bbc3e3c650069e7d6374961c04a1fd2 Mon Sep 17 00:00:00 2001 From: SergioMartin86 Date: Sun, 28 Apr 2024 17:08:16 +0200 Subject: [PATCH 37/45] Trying to fix Mame and use 4 jobs for buildint --- .github/workflows/make.yml | 4 ++-- waterbox/mame-arcade/make.sh | 1 - 2 files changed, 2 insertions(+), 3 deletions(-) delete mode 100755 waterbox/mame-arcade/make.sh diff --git a/.github/workflows/make.yml b/.github/workflows/make.yml index f9265eb804c..237bb05329a 100644 --- a/.github/workflows/make.yml +++ b/.github/workflows/make.yml @@ -104,7 +104,7 @@ jobs: run: chmod u+x bin/* - name: Building MAME working-directory: ./waterbox/mame-arcade - run: ./make.sh + run: make -j4 build-quickernes: runs-on: ubuntu-latest @@ -115,4 +115,4 @@ jobs: run: git submodule update --init --recursive core - name: Building QuickerNES core (Linux) working-directory: ./quicknes/make - run: make \ No newline at end of file + run: make -j4 \ No newline at end of file diff --git a/waterbox/mame-arcade/make.sh b/waterbox/mame-arcade/make.sh deleted file mode 100755 index 8e05db47f70..00000000000 --- a/waterbox/mame-arcade/make.sh +++ /dev/null @@ -1 +0,0 @@ -make -j${nproc} From 26112392a11f3bda840468a36d4b7283d939951b Mon Sep 17 00:00:00 2001 From: SergioMartin86 Date: Sun, 28 Apr 2024 18:45:49 +0200 Subject: [PATCH 38/45] Reverting no longer needed changes to scripts --- .github/workflows/make.yml | 2 +- waterbox/ares64/make-both.sh | 6 ++---- waterbox/make-all-cores.sh | 26 +++++++++++------------- waterbox/nyma/make-all-released-cores.sh | 22 +++++++++----------- 4 files changed, 25 insertions(+), 31 deletions(-) diff --git a/.github/workflows/make.yml b/.github/workflows/make.yml index 237bb05329a..cc9ca13af64 100644 --- a/.github/workflows/make.yml +++ b/.github/workflows/make.yml @@ -115,4 +115,4 @@ jobs: run: git submodule update --init --recursive core - name: Building QuickerNES core (Linux) working-directory: ./quicknes/make - run: make -j4 \ No newline at end of file + run: make -j4 diff --git a/waterbox/ares64/make-both.sh b/waterbox/ares64/make-both.sh index d79c578de27..5a2c7e6b2a1 100755 --- a/waterbox/ares64/make-both.sh +++ b/waterbox/ares64/make-both.sh @@ -1,7 +1,5 @@ #!/bin/sh set -e -jobCount=`nproc` - -make -f interpreter.mak $1 -j${jobCount} -make -f recompiler.mak $1 -j${jobCount} +make -f interpreter.mak $1 -j +make -f recompiler.mak $1 -j diff --git a/waterbox/make-all-cores.sh b/waterbox/make-all-cores.sh index 92edec01f22..ac94da3e21a 100755 --- a/waterbox/make-all-cores.sh +++ b/waterbox/make-all-cores.sh @@ -1,24 +1,22 @@ #!/bin/sh set -e -jobCount=`nproc` - -cd emulibc && make -f Makefile $1 -j${jobCount} && cd - -cd libco && make -f Makefile $1 -j${jobCount} && cd - +cd emulibc && make -f Makefile $1 -j && cd - +cd libco && make -f Makefile $1 -j && cd - cd ares64 && ./make-both.sh $1 && cd - -cd bsnescore && make -f Makefile $1 -j${jobCount} && cd - -cd gpgx && make -f Makefile $1 -j${jobCount} && cd - -cd libsnes && make -f Makefile $1 -j${jobCount} && cd - -cd melon && make -f Makefile $1 -j${jobCount} && cd - -cd picodrive && make -f Makefile $1 -j${jobCount} && cd - -cd snes9x && make -f Makefile $1 -j${jobCount} && cd - -cd tic80 && make -f Makefile $1 -j${jobCount} && cd - -cd uzem && make -f Makefile $1 -j${jobCount} && cd - -cd virtualjaguar && make -f Makefile $1 -j${jobCount} && cd - +cd bsnescore && make -f Makefile $1 -j && cd - +cd gpgx && make -f Makefile $1 -j && cd - +cd libsnes && make -f Makefile $1 -j && cd - +cd melon && make -f Makefile $1 -j && cd - +cd picodrive && make -f Makefile $1 -j && cd - +cd snes9x && make -f Makefile $1 -j && cd - +cd tic80 && make -f Makefile $1 -j && cd - +cd uzem && make -f Makefile $1 -j && cd - +cd virtualjaguar && make -f Makefile $1 -j && cd - cd nyma && ./make-all-released-cores.sh $1 && cd - # this won't include MAME by default, due to the large amount of time it takes to build it # to include MAME just do INCLUDE_MAME=1 ./make-all-cores.sh if test "$INCLUDE_MAME" ; then - cd mame-arcade && make -f Makefile $1 -j${jobCount} && cd - + cd mame-arcade && make -f Makefile $1 -j && cd - fi diff --git a/waterbox/nyma/make-all-released-cores.sh b/waterbox/nyma/make-all-released-cores.sh index 3d92c76f87b..de328e99fe7 100755 --- a/waterbox/nyma/make-all-released-cores.sh +++ b/waterbox/nyma/make-all-released-cores.sh @@ -1,15 +1,13 @@ #!/bin/sh set -e -jobCount=`nproc` - -make -f turbo.mak $1 -j${jobCount} -make -f hyper.mak $1 -j${jobCount} -make -f ngp.mak $1 -j${jobCount} -make -f faust.mak $1 -j${jobCount} -make -f pcfx.mak $1 -j${jobCount} -make -f ss.mak $1 -j${jobCount} -make -f shock.mak $1 -j${jobCount} -# make -f lynx.mak $1 -j${jobCount} -make -f vb.mak $1 -j${jobCount} -# make -f wswan.mak $1 -j${jobCount} +make -f turbo.mak $1 -j +make -f hyper.mak $1 -j +make -f ngp.mak $1 -j +make -f faust.mak $1 -j +make -f pcfx.mak $1 -j +make -f ss.mak $1 -j +make -f shock.mak $1 -j +# make -f lynx.mak $1 -j +make -f vb.mak $1 -j +# make -f wswan.mak $1 -j From e34ac5a7e45d668f879259c9c7dc436253e78eb0 Mon Sep 17 00:00:00 2001 From: SergioMartin86 Date: Sun, 28 Apr 2024 19:58:05 +0200 Subject: [PATCH 39/45] Fixing workflow name --- .github/workflows/make.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/make.yml b/.github/workflows/make.yml index cc9ca13af64..1672a97a681 100644 --- a/.github/workflows/make.yml +++ b/.github/workflows/make.yml @@ -1,4 +1,4 @@ -name: Build Waterbox +name: Build Emulation Cores on: pull_request: From a1ea73270e730e8d886188582fc9bf520fb0d74d Mon Sep 17 00:00:00 2001 From: SergioMartin86 Date: Sun, 28 Apr 2024 19:58:10 +0200 Subject: [PATCH 40/45] Fixing workflow name --- .github/workflows/make.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/.github/workflows/make.yml b/.github/workflows/make.yml index 1672a97a681..47f5658a99e 100644 --- a/.github/workflows/make.yml +++ b/.github/workflows/make.yml @@ -12,7 +12,6 @@ env: jobs: - # Build waterbox and cores build-waterbox: runs-on: ubuntu-latest steps: From e44b2a5332d0df6ac87fc390c29384aa7d02ab7e Mon Sep 17 00:00:00 2001 From: SergioMartin86 Date: Mon, 27 May 2024 20:02:13 +0200 Subject: [PATCH 41/45] Changes requested by Morilli --- .github/workflows/make.yml | 17 ++++++++--------- 1 file changed, 8 insertions(+), 9 deletions(-) diff --git a/.github/workflows/make.yml b/.github/workflows/make.yml index 47f5658a99e..40eb417c35d 100644 --- a/.github/workflows/make.yml +++ b/.github/workflows/make.yml @@ -23,7 +23,7 @@ jobs: clang-18 --version; - name: Getting submodule(s) working-directory: ./waterbox/ - run: git submodule update --init --recursive musl + run: git submodule update --init musl - name: Building musl working-directory: ./waterbox/musl run: ./wbox_configure.sh; @@ -47,7 +47,6 @@ jobs: path: | waterbox/libco waterbox/musl - waterbox/emulibc waterbox/libcxx waterbox/sysroot @@ -58,11 +57,11 @@ jobs: - uses: actions/checkout@v4 - name: Getting submodule(s) working-directory: ./waterbox/ - run: git submodule update --init --recursive snes9x; - git submodule update --init --recursive melon/melonDS; - git submodule update --init --recursive nyma/mednafen; - git submodule update --init --recursive ares64/ares/thirdparty/angrylion-rdp; - git submodule update --init --recursive gpgx/Genesis-Plus-GX; + run: git submodule update --init snes9x; + git submodule update --init melon/melonDS; + git submodule update --init nyma/mednafen; + git submodule update --init ares64/ares/thirdparty/angrylion-rdp; + git submodule update --init gpgx/Genesis-Plus-GX; - name: Download compiled waterbox uses: actions/download-artifact@v4 with: @@ -87,7 +86,7 @@ jobs: - uses: actions/checkout@v4 - name: Getting submodule(s) working-directory: ./waterbox/ - run: git submodule update --init --recursive mame-arcade/mame + run: git submodule update --init mame-arcade/mame - name: Download compiled waterbox uses: actions/download-artifact@v4 with: @@ -111,7 +110,7 @@ jobs: - uses: actions/checkout@v4 - name: Getting submodule(s) working-directory: ./quicknes - run: git submodule update --init --recursive core + run: git submodule update --init core - name: Building QuickerNES core (Linux) working-directory: ./quicknes/make run: make -j4 From 2bea58d15b1c6e311da876cce92e156b3af4d2b8 Mon Sep 17 00:00:00 2001 From: SergioMartin86 Date: Mon, 27 May 2024 20:21:00 +0200 Subject: [PATCH 42/45] Quickernes does require recursive cloning --- .github/workflows/make.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/make.yml b/.github/workflows/make.yml index 40eb417c35d..fc24e358fff 100644 --- a/.github/workflows/make.yml +++ b/.github/workflows/make.yml @@ -110,7 +110,7 @@ jobs: - uses: actions/checkout@v4 - name: Getting submodule(s) working-directory: ./quicknes - run: git submodule update --init core + run: git submodule update --recursive --init core - name: Building QuickerNES core (Linux) working-directory: ./quicknes/make run: make -j4 From e5c7c6267cd121976a25d442c626a3fea813c431 Mon Sep 17 00:00:00 2001 From: Morilli <35152647+Morilli@users.noreply.github.com> Date: Mon, 27 May 2024 23:24:29 +0200 Subject: [PATCH 43/45] fix CI building --- .github/workflows/make.yml | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/.github/workflows/make.yml b/.github/workflows/make.yml index fc24e358fff..ea996f72603 100644 --- a/.github/workflows/make.yml +++ b/.github/workflows/make.yml @@ -20,7 +20,7 @@ jobs: run: wget https://apt.llvm.org/llvm.sh; chmod u+x llvm.sh; sudo ./llvm.sh 18; - clang-18 --version; + clang-18 --version; - name: Getting submodule(s) working-directory: ./waterbox/ run: git submodule update --init musl @@ -47,9 +47,9 @@ jobs: path: | waterbox/libco waterbox/musl - waterbox/libcxx + waterbox/emulibc waterbox/sysroot - + build-waterboxed-cores: runs-on: ubuntu-latest needs: build-waterbox @@ -62,6 +62,7 @@ jobs: git submodule update --init nyma/mednafen; git submodule update --init ares64/ares/thirdparty/angrylion-rdp; git submodule update --init gpgx/Genesis-Plus-GX; + git submodule update --init ../submodules/sameboy/libsameboy - name: Download compiled waterbox uses: actions/download-artifact@v4 with: @@ -71,7 +72,7 @@ jobs: run: wget https://apt.llvm.org/llvm.sh; chmod u+x llvm.sh; sudo ./llvm.sh 18; - clang-18 --version; + clang-18 --version; - name: Giving execution permission to compiler working-directory: ./waterbox/sysroot run: chmod u+x bin/* @@ -96,7 +97,7 @@ jobs: run: wget https://apt.llvm.org/llvm.sh; chmod u+x llvm.sh; sudo ./llvm.sh 18; - clang-18 --version; + clang-18 --version; - name: Giving execution permission to compiler working-directory: ./waterbox/sysroot run: chmod u+x bin/* From 5d5776aded59b915f0fd9ff963b3646f2770bb2d Mon Sep 17 00:00:00 2001 From: Morilli <35152647+Morilli@users.noreply.github.com> Date: Tue, 28 May 2024 08:56:48 +0200 Subject: [PATCH 44/45] cleanup workflow file, add artifacts for the builds --- .github/workflows/make.yml | 103 ++++++++++++++++++++++++------------- 1 file changed, 68 insertions(+), 35 deletions(-) diff --git a/.github/workflows/make.yml b/.github/workflows/make.yml index ea996f72603..02c4685a0df 100644 --- a/.github/workflows/make.yml +++ b/.github/workflows/make.yml @@ -3,12 +3,18 @@ name: Build Emulation Cores on: pull_request: branches: [ "master" ] + paths: [ "waterbox/*" ] push: branches: [ "master" ] + paths: [ "waterbox/*" ] + workflow_dispatch: + +concurrency: + group: ${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: true env: CC: clang-18 - CXX: clang++-18 jobs: @@ -28,12 +34,6 @@ jobs: working-directory: ./waterbox/musl run: ./wbox_configure.sh; ./wbox_build.sh; - - name: Building emulibc - working-directory: ./waterbox/emulibc - run: make - - name: Building libco - working-directory: ./waterbox/libco - run: make - name: Building libcxx working-directory: ./waterbox/libcxx run: ./do-everything.sh @@ -45,9 +45,6 @@ jobs: with: name: compiled-waterbox path: | - waterbox/libco - waterbox/musl - waterbox/emulibc waterbox/sysroot build-waterboxed-cores: @@ -78,32 +75,62 @@ jobs: run: chmod u+x bin/* - name: Building cores working-directory: ./waterbox/ - run: ./make-all-cores.sh + run: ./make-all-cores.sh install + - name: Upload waterbox cores + uses: actions/upload-artifact@v4 + with: + name: waterbox-cores + path: | + Assets/dll/ares64_interpreter.wbx.zst + Assets/dll/ares64_recompiler.wbx.zst + Assets/dll/bsnes.wbx.zst + Assets/dll/faust.wbx.zst + Assets/dll/gpgx.wbx.zst + Assets/dll/hyper.wbx.zst + Assets/dll/libsnes.wbx.zst + Assets/dll/melonDS.wbx.zst + Assets/dll/ngp.wbx.zst + Assets/dll/pcfx.wbx.zst + Assets/dll/picodrive.wbx.zst + Assets/dll/shock.wbx.zst + Assets/dll/snes9x.wbx.zst + Assets/dll/ss.wbx.zst + Assets/dll/tic80.wbx.zst + Assets/dll/turbo.wbx.zst + Assets/dll/uzem.wbx.zst + Assets/dll/vb.wbx.zst + Assets/dll/virtualjaguar.wbx.zst build-mame: - runs-on: ubuntu-latest - needs: build-waterbox - steps: - - uses: actions/checkout@v4 - - name: Getting submodule(s) - working-directory: ./waterbox/ - run: git submodule update --init mame-arcade/mame - - name: Download compiled waterbox - uses: actions/download-artifact@v4 - with: - name: compiled-waterbox - path: waterbox - - name: Installing clang 18 - run: wget https://apt.llvm.org/llvm.sh; - chmod u+x llvm.sh; - sudo ./llvm.sh 18; - clang-18 --version; - - name: Giving execution permission to compiler - working-directory: ./waterbox/sysroot - run: chmod u+x bin/* - - name: Building MAME - working-directory: ./waterbox/mame-arcade - run: make -j4 + runs-on: ubuntu-latest + needs: build-waterbox + steps: + - uses: actions/checkout@v4 + - name: Getting submodule(s) + working-directory: ./waterbox/ + run: git submodule update --init mame-arcade/mame + - name: Download compiled waterbox + uses: actions/download-artifact@v4 + with: + name: compiled-waterbox + path: waterbox + - name: Installing clang 18 + run: wget https://apt.llvm.org/llvm.sh; + chmod u+x llvm.sh; + sudo ./llvm.sh 18; + clang-18 --version; + - name: Giving execution permission to compiler + working-directory: ./waterbox/sysroot + run: chmod u+x bin/* + - name: Building MAME + working-directory: ./waterbox/mame-arcade + run: make -j4 install + - name: Upload mame core + uses: actions/upload-artifact@v4 + with: + name: mame-core + path: | + Assets/dll/libmamearcade.wbx.zst build-quickernes: runs-on: ubuntu-latest @@ -114,4 +141,10 @@ jobs: run: git submodule update --recursive --init core - name: Building QuickerNES core (Linux) working-directory: ./quicknes/make - run: make -j4 + run: make -j4 install + - name: Upload quicknes core + uses: actions/upload-artifact@v4 + with: + name: quicknes-core + path: | + Assets/dll/libquicknes.so From d36587552c03441f3d7c489cdd0d4839c1dcab8a Mon Sep 17 00:00:00 2001 From: Morilli <35152647+Morilli@users.noreply.github.com> Date: Tue, 28 May 2024 09:29:56 +0200 Subject: [PATCH 45/45] fix workflow file --- .github/workflows/make.yml | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/.github/workflows/make.yml b/.github/workflows/make.yml index 02c4685a0df..904b735aef4 100644 --- a/.github/workflows/make.yml +++ b/.github/workflows/make.yml @@ -44,8 +44,7 @@ jobs: uses: actions/upload-artifact@v4 with: name: compiled-waterbox - path: | - waterbox/sysroot + path: waterbox/sysroot build-waterboxed-cores: runs-on: ubuntu-latest @@ -64,7 +63,7 @@ jobs: uses: actions/download-artifact@v4 with: name: compiled-waterbox - path: waterbox + path: waterbox/sysroot - name: Installing clang 18 run: wget https://apt.llvm.org/llvm.sh; chmod u+x llvm.sh; @@ -113,7 +112,7 @@ jobs: uses: actions/download-artifact@v4 with: name: compiled-waterbox - path: waterbox + path: waterbox/sysroot - name: Installing clang 18 run: wget https://apt.llvm.org/llvm.sh; chmod u+x llvm.sh; @@ -141,7 +140,7 @@ jobs: run: git submodule update --recursive --init core - name: Building QuickerNES core (Linux) working-directory: ./quicknes/make - run: make -j4 install + run: make -j4; make install - name: Upload quicknes core uses: actions/upload-artifact@v4 with: