Skip to content

Commit 1753ccc

Browse files
committed
[github-actions] added intel/amd to benchmarking and to those benchmarks to release artifacts
Signed-off-by: danbugs <[email protected]>
1 parent d0bbd12 commit 1753ccc

File tree

3 files changed

+77
-27
lines changed

3 files changed

+77
-27
lines changed

.github/workflows/Benchmarks.yml

Lines changed: 28 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -17,17 +17,39 @@ jobs:
1717
strategy:
1818
fail-fast: true
1919
matrix:
20-
build: [windows-2022-release, linux-kvm-release, linux-hyperv-release]
20+
build: [
21+
windows-2022-release-amd,
22+
linux-kvm-release-amd,
23+
linux-hyperv-release-amd,
24+
windows-2022-release-intel,
25+
linux-kvm-release-intel,
26+
linux-hyperv-release-intel,
27+
]
2128
include:
22-
- build: windows-2022-release
29+
- build: windows-2022-release-amd
2330
os: [self-hosted, Windows, X64, "1ES.Pool=hld-win2022-amd"]
2431
hypervisor: none
25-
- build: linux-kvm-release
32+
arch: amd
33+
- build: linux-kvm-release-amd
2634
os: [self-hosted, Linux, X64, "1ES.Pool=hld-kvm-amd"]
2735
hypervisor: kvm
28-
- build: linux-hyperv-release
36+
arch: amd
37+
- build: linux-hyperv-release-amd
2938
os: [self-hosted, Linux, X64, "1ES.Pool=hld-mshv-amd"]
3039
hypervisor: hyperv
40+
arch: amd
41+
- build: windows-2022-release-intel
42+
os: [self-hosted, Windows, X64, "1ES.Pool=hld-win2022-intel"]
43+
hypervisor: none
44+
arch: intel
45+
- build: linux-kvm-release-intel
46+
os: [self-hosted, Linux, X64, "1ES.Pool=hld-kvm-intel"]
47+
hypervisor: kvm
48+
arch: intel
49+
- build: linux-hyperv-release-intel
50+
os: [self-hosted, Linux, X64, "1ES.Pool=hld-mshv-intel"]
51+
hypervisor: hyperv
52+
arch: intel
3153

3254
runs-on: ${{ matrix.os }}
3355
steps:
@@ -68,7 +90,7 @@ jobs:
6890
run: git fetch --tags origin
6991

7092
- name: Download benchmarks from most recent release
71-
run: just bench-download ${{ runner.os }} ${{ matrix.hypervisor }} # skip tag parameter to compare to latest stable release
93+
run: just bench-download ${{ runner.os }} ${{ matrix.hypervisor }} ${{ matrix.arch }} # skip tag parameter to compare to latest stable release
7294
continue-on-error: true
7395
env:
7496
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
@@ -78,6 +100,6 @@ jobs:
78100

79101
- uses: actions/upload-artifact@v4
80102
with:
81-
name: benchmarks_${{runner.os}}_${{matrix.hypervisor}}
103+
name: benchmarks_${{runner.os}}_${{matrix.hypervisor}}_${{ matrix.arch }}
82104
path: ./target/criterion/
83105
if-no-files-found: error

.github/workflows/CreateRelease.yml

Lines changed: 45 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -155,29 +155,50 @@ jobs:
155155
just tar-headers
156156
just tar-static-lib
157157
158-
- name: Download benchmarks (Windows)
158+
- name: Download benchmarks (Windows amd)
159159
uses: actions/download-artifact@v4
160160
with:
161-
name: benchmarks_Windows_none
162-
path: benchmarks_Windows_none
161+
name: benchmarks_Windows_none_amd
162+
path: benchmarks_Windows_none_amd
163163

164-
- name: Download benchmarks (Linux hyperv)
164+
- name: Download benchmarks (Linux hyperv amd)
165165
uses: actions/download-artifact@v4
166166
with:
167-
name: benchmarks_Linux_hyperv
168-
path: benchmarks_Linux_hyperv
167+
name: benchmarks_Linux_hyperv_amd
168+
path: benchmarks_Linux_hyperv_amd
169169

170-
- name: Download benchmarks (Linux kvm)
170+
- name: Download benchmarks (Linux kvm amd)
171171
uses: actions/download-artifact@v4
172172
with:
173-
name: benchmarks_Linux_kvm
174-
path: benchmarks_Linux_kvm
173+
name: benchmarks_Linux_kvm_amd
174+
path: benchmarks_Linux_kvm_amd
175+
176+
- name: Download benchmarks (Windows intel)
177+
uses: actions/download-artifact@v4
178+
with:
179+
name: benchmarks_Windows_none_intel
180+
path: benchmarks_Windows_none_intel
181+
182+
- name: Download benchmarks (Linux hyperv intel)
183+
uses: actions/download-artifact@v4
184+
with:
185+
name: benchmarks_Linux_hyperv_intel
186+
path: benchmarks_Linux_hyperv_intel
187+
188+
- name: Download benchmarks (Linux kvm intel)
189+
uses: actions/download-artifact@v4
190+
with:
191+
name: benchmarks_Linux_kvm_intel
192+
path: benchmarks_Linux_kvm_intel
175193

176194
- name: Archive benchmarks
177195
run: |
178-
tar -zcvf benchmarks_Windows_none.tar.gz benchmarks_Windows_none
179-
tar -zcvf benchmarks_Linux_hyperv.tar.gz benchmarks_Linux_hyperv
180-
tar -zcvf benchmarks_Linux_kvm.tar.gz benchmarks_Linux_kvm
196+
tar -zcvf benchmarks_Windows_none.tar.gz benchmarks_Windows_none_amd
197+
tar -zcvf benchmarks_Linux_hyperv.tar.gz benchmarks_Linux_hyperv_amd
198+
tar -zcvf benchmarks_Linux_kvm.tar.gz benchmarks_Linux_kvm_amd
199+
tar -zcvf benchmarks_Windows_none.tar.gz benchmarks_Windows_none_intel
200+
tar -zcvf benchmarks_Linux_hyperv.tar.gz benchmarks_Linux_hyperv_intel
201+
tar -zcvf benchmarks_Linux_kvm.tar.gz benchmarks_Linux_kvm_intel
181202
182203
- name: Install github-cli
183204
run: |
@@ -202,9 +223,12 @@ jobs:
202223
src/tests/rust_guests/bin/${{ env.CONFIG }}/simpleguest `
203224
src/tests/rust_guests/bin/${{ env.CONFIG }}/simpleguest.exe `
204225
src/tests/rust_guests/bin/${{ env.CONFIG }}/dummyguest `
205-
benchmarks_Windows_none.tar.gz `
206-
benchmarks_Linux_hyperv.tar.gz `
207-
benchmarks_Linux_kvm.tar.gz `
226+
benchmarks_Windows_none_amd.tar.gz `
227+
benchmarks_Linux_hyperv_amd.tar.gz `
228+
benchmarks_Linux_kvm_amd.tar.gz `
229+
benchmarks_Windows_none_intel.tar.gz `
230+
benchmarks_Linux_hyperv_intel.tar.gz `
231+
benchmarks_Linux_kvm_intel.tar.gz `
208232
hyperlight-guest-c-api-linux.tar.gz `
209233
hyperlight-guest-c-api-windows.tar.gz `
210234
include.tar.gz
@@ -221,9 +245,12 @@ jobs:
221245
src/tests/rust_guests/bin/${{ env.CONFIG }}/simpleguest `
222246
src/tests/rust_guests/bin/${{ env.CONFIG }}/simpleguest.exe `
223247
src/tests/rust_guests/bin/${{ env.CONFIG }}/dummyguest `
224-
benchmarks_Windows_none.tar.gz `
225-
benchmarks_Linux_hyperv.tar.gz `
226-
benchmarks_Linux_kvm.tar.gz `
248+
benchmarks_Windows_none_amd.tar.gz `
249+
benchmarks_Linux_hyperv_amd.tar.gz `
250+
benchmarks_Linux_kvm_amd.tar.gz `
251+
benchmarks_Windows_none_intel.tar.gz `
252+
benchmarks_Linux_hyperv_intel.tar.gz `
253+
benchmarks_Linux_kvm_intel.tar.gz `
227254
hyperlight-guest-c-api-linux.tar.gz `
228255
hyperlight-guest-c-api-windows.tar.gz `
229256
include.tar.gz

Justfile

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -167,10 +167,11 @@ run-rust-examples-linux target=default-target: (build-rust target) (run-rust-exa
167167
# Options for os: "Windows", or "Linux"
168168
# Options for Linux hypervisor: "kvm", "hyperv"
169169
# Options for Windows hypervisor: "none"
170-
bench-download os hypervisor tag="":
171-
gh release download {{ tag }} -D ./target/ -p benchmarks_{{ os }}_{{ hypervisor }}.tar.gz
170+
# Options for arch: "amd", "intel"
171+
bench-download os hypervisor arch tag="":
172+
gh release download {{ tag }} -D ./target/ -p benchmarks_{{ os }}_{{ hypervisor }}_{{ arch }}.tar.gz
172173
mkdir -p target/criterion {{ if os() == "windows" { "-Force" } else { "" } }}
173-
tar -zxvf target/benchmarks_{{ os }}_{{ hypervisor }}.tar.gz -C target/criterion/ --strip-components=1
174+
tar -zxvf target/benchmarks_{{ os }}_{{ hypervisor }}_{{ arch }}.tar.gz -C target/criterion/ --strip-components=1
174175

175176
# Warning: compares to and then OVERWRITES the given baseline
176177
bench-ci baseline target=default-target:

0 commit comments

Comments
 (0)