@@ -13,51 +13,60 @@ jobs:
1313 os : [ubuntu-latest, macos-latest, windows-latest]
1414 include :
1515 - os : ubuntu-latest
16- dynamic-library : libqbdi_tracer.so
16+ # dynamic-library: libqbdi_tracer.so
1717 - os : macos-latest
1818 dynamic-library : libqbdi_tracer.dylib
1919 - os : windows-latest
20- dynamic-library : libqbdi_tracer.dll
20+ # dynamic-library: libqbdi_tracer.dll
2121 executable-extension : ' .exe'
2222
2323 steps :
2424 - uses : actions/checkout@v4
2525 - uses : dtolnay/rust-toolchain@stable
26- - uses : jwlawson/actions-setup-cmake@v2
27- with : { cmake-version: '3.31.7' }
28-
26+
2927 - name : Check
3028 run : cargo check
3129 working-directory : benchmarking-tool
3230
33- - name : Get QBDI (linux)
34- if : ${{ matrix.os == 'ubuntu-latest' }}
35- run : |
36- curl https://github.com/QBDI/QBDI/releases/download/v0.12.0/QBDI-0.12.0-ubuntu24.04-X86_64.deb -L > QBDI.deb
37- sudo dpkg -i QBDI.deb
31+ - uses : jwlawson/actions-setup-cmake@v2
32+ if : ${{ matrix.os == 'macos-latest' }}
33+ with : { cmake-version: '3.31.7' }
34+
35+ - name : Setup SDE binaries (linux or windows)
36+ if : ${{ matrix.os == 'ubuntu-latest' || matrix.os == 'windows-latest' }}
37+ uses : petarpetrovt/setup-sde@v3.0
38+ with :
39+ environmentVariableName : SDE_PATH # default value is `SDE_PATH`
40+ sdeVersion : 9.58.0 # possible values: 9.58.0 (default), 9.33.0
41+
42+ # - name: Get QBDI (linux)
43+ # if: ${{ matrix.os == 'ubuntu-latest' }}
44+ # run: |
45+ # curl https://github.com/QBDI/QBDI/releases/download/v0.12.0/QBDI-0.12.0-ubuntu24.04-X86_64.deb -L > QBDI.deb
46+ # sudo dpkg -i QBDI.deb
3847
39- - name : Get QBDI (macos)
48+ - name : Get and build QBDI (macos)
4049 if : ${{ matrix.os == 'macos-latest' }}
4150 run : |
4251 curl https://github.com/QBDI/QBDI/releases/download/v0.12.0/QBDI-0.12.0-osx-AARCH64.pkg -L > QBDI.pkg
4352 sudo installer -pkg QBDI.pkg -target ~
53+
54+ bash build-qbdi.sh
55+ mv 'qbdi/build/${{ matrix.dynamic-library }}' .
4456
45- - name : Get QBDI (windows)
46- if : ${{ matrix.os == 'windows-latest' }}
47- run : |
48- curl https://github.com/QBDI/QBDI/releases/download/v0.12.0/QBDI-0.12.0-windows-X86_64.exe -L > QBDI.exe
49- runas /user:Administrator "./QBDI.exe"
50- ls 'C:\Program Files'
57+ # - name: Get QBDI (windows)
58+ # if: ${{ matrix.os == 'windows-latest' }}
59+ # run: |
60+ # curl https://github.com/QBDI/QBDI/releases/download/v0.12.0/QBDI-0.12.0-windows-X86_64.exe -L > QBDI.exe
61+ # runas /user:Administrator "./QBDI.exe"
62+ # ls 'C:\Program Files'
5163
52- - name : Build binary, example and QBDI
64+ - name : Build example binary
5365 working-directory : benchmarking-tool
5466 shell : bash
5567 run : |
5668 cargo build
5769 mv target/debug/benchmark .
58-
59- bash build-qbdi.sh
60- mv 'qbdi/build/${{ matrix.dynamic-library }}' .
6170
6271 - name : Build iterations
6372 working-directory : benchmarking-tool
@@ -66,17 +75,18 @@ jobs:
6675 cargo build --example iterations
6776 mv target/debug/examples/iterations${{ matrix.executable-extension }} .
6877
69- - name : Investigate QBDI (linux)
70- if : ${{ matrix.os == 'ubuntu-latest' }}
71- working-directory : benchmarking-tool
72- run : |
73- chmod +x ${{ matrix.dynamic-library }}
74- LD_BIND_NOW=1 LD_PRELOAD="$(realpath ${{ matrix.dynamic-library }})" ./iterations 10
75- echo "---"
76- sudo LD_BIND_NOW=1 LD_PRELOAD="$(realpath ${{ matrix.dynamic-library }})" ./iterations 10
78+ # - name: Investigate QBDI (linux)
79+ # if: ${{ matrix.os == 'ubuntu-latest' }}
80+ # working-directory: benchmarking-tool
81+ # run: |
82+ # chmod +x ${{ matrix.dynamic-library }}
83+ # LD_BIND_NOW=1 LD_PRELOAD="$(realpath ${{ matrix.dynamic-library }})" ./iterations 10
84+ # echo "---"
85+ # sudo LD_BIND_NOW=1 LD_PRELOAD="$(realpath ${{ matrix.dynamic-library }})" ./iterations 10
7786
7887 - name : Run QBDI iterations
7988 working-directory : benchmarking-tool
89+ if : ${{ matrix.os == 'macos-latest' }}
8090 shell : bash
8191 run : |
8292 for i in {0..3}
8797 echo "::endgroup::"
8898 done
8999
90- - name : Setup SDE binaries
91- if : ${{ matrix.os == 'ubuntu-latest' || matrix.os == 'windows-latest' }}
92- uses : petarpetrovt/setup-sde@v3.0
93- with :
94- environmentVariableName : SDE_PATH # default value is `SDE_PATH`
95- sdeVersion : 9.58.0 # possible values: 9.58.0 (default), 9.33.0
96-
97- - name : sde-path-to-github-path
98- if : ${{ matrix.os == 'ubuntu-latest'}}
99- run : |
100- # echo "$SDE_PATH" >> $GITHUB_PATH
101- ls "$SDE_PATH" -r
102-
103100 - name : Run SDE (linux or windows)
104101 if : ${{ matrix.os == 'ubuntu-latest' || matrix.os == 'windows-latest' }}
105102 working-directory : benchmarking-tool
@@ -127,10 +124,10 @@ jobs:
127124 - os : windows-latest
128125 platform-name : x86_64-pc-windows
129126 executable-extension : " .exe"
130- dynamic-library : libqbdi_tracer.dll
127+ # dynamic-library: libqbdi_tracer.dll
131128 - os : ubuntu-latest
132129 platform-name : x86_64-unknown-linux
133- dynamic-library : libqbdi_tracer.so
130+ # dynamic-library: libqbdi_tracer.so
134131 - os : macos-latest
135132 platform-name : aarch64-apple-darwin
136133 dynamic-library : libqbdi_tracer.dylib
@@ -154,23 +151,27 @@ jobs:
154151 run : cargo check
155152 working-directory : benchmarking-tool
156153
157- - name : Get QBDI (linux)
158- if : ${{ matrix.os == 'ubuntu-latest' }}
159- run : |
160- curl https://github.com/QBDI/QBDI/releases/download/v0.12.0/QBDI-0.12.0-ubuntu24.04-X86_64.deb -L > QBDI.deb
161- sudo dpkg -i QBDI.deb
154+ # - name: Get QBDI (linux)
155+ # if: ${{ matrix.os == 'ubuntu-latest' }}
156+ # run: |
157+ # curl https://github.com/QBDI/QBDI/releases/download/v0.12.0/QBDI-0.12.0-ubuntu24.04-X86_64.deb -L > QBDI.deb
158+ # sudo dpkg -i QBDI.deb
162159
163160 - name : Get QBDI (macos)
164161 if : ${{ matrix.os == 'macos-latest' }}
165162 run : |
166163 curl https://github.com/QBDI/QBDI/releases/download/v0.12.0/QBDI-0.12.0-osx-AARCH64.pkg -L > QBDI.pkg
167164 sudo installer -pkg QBDI.pkg -target ~
165+
166+ bash build-qbdi.sh
167+ mv 'qbdi/build/${{ matrix.dynamic-library }}' .
168+ gh release upload $GH_RELEASE "${{ matrix.dynamic-library }}" --clobber
168169
169- - name : Get QBDI (windows)
170- if : ${{ matrix.os == 'windows-latest' }}
171- run : |
172- curl https://github.com/QBDI/QBDI/releases/download/v0.12.0/QBDI-0.12.0-windows-X86_64.exe -L > QBDI.exe
173- ./QBDI.exe
170+ # - name: Get QBDI (windows)
171+ # if: ${{ matrix.os == 'windows-latest' }}
172+ # run: |
173+ # curl https://github.com/QBDI/QBDI/releases/download/v0.12.0/QBDI-0.12.0-windows-X86_64.exe -L > QBDI.exe
174+ # ./QBDI.exe
174175
175176 # end build dependents
176177
@@ -183,17 +184,13 @@ jobs:
183184 shell : bash
184185 env : { GH_TOKEN: "${{ secrets.GITHUB_TOKEN }}" }
185186 run : |
186- bash build-qbdi.sh
187- mv 'qbdi/build/${{ matrix.dynamic-library }}' .
188-
189187 FROM='${{ env.OUT }}/benchmarking-tool${{ matrix.executable-extension }}'
190188 TO='benchmark-${{ matrix.platform-name }}${{ matrix.executable-extension }}'
191189 mv $FROM $TO
192190 gh release upload $GH_RELEASE "$TO" --clobber
193- gh release upload $GH_RELEASE "${{ matrix.dynamic-library }}" --clobber
194191
195- - name : Copy QBDIPreload (windows)
196- if : ${{ matrix.os == 'windows-latest' }}
197- run : |
198- mv "$(which qbdi-template-X86_64)/../QBDIWinPreloader.exe" .
199- gh release upload $GH_RELEASE QBDIWinPreloader.exe --clobber
192+ # - name: Copy QBDIPreload (windows)
193+ # if: ${{ matrix.os == 'windows-latest' }}
194+ # run: |
195+ # mv "$(which qbdi-template-X86_64)/../QBDIWinPreloader.exe" .
196+ # gh release upload $GH_RELEASE QBDIWinPreloader.exe --clobber
0 commit comments