Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Adding CI for building the waterbox and as many emulator cores as possible #3903

Merged
merged 48 commits into from
May 29, 2024
Merged
Changes from 42 commits
Commits
Show all changes
48 commits
Select commit Hold shift + click to select a range
9024982
Adding CI for building all waterbox cores
SergioMartin86 Apr 27, 2024
67616f1
Removing unnecessary branch name
SergioMartin86 Apr 27, 2024
4089dbe
Fixing workflow name
SergioMartin86 Apr 27, 2024
ae04d05
Removing unnecessary submodule init
SergioMartin86 Apr 27, 2024
0bf6e2f
Fixing nproc
SergioMartin86 Apr 27, 2024
21ebb28
Trying with global env
SergioMartin86 Apr 28, 2024
0f9ac97
Precompiling waterbox and archiving it for individual core compilation
SergioMartin86 Apr 28, 2024
866c5d5
Adding missing dependency
SergioMartin86 Apr 28, 2024
c731d5b
Doing individual submodule loads
SergioMartin86 Apr 28, 2024
4e5ce3f
Doing individual submodule loads
SergioMartin86 Apr 28, 2024
33478f2
Doing individual submodule loads
SergioMartin86 Apr 28, 2024
72543ae
Fixing missing checkout
SergioMartin86 Apr 28, 2024
5a3212f
Checking clang version
SergioMartin86 Apr 28, 2024
9868a69
Checking clang version
SergioMartin86 Apr 28, 2024
5b597a3
Removing clang installation
SergioMartin86 Apr 28, 2024
d7f462e
Removing clang installation
SergioMartin86 Apr 28, 2024
b46293a
Fixing artifact
SergioMartin86 Apr 28, 2024
d25bae7
Fixing artifact
SergioMartin86 Apr 28, 2024
b2af305
Fixing artifact
SergioMartin86 Apr 28, 2024
d92c937
Fixing artifact
SergioMartin86 Apr 28, 2024
4d9b875
Fixing artifact
SergioMartin86 Apr 28, 2024
eb6e49e
Fixing artifact
SergioMartin86 Apr 28, 2024
e38f917
Fixing artifact
SergioMartin86 Apr 28, 2024
5596a11
Fixing CI
SergioMartin86 Apr 28, 2024
65fa197
Adding Ares64
SergioMartin86 Apr 28, 2024
1a833c4
Fixing compilation
SergioMartin86 Apr 28, 2024
df13e9b
Readding llvm-project deleted by mistake
SergioMartin86 Apr 28, 2024
b8e4945
Fixing compilation
SergioMartin86 Apr 28, 2024
0078293
Fixing compilation
SergioMartin86 Apr 28, 2024
ccda795
Fixing compilation
SergioMartin86 Apr 28, 2024
60d4b38
Fixing compilation
SergioMartin86 Apr 28, 2024
5750044
Adding mame and quicknes
SergioMartin86 Apr 28, 2024
31e0e4f
Adding mame and quicknes
SergioMartin86 Apr 28, 2024
837b2a5
improving checkout
SergioMartin86 Apr 28, 2024
16e4172
Enabling running in the PR
SergioMartin86 Apr 28, 2024
2f5e28c
Adding script to build using number of cores
SergioMartin86 Apr 28, 2024
c22f726
Trying to fix Mame and use 4 jobs for buildint
SergioMartin86 Apr 28, 2024
2611239
Reverting no longer needed changes to scripts
SergioMartin86 Apr 28, 2024
e053717
Merge branch 'TASEmulators:master' into upstreamCI
SergioMartin86 Apr 28, 2024
e34ac5a
Fixing workflow name
SergioMartin86 Apr 28, 2024
a1ea732
Fixing workflow name
SergioMartin86 Apr 28, 2024
7c53ad6
Merge branch 'upstreamCI' of github.com:SergioMartin86/BizHawk into u…
SergioMartin86 Apr 28, 2024
e44b2a5
Changes requested by Morilli
SergioMartin86 May 27, 2024
a80fc71
Merge branch 'master' into upstreamCI
SergioMartin86 May 27, 2024
2bea58d
Quickernes does require recursive cloning
SergioMartin86 May 27, 2024
e5c7c62
fix CI building
Morilli May 27, 2024
5d5776a
cleanup workflow file, add artifacts for the builds
Morilli May 28, 2024
d365875
fix workflow file
Morilli May 28, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
117 changes: 117 additions & 0 deletions .github/workflows/make.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,117 @@
name: Build Emulation Cores

on:
pull_request:
branches: [ "master" ]
push:
branches: [ "master" ]

env:
CC: clang-18
CXX: clang++-18

jobs:

build-waterbox:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- 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 update --init --recursive musl
- name: Building musl
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
- name: Building nyma
working-directory: ./waterbox/nyma
run: ./build-and-install-zlib.sh
- name: Uploading compiled waterbox
uses: actions/upload-artifact@v4
with:
name: compiled-waterbox
path: |
waterbox/libco
waterbox/musl
waterbox/emulibc
waterbox/libcxx
Morilli marked this conversation as resolved.
Show resolved Hide resolved
waterbox/sysroot

build-waterboxed-cores:
runs-on: ubuntu-latest
needs: build-waterbox
steps:
- 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;
Morilli marked this conversation as resolved.
Show resolved Hide resolved
- 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 cores
working-directory: ./waterbox/
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 update --init --recursive 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

build-quickernes:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Getting submodule(s)
working-directory: ./quicknes
run: git submodule update --init --recursive core
- name: Building QuickerNES core (Linux)
working-directory: ./quicknes/make
run: make -j4
Loading