From 9cb66f395b19870f85e22f74ac8ef3c5b5696833 Mon Sep 17 00:00:00 2001 From: EnderIce2 Date: Wed, 8 Jan 2025 12:02:12 +0200 Subject: [PATCH] workflows: add ARM build support Signed-off-by: EnderIce2 --- .github/workflows/makefile.yml | 55 ++++++++++++++++++++++++++++++++-- 1 file changed, 52 insertions(+), 3 deletions(-) diff --git a/.github/workflows/makefile.yml b/.github/workflows/makefile.yml index 111c8ea4..c7524b03 100644 --- a/.github/workflows/makefile.yml +++ b/.github/workflows/makefile.yml @@ -70,7 +70,7 @@ jobs: cd tools rm -rf binutils-gdb gcc - compile64: + compile_amd64: name: Build amd64 runs-on: ubuntu-latest needs: [buildcompiler] @@ -119,7 +119,7 @@ jobs: name: Fennix-amd64-release path: Fennix-release.iso - compile32: + compile_i386: name: Build i386 runs-on: ubuntu-latest needs: [buildcompiler] @@ -168,7 +168,7 @@ jobs: name: Fennix-i386-release path: Fennix-release.iso - compilearm64: + compile_aarch64: name: Build aarch64 runs-on: ubuntu-latest needs: [buildcompiler] @@ -216,3 +216,52 @@ jobs: with: name: Fennix-aarch64-release path: Fennix-release.iso + + compile_arm: + name: Build arm + runs-on: ubuntu-latest + needs: [buildcompiler] + steps: + - uses: actions/checkout@v4 + with: + submodules: recursive + + - name: Update & Install Required Packages + run: | + sudo apt update + sudo apt install rustc xorriso mtools genisoimage ovmf nasm doxygen make meson gcc-10 g++-10 gcc-mingw-w64-x86-64 gcc-mingw-w64-i686 mingw-w64 -y + make --quiet -C tools do_limine + make --quiet -C Drivers prepare + make --quiet -C Userspace prepare + make --quiet -C Kernel prepare + + - name: Cache cross Folder + id: cache-cross + uses: actions/cache@v4 + with: + path: tools/cross + key: ${{ runner.os }}-cross-${{ hashFiles('tools/Makefile') }} + + - name: Configure config.mk + run: sed -i 's/.*OSARCH = .*/OSARCH = arm/' ./config.mk && cat config.mk | grep OSARCH + + - name: Compile Debug and Release ISO + run: | + make build + mv Fennix.iso Fennix-debug.iso + make clean + sed -i 's/.*DEBUG = .*/DEBUG = 0/' ./config.mk && cat config.mk | grep DEBUG + make build + mv Fennix.iso Fennix-release.iso + + - name: Upload Artifact (Fennix-debug.iso) + uses: actions/upload-artifact@v4 + with: + name: Fennix-arm-debug + path: Fennix-debug.iso + + - name: Upload Artifact (Fennix-release.iso) + uses: actions/upload-artifact@v4 + with: + name: Fennix-arm-release + path: Fennix-release.iso