aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorYang Liu <[email protected]>2023-12-31 15:05:33 +0800
committerMerry <[email protected]>2024-03-02 19:38:46 +0000
commitadd5238180efb7e751586cca21fb3a8d3297da1e (patch)
tree6c77de458dedc5f18e10ab88e558c60b7940460c
parent8125738fa2d0d4b9f25b47080d51a3fb6263b962 (diff)
downloaddynarmic-add5238180efb7e751586cca21fb3a8d3297da1e.tar.gz
dynarmic-add5238180efb7e751586cca21fb3a8d3297da1e.zip
github: Add basic RISC-V CI
-rw-r--r--.github/workflows/riscv64.yml63
1 files changed, 63 insertions, 0 deletions
diff --git a/.github/workflows/riscv64.yml b/.github/workflows/riscv64.yml
new file mode 100644
index 00000000..67b89f6c
--- /dev/null
+++ b/.github/workflows/riscv64.yml
@@ -0,0 +1,63 @@
+name: RISCV64
+
+on: [ push, pull_request ]
+
+env:
+ BUILD_TYPE: Release
+
+jobs:
+ build_linux:
+ strategy:
+ matrix:
+ platform: [ linux ]
+ fail-fast: false
+
+ runs-on: ubuntu-latest
+
+ steps:
+
+ - name: Install build dependencies
+ run: >
+ sudo apt-get update &&
+ sudo apt-get install
+ gcc-10-riscv64-linux-gnu
+ g++-10-riscv64-linux-gnu
+ ninja-build
+ qemu-user
+
+ - name: Checkout dynarmic repo
+ uses: actions/checkout@v2
+
+ - name: Ccache
+ if: matrix.platform == 'linux'
+ uses: hendrikmuhs/[email protected]
+
+ - name: Checkout ext-boost repo
+ uses: actions/checkout@v2
+ with:
+ repository: MerryMage/ext-boost
+ path: externals/ext-boost
+
+ - name: Configure CMake for RISCV64 (Linux)
+ if: matrix.platform == 'linux'
+ env:
+ CC: riscv64-linux-gnu-gcc-10
+ CXX: riscv64-linux-gnu-g++-10
+ run: >
+ cmake
+ -B ${{github.workspace}}/build-riscv64
+ -DBOOST_INCLUDEDIR=${{github.workspace}}/externals/ext-boost
+ -DCMAKE_BUILD_TYPE=${{env.BUILD_TYPE}}
+ -DDYNARMIC_TESTS_USE_UNICORN=0
+ -DDYNARMIC_USE_LLVM=0
+ -DDYNARMIC_FRONTENDS=A32
+ -G Ninja
+
+ - name: Build RISCV64
+ working-directory: ${{github.workspace}}/build-riscv64
+ run: cmake --build . --config Release
+
+ # - name: Basic tests
+ # if: matrix.platform == 'linux'
+ # working-directory: ${{github.workspace}}
+ # run: qemu-riscv64 -L /usr/riscv64-linux-gnu ./build-riscv64/tests/dynarmic_tests -d yes