Skip to content

Commit e138659

Browse files
authored
Merge branch 'main' into aarch64_guest
2 parents 9420c72 + c171901 commit e138659

File tree

104 files changed

+8342
-2848
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

104 files changed

+8342
-2848
lines changed

.github/ISSUE_TEMPLATE/bug.md

Lines changed: 63 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,63 @@
1+
---
2+
name: Bug Report
3+
about: Report a bug in Hyperlight
4+
title: ''
5+
labels: bug
6+
assignees: ''
7+
---
8+
9+
### What happened?
10+
11+
TODO: A clear and concise description of what the bug is.
12+
13+
### Steps to Reproduce
14+
15+
1. Run '...'
16+
2. And then do '...'
17+
3. Check logs for '...'
18+
19+
### Expected Results
20+
21+
TODO: What did you expect to happen?
22+
23+
### Actual Results
24+
25+
TODO: What actually happened?
26+
27+
### Versions and Environment
28+
29+
Hyperlight version or commit: TODO
30+
31+
#### OS Version
32+
33+
Run the following to find your OS version:
34+
35+
Linux:
36+
```console
37+
cat /etc/os-release && uname -a
38+
```
39+
40+
Windows (PowerShell):
41+
```powershell
42+
cmd /c ver
43+
```
44+
45+
#### Hypervisor
46+
47+
Run the following to check hypervisor access:
48+
49+
Linux:
50+
```console
51+
ls -la /dev/kvm /dev/mshv 2>&1; getfacl /dev/kvm /dev/mshv 2>&1; id
52+
[ -r /dev/kvm ] && [ -w /dev/kvm ] && echo "KVM: OK" || echo "KVM: FAIL"
53+
[ -r /dev/mshv ] && [ -w /dev/mshv ] && echo "MSHV: OK" || echo "MSHV: FAIL"
54+
```
55+
56+
Windows (Admin PowerShell):
57+
```powershell
58+
Get-WindowsOptionalFeature -Online | Where-Object {$_.FeatureName -match 'Hyper-V|HypervisorPlatform|VirtualMachinePlatform'} | Format-Table
59+
```
60+
61+
### Extra Info
62+
63+
Anything else you'd like to add?

.github/ISSUE_TEMPLATE/bug.yaml

Lines changed: 0 additions & 80 deletions
This file was deleted.

.github/workflows/Benchmarks.yml

Lines changed: 0 additions & 69 deletions
This file was deleted.

.github/workflows/CargoPublish.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ permissions:
2222

2323
jobs:
2424
publish-hyperlight-packages:
25-
runs-on: [self-hosted, Linux, X64, "1ES.Pool=hld-kvm-amd"]
25+
runs-on: [self-hosted, Linux, X64, "1ES.Pool=hld-kvm-amd", "JobId=publish-hyperlight-packages-${{ github.run_id }}-${{ github.run_number }}-${{ github.run_attempt }}"]
2626

2727
if: ${{ startsWith(github.ref, 'refs/heads/release/v') || inputs.dry_run }}
2828

@@ -32,7 +32,7 @@ jobs:
3232
fetch-depth: 0
3333
fetch-tags: true
3434

35-
- uses: hyperlight-dev/ci-setup-workflow@v1.8.0
35+
- uses: hyperlight-dev/ci-setup-workflow@v1.9.0
3636
with:
3737
rust-toolchain: "1.89"
3838

.github/workflows/Coverage.yml

Lines changed: 108 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,108 @@
1+
# yaml-language-server: $schema=https://json.schemastore.org/github-workflow.json
2+
3+
name: Weekly Coverage
4+
5+
on:
6+
pull_request:
7+
paths:
8+
- .github/workflows/Coverage.yml
9+
schedule:
10+
# Runs every Monday at 06:00 UTC
11+
- cron: '0 6 * * 1'
12+
workflow_dispatch: # Allow manual trigger
13+
14+
env:
15+
CARGO_TERM_COLOR: always
16+
RUST_BACKTRACE: full
17+
18+
permissions:
19+
contents: read
20+
21+
defaults:
22+
run:
23+
shell: bash
24+
25+
jobs:
26+
coverage:
27+
timeout-minutes: 90
28+
strategy:
29+
fail-fast: false
30+
matrix:
31+
hypervisor: [kvm]
32+
cpu: [amd]
33+
runs-on: ${{ fromJson(
34+
format('["self-hosted", "Linux", "X64", "1ES.Pool=hld-{0}-{1}"]',
35+
matrix.hypervisor,
36+
matrix.cpu)) }}
37+
steps:
38+
- uses: actions/checkout@v6
39+
40+
- uses: hyperlight-dev/ci-setup-workflow@v1.9.0
41+
with:
42+
rust-toolchain: "1.89"
43+
env:
44+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
45+
46+
- name: Fix cargo home permissions
47+
run: |
48+
sudo chown -R $(id -u):$(id -g) /opt/cargo || true
49+
50+
- name: Rust cache
51+
uses: Swatinem/rust-cache@v2
52+
with:
53+
shared-key: "${{ runner.os }}-debug"
54+
cache-on-failure: "true"
55+
56+
- name: Build guest binaries
57+
run: just guests
58+
59+
- name: Install nightly toolchain
60+
run: |
61+
rustup toolchain install nightly
62+
rustup component add llvm-tools --toolchain nightly
63+
64+
- name: Generate coverage report
65+
run: just coverage-ci ${{ matrix.hypervisor }}
66+
67+
- name: Coverage summary
68+
run: |
69+
echo '## Code Coverage Report' >> $GITHUB_STEP_SUMMARY
70+
echo '' >> $GITHUB_STEP_SUMMARY
71+
if [ -f target/coverage/summary.txt ]; then
72+
echo '```' >> $GITHUB_STEP_SUMMARY
73+
cat target/coverage/summary.txt >> $GITHUB_STEP_SUMMARY
74+
echo '```' >> $GITHUB_STEP_SUMMARY
75+
else
76+
echo 'Coverage report was not generated.' >> $GITHUB_STEP_SUMMARY
77+
fi
78+
echo '' >> $GITHUB_STEP_SUMMARY
79+
echo '> For a detailed per-file breakdown, download the **HTML coverage report** from the Artifacts section below.' >> $GITHUB_STEP_SUMMARY
80+
81+
- name: Upload HTML coverage report
82+
uses: actions/upload-artifact@v7
83+
with:
84+
name: coverage-html-${{ matrix.hypervisor }}-${{ matrix.cpu }}
85+
path: target/coverage/html/
86+
if-no-files-found: error
87+
88+
- name: Upload LCOV coverage report
89+
uses: actions/upload-artifact@v7
90+
with:
91+
name: coverage-lcov-${{ matrix.hypervisor }}-${{ matrix.cpu }}
92+
path: target/coverage/lcov.info
93+
if-no-files-found: error
94+
95+
notify-failure:
96+
runs-on: ubuntu-latest
97+
needs: [coverage]
98+
if: always() && needs.coverage.result == 'failure'
99+
permissions:
100+
issues: write
101+
steps:
102+
- name: Checkout code
103+
uses: actions/checkout@v6
104+
105+
- name: Notify Coverage Failure
106+
run: ./dev/notify-ci-failure.sh --title="Weekly Coverage Failure - ${{ github.run_number }}" --labels="area/ci-periodics,area/testing,lifecycle/needs-review"
107+
env:
108+
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}

0 commit comments

Comments
 (0)