Skip to content

Commit 3bf7baa

Browse files
authored
[github-actions] Made it so tests also run on intel (#32)
* [github-actions] Made it so tests also run on intel Note: I only modified the dep_rust matrix which will run the tests to assess differences between amd and intel. In the future, we might want to consider revisiting our matrix setup. Signed-off-by: danbugs <[email protected]> * [github-actions] added intel/amd to benchmarking and to those benchmarks to release artifacts Signed-off-by: danbugs <[email protected]> * [github-actions] change hypervisor attribute name for Windows Signed-off-by: danbugs <[email protected]> * [github-actions] combinining download artifacts Signed-off-by: danbugs <[email protected]> --------- Signed-off-by: danbugs <[email protected]>
1 parent 89308de commit 3bf7baa

File tree

4 files changed

+97
-47
lines changed

4 files changed

+97
-47
lines changed

.github/workflows/Benchmarks.yml

Lines changed: 29 additions & 7 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"]
24-
hypervisor: none
25-
- build: linux-kvm-release
31+
hypervisor: hyperv
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: hyperv
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: 21 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -155,29 +155,20 @@ jobs:
155155
just tar-headers
156156
just tar-static-lib
157157
158-
- name: Download benchmarks (Windows)
158+
- name: Download all benchmarks
159159
uses: actions/download-artifact@v4
160160
with:
161-
name: benchmarks_Windows_none
162-
path: benchmarks_Windows_none
163-
164-
- name: Download benchmarks (Linux hyperv)
165-
uses: actions/download-artifact@v4
166-
with:
167-
name: benchmarks_Linux_hyperv
168-
path: benchmarks_Linux_hyperv
169-
170-
- name: Download benchmarks (Linux kvm)
171-
uses: actions/download-artifact@v4
172-
with:
173-
name: benchmarks_Linux_kvm
174-
path: benchmarks_Linux_kvm
161+
pattern: benchmarks_*
162+
# note: artifacts retain their upload name, so we don't have to specify the path
175163

176164
- name: Archive benchmarks
177165
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
166+
tar -zcvf benchmarks_Windows_hyperv.tar.gz benchmarks_Windows_hyperv_amd
167+
tar -zcvf benchmarks_Linux_hyperv.tar.gz benchmarks_Linux_hyperv_amd
168+
tar -zcvf benchmarks_Linux_kvm.tar.gz benchmarks_Linux_kvm_amd
169+
tar -zcvf benchmarks_Windows_hyperv.tar.gz benchmarks_Windows_hyperv_intel
170+
tar -zcvf benchmarks_Linux_hyperv.tar.gz benchmarks_Linux_hyperv_intel
171+
tar -zcvf benchmarks_Linux_kvm.tar.gz benchmarks_Linux_kvm_intel
181172
182173
- name: Install github-cli
183174
run: |
@@ -202,9 +193,12 @@ jobs:
202193
src/tests/rust_guests/bin/${{ env.CONFIG }}/simpleguest `
203194
src/tests/rust_guests/bin/${{ env.CONFIG }}/simpleguest.exe `
204195
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 `
196+
benchmarks_Windows_hyperv_amd.tar.gz `
197+
benchmarks_Linux_hyperv_amd.tar.gz `
198+
benchmarks_Linux_kvm_amd.tar.gz `
199+
benchmarks_Windows_hyperv_intel.tar.gz `
200+
benchmarks_Linux_hyperv_intel.tar.gz `
201+
benchmarks_Linux_kvm_intel.tar.gz `
208202
hyperlight-guest-c-api-linux.tar.gz `
209203
hyperlight-guest-c-api-windows.tar.gz `
210204
include.tar.gz
@@ -221,9 +215,12 @@ jobs:
221215
src/tests/rust_guests/bin/${{ env.CONFIG }}/simpleguest `
222216
src/tests/rust_guests/bin/${{ env.CONFIG }}/simpleguest.exe `
223217
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 `
218+
benchmarks_Windows_hyperv_amd.tar.gz `
219+
benchmarks_Linux_hyperv_amd.tar.gz `
220+
benchmarks_Linux_kvm_amd.tar.gz `
221+
benchmarks_Windows_hyperv_intel.tar.gz `
222+
benchmarks_Linux_hyperv_intel.tar.gz `
223+
benchmarks_Linux_kvm_intel.tar.gz `
227224
hyperlight-guest-c-api-linux.tar.gz `
228225
hyperlight-guest-c-api-windows.tar.gz `
229226
include.tar.gz

.github/workflows/dep_rust.yml

Lines changed: 42 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -21,38 +21,68 @@ jobs:
2121
matrix:
2222
build:
2323
[
24-
windows-2022-debug,
25-
linux-kvm-debug,
26-
linux-hyperv-debug,
27-
windows-2022-release,
28-
linux-kvm-release,
29-
linux-hyperv-release,
24+
windows-2022-debug-amd,
25+
linux-kvm-debug-amd,
26+
linux-hyperv-debug-amd,
27+
windows-2022-release-amd,
28+
linux-kvm-release-amd,
29+
linux-hyperv-release-amd,
30+
windows-2022-debug-intel,
31+
linux-kvm-debug-intel,
32+
linux-hyperv-debug-intel,
33+
windows-2022-release-intel,
34+
linux-kvm-release-intel,
35+
linux-hyperv-release-intel,
3036
]
3137
include:
32-
- build: windows-2022-debug
38+
- build: windows-2022-debug-amd
3339
os: [self-hosted, Windows, X64, "1ES.Pool=hld-win2022-amd"]
3440
hypervisor: none
3541
config: debug
36-
- build: linux-kvm-debug
42+
- build: linux-kvm-debug-amd
3743
os: [self-hosted, Linux, X64, "1ES.Pool=hld-kvm-amd"]
3844
hypervisor: kvm
3945
config: debug
40-
- build: linux-hyperv-debug
46+
- build: linux-hyperv-debug-amd
4147
os: [self-hosted, Linux, X64, "1ES.Pool=hld-mshv-amd"]
4248
hypervisor: hyperv
4349
config: debug
44-
- build: windows-2022-release
50+
- build: windows-2022-release-amd
4551
os: [self-hosted, Windows, X64, "1ES.Pool=hld-win2022-amd"]
4652
hypervisor: none
4753
config: release
48-
- build: linux-kvm-release
54+
- build: linux-kvm-release-amd
4955
os: [self-hosted, Linux, X64, "1ES.Pool=hld-kvm-amd"]
5056
hypervisor: kvm
5157
config: release
52-
- build: linux-hyperv-release
58+
- build: linux-hyperv-release-amd
5359
os: [self-hosted, Linux, X64, "1ES.Pool=hld-mshv-amd"]
5460
hypervisor: hyperv
5561
config: release
62+
- build: windows-2022-debug-intel
63+
os: [self-hosted, Windows, X64, "1ES.Pool=hld-win2022-intel"]
64+
hypervisor: none
65+
config: debug
66+
- build: linux-kvm-debug-intel
67+
os: [self-hosted, Linux, X64, "1ES.Pool=hld-kvm-intel"]
68+
hypervisor: kvm
69+
config: debug
70+
- build: linux-hyperv-debug-intel
71+
os: [self-hosted, Linux, X64, "1ES.Pool=hld-mshv-intel"]
72+
hypervisor: hyperv
73+
config: debug
74+
- build: windows-2022-release-intel
75+
os: [self-hosted, Windows, X64, "1ES.Pool=hld-win2022-intel"]
76+
hypervisor: none
77+
config: release
78+
- build: linux-kvm-release-intel
79+
os: [self-hosted, Linux, X64, "1ES.Pool=hld-kvm-intel"]
80+
hypervisor: kvm
81+
config: release
82+
- build: linux-hyperv-release-intel
83+
os: [self-hosted, Linux, X64, "1ES.Pool=hld-mshv-intel"]
84+
hypervisor: hyperv
85+
config: release
5686

5787
runs-on: ${{ matrix.os }}
5888
steps:

Justfile

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -166,11 +166,12 @@ run-rust-examples-linux target=default-target: (build-rust target) (run-rust-exa
166166
# If tag is not given, defaults to latest release
167167
# Options for os: "Windows", or "Linux"
168168
# Options for Linux hypervisor: "kvm", "hyperv"
169-
# Options for Windows hypervisor: "none"
170-
bench-download os hypervisor tag="":
171-
gh release download {{ tag }} -D ./target/ -p benchmarks_{{ os }}_{{ hypervisor }}.tar.gz
169+
# Options for Windows hypervisor: "hyperv"
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)