Skip to content

Commit 9e64fcf

Browse files
committed
2 parents ec5ef07 + 0f41e31 commit 9e64fcf

File tree

1 file changed

+61
-0
lines changed

1 file changed

+61
-0
lines changed

.github/workflows/build.yaml

Lines changed: 61 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,61 @@
1+
name: Build
2+
3+
on:
4+
push:
5+
branches: [ "master" ]
6+
pull_request:
7+
branches: [ "master" ]
8+
9+
env:
10+
BUILD_TYPE: RelWithDebInfo
11+
12+
jobs:
13+
build:
14+
runs-on: ${{matrix.config.os}}
15+
strategy:
16+
matrix:
17+
config:
18+
- {
19+
os: windows-2025,
20+
name: windows
21+
}
22+
- {
23+
os: macos-13,
24+
name: macos
25+
}
26+
- {
27+
os: ubuntu-22.04,
28+
name: ubuntu
29+
}
30+
version:
31+
- name: v5.0.7290-stable
32+
use-patch: false
33+
- name: dev
34+
use-patch: false
35+
steps:
36+
- uses: actions/checkout@v3
37+
with:
38+
submodules: 'true'
39+
- uses: seanmiddleditch/gha-setup-ninja@master
40+
- uses: ilammy/msvc-dev-cmd@v1
41+
- name: Update submodule
42+
run: |
43+
cd binaryninjaapi
44+
git fetch --tags
45+
git checkout --force ${{matrix.version.name}}
46+
git submodule update --init --recursive
47+
- name: Patch api to allow building headlessly
48+
if: ${{ matrix.version.use-patch }}
49+
shell: bash
50+
run: |
51+
cd binaryninjaapi
52+
git apply --verbose ${{matrix.version.patch-file}}
53+
- name: Configure CMake
54+
run: cmake -B ${{github.workspace}}/build -G Ninja -DCMAKE_BUILD_TYPE=${{env.BUILD_TYPE}}
55+
- name: Build
56+
run: cmake --build ${{github.workspace}}/build --config ${{env.BUILD_TYPE}}
57+
- name: Upload artifact
58+
uses: actions/upload-artifact@v4
59+
with:
60+
name: ${{matrix.config.name}}-${{matrix.version.name}}
61+
path: ${{github.workspace}}/build/*NativePredicateSolver*

0 commit comments

Comments
 (0)