Skip to content

Commit

Permalink
Merge branch 'main' into minor-readme-changes
Browse files Browse the repository at this point in the history
  • Loading branch information
danbugs authored Nov 7, 2024
2 parents 3863935 + 3bf7baa commit 9e0cb0f
Show file tree
Hide file tree
Showing 4 changed files with 97 additions and 47 deletions.
36 changes: 29 additions & 7 deletions .github/workflows/Benchmarks.yml
Original file line number Diff line number Diff line change
Expand Up @@ -17,17 +17,39 @@ jobs:
strategy:
fail-fast: true
matrix:
build: [windows-2022-release, linux-kvm-release, linux-hyperv-release]
build: [
windows-2022-release-amd,
linux-kvm-release-amd,
linux-hyperv-release-amd,
windows-2022-release-intel,
linux-kvm-release-intel,
linux-hyperv-release-intel,
]
include:
- build: windows-2022-release
- build: windows-2022-release-amd
os: [self-hosted, Windows, X64, "1ES.Pool=hld-win2022-amd"]
hypervisor: none
- build: linux-kvm-release
hypervisor: hyperv
arch: amd
- build: linux-kvm-release-amd
os: [self-hosted, Linux, X64, "1ES.Pool=hld-kvm-amd"]
hypervisor: kvm
- build: linux-hyperv-release
arch: amd
- build: linux-hyperv-release-amd
os: [self-hosted, Linux, X64, "1ES.Pool=hld-mshv-amd"]
hypervisor: hyperv
arch: amd
- build: windows-2022-release-intel
os: [self-hosted, Windows, X64, "1ES.Pool=hld-win2022-intel"]
hypervisor: hyperv
arch: intel
- build: linux-kvm-release-intel
os: [self-hosted, Linux, X64, "1ES.Pool=hld-kvm-intel"]
hypervisor: kvm
arch: intel
- build: linux-hyperv-release-intel
os: [self-hosted, Linux, X64, "1ES.Pool=hld-mshv-intel"]
hypervisor: hyperv
arch: intel

runs-on: ${{ matrix.os }}
steps:
Expand Down Expand Up @@ -68,7 +90,7 @@ jobs:
run: git fetch --tags origin

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

- uses: actions/upload-artifact@v4
with:
name: benchmarks_${{runner.os}}_${{matrix.hypervisor}}
name: benchmarks_${{runner.os}}_${{matrix.hypervisor}}_${{ matrix.arch }}
path: ./target/criterion/
if-no-files-found: error
45 changes: 21 additions & 24 deletions .github/workflows/CreateRelease.yml
Original file line number Diff line number Diff line change
Expand Up @@ -155,29 +155,20 @@ jobs:
just tar-headers
just tar-static-lib
- name: Download benchmarks (Windows)
- name: Download all benchmarks
uses: actions/download-artifact@v4
with:
name: benchmarks_Windows_none
path: benchmarks_Windows_none

- name: Download benchmarks (Linux hyperv)
uses: actions/download-artifact@v4
with:
name: benchmarks_Linux_hyperv
path: benchmarks_Linux_hyperv

- name: Download benchmarks (Linux kvm)
uses: actions/download-artifact@v4
with:
name: benchmarks_Linux_kvm
path: benchmarks_Linux_kvm
pattern: benchmarks_*
# note: artifacts retain their upload name, so we don't have to specify the path

- name: Archive benchmarks
run: |
tar -zcvf benchmarks_Windows_none.tar.gz benchmarks_Windows_none
tar -zcvf benchmarks_Linux_hyperv.tar.gz benchmarks_Linux_hyperv
tar -zcvf benchmarks_Linux_kvm.tar.gz benchmarks_Linux_kvm
tar -zcvf benchmarks_Windows_hyperv.tar.gz benchmarks_Windows_hyperv_amd
tar -zcvf benchmarks_Linux_hyperv.tar.gz benchmarks_Linux_hyperv_amd
tar -zcvf benchmarks_Linux_kvm.tar.gz benchmarks_Linux_kvm_amd
tar -zcvf benchmarks_Windows_hyperv.tar.gz benchmarks_Windows_hyperv_intel
tar -zcvf benchmarks_Linux_hyperv.tar.gz benchmarks_Linux_hyperv_intel
tar -zcvf benchmarks_Linux_kvm.tar.gz benchmarks_Linux_kvm_intel
- name: Install github-cli
run: |
Expand All @@ -202,9 +193,12 @@ jobs:
src/tests/rust_guests/bin/${{ env.CONFIG }}/simpleguest `
src/tests/rust_guests/bin/${{ env.CONFIG }}/simpleguest.exe `
src/tests/rust_guests/bin/${{ env.CONFIG }}/dummyguest `
benchmarks_Windows_none.tar.gz `
benchmarks_Linux_hyperv.tar.gz `
benchmarks_Linux_kvm.tar.gz `
benchmarks_Windows_hyperv_amd.tar.gz `
benchmarks_Linux_hyperv_amd.tar.gz `
benchmarks_Linux_kvm_amd.tar.gz `
benchmarks_Windows_hyperv_intel.tar.gz `
benchmarks_Linux_hyperv_intel.tar.gz `
benchmarks_Linux_kvm_intel.tar.gz `
hyperlight-guest-c-api-linux.tar.gz `
hyperlight-guest-c-api-windows.tar.gz `
include.tar.gz
Expand All @@ -221,9 +215,12 @@ jobs:
src/tests/rust_guests/bin/${{ env.CONFIG }}/simpleguest `
src/tests/rust_guests/bin/${{ env.CONFIG }}/simpleguest.exe `
src/tests/rust_guests/bin/${{ env.CONFIG }}/dummyguest `
benchmarks_Windows_none.tar.gz `
benchmarks_Linux_hyperv.tar.gz `
benchmarks_Linux_kvm.tar.gz `
benchmarks_Windows_hyperv_amd.tar.gz `
benchmarks_Linux_hyperv_amd.tar.gz `
benchmarks_Linux_kvm_amd.tar.gz `
benchmarks_Windows_hyperv_intel.tar.gz `
benchmarks_Linux_hyperv_intel.tar.gz `
benchmarks_Linux_kvm_intel.tar.gz `
hyperlight-guest-c-api-linux.tar.gz `
hyperlight-guest-c-api-windows.tar.gz `
include.tar.gz
Expand Down
54 changes: 42 additions & 12 deletions .github/workflows/dep_rust.yml
Original file line number Diff line number Diff line change
Expand Up @@ -21,38 +21,68 @@ jobs:
matrix:
build:
[
windows-2022-debug,
linux-kvm-debug,
linux-hyperv-debug,
windows-2022-release,
linux-kvm-release,
linux-hyperv-release,
windows-2022-debug-amd,
linux-kvm-debug-amd,
linux-hyperv-debug-amd,
windows-2022-release-amd,
linux-kvm-release-amd,
linux-hyperv-release-amd,
windows-2022-debug-intel,
linux-kvm-debug-intel,
linux-hyperv-debug-intel,
windows-2022-release-intel,
linux-kvm-release-intel,
linux-hyperv-release-intel,
]
include:
- build: windows-2022-debug
- build: windows-2022-debug-amd
os: [self-hosted, Windows, X64, "1ES.Pool=hld-win2022-amd"]
hypervisor: none
config: debug
- build: linux-kvm-debug
- build: linux-kvm-debug-amd
os: [self-hosted, Linux, X64, "1ES.Pool=hld-kvm-amd"]
hypervisor: kvm
config: debug
- build: linux-hyperv-debug
- build: linux-hyperv-debug-amd
os: [self-hosted, Linux, X64, "1ES.Pool=hld-mshv-amd"]
hypervisor: hyperv
config: debug
- build: windows-2022-release
- build: windows-2022-release-amd
os: [self-hosted, Windows, X64, "1ES.Pool=hld-win2022-amd"]
hypervisor: none
config: release
- build: linux-kvm-release
- build: linux-kvm-release-amd
os: [self-hosted, Linux, X64, "1ES.Pool=hld-kvm-amd"]
hypervisor: kvm
config: release
- build: linux-hyperv-release
- build: linux-hyperv-release-amd
os: [self-hosted, Linux, X64, "1ES.Pool=hld-mshv-amd"]
hypervisor: hyperv
config: release
- build: windows-2022-debug-intel
os: [self-hosted, Windows, X64, "1ES.Pool=hld-win2022-intel"]
hypervisor: none
config: debug
- build: linux-kvm-debug-intel
os: [self-hosted, Linux, X64, "1ES.Pool=hld-kvm-intel"]
hypervisor: kvm
config: debug
- build: linux-hyperv-debug-intel
os: [self-hosted, Linux, X64, "1ES.Pool=hld-mshv-intel"]
hypervisor: hyperv
config: debug
- build: windows-2022-release-intel
os: [self-hosted, Windows, X64, "1ES.Pool=hld-win2022-intel"]
hypervisor: none
config: release
- build: linux-kvm-release-intel
os: [self-hosted, Linux, X64, "1ES.Pool=hld-kvm-intel"]
hypervisor: kvm
config: release
- build: linux-hyperv-release-intel
os: [self-hosted, Linux, X64, "1ES.Pool=hld-mshv-intel"]
hypervisor: hyperv
config: release

runs-on: ${{ matrix.os }}
steps:
Expand Down
9 changes: 5 additions & 4 deletions Justfile
Original file line number Diff line number Diff line change
Expand Up @@ -166,11 +166,12 @@ run-rust-examples-linux target=default-target: (build-rust target) (run-rust-exa
# If tag is not given, defaults to latest release
# Options for os: "Windows", or "Linux"
# Options for Linux hypervisor: "kvm", "hyperv"
# Options for Windows hypervisor: "none"
bench-download os hypervisor tag="":
gh release download {{ tag }} -D ./target/ -p benchmarks_{{ os }}_{{ hypervisor }}.tar.gz
# Options for Windows hypervisor: "hyperv"
# Options for arch: "amd", "intel"
bench-download os hypervisor arch tag="":
gh release download {{ tag }} -D ./target/ -p benchmarks_{{ os }}_{{ hypervisor }}_{{ arch }}.tar.gz
mkdir -p target/criterion {{ if os() == "windows" { "-Force" } else { "" } }}
tar -zxvf target/benchmarks_{{ os }}_{{ hypervisor }}.tar.gz -C target/criterion/ --strip-components=1
tar -zxvf target/benchmarks_{{ os }}_{{ hypervisor }}_{{ arch }}.tar.gz -C target/criterion/ --strip-components=1

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

0 comments on commit 9e0cb0f

Please sign in to comment.