Skip to content

Commit 3428524

Browse files
committed
Merge branch 'microsoft:main' into vtl0-iommu-posted-interrupt-relay
1 parent ec1c530 commit 3428524

File tree

973 files changed

+32194
-12393
lines changed

Some content is hidden

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

973 files changed

+32194
-12393
lines changed

.cargo/config.toml

+7
Original file line numberDiff line numberDiff line change
@@ -112,3 +112,10 @@ rustflags = [
112112
# Treat warnings as errors in CI.
113113
### ENABLE_IN_CI "-Dwarnings",
114114
]
115+
116+
# Specify a common set of rustdocflags for all targets.
117+
[build]
118+
rustdocflags = [
119+
# Treat warnings as errors in CI.
120+
### ENABLE_IN_CI "-Dwarnings",
121+
]

.config/nextest.toml

+1-1
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ filter = 'package(~vmm_tests)'
3636
# Allow VMM tests longer timeouts.
3737
# Important Note: Petri's watchdogs need to know this value too.
3838
# If you change it here then change it there!
39-
slow-timeout = { period = "2m", terminate-after = 2 }
39+
slow-timeout = { period = "3m", terminate-after = 2 }
4040

4141
# Add retries for known flaky tests.
4242
# TODO: Fix these tests and remove the retries.

.github/CODEOWNERS

+8
Original file line numberDiff line numberDiff line change
@@ -7,9 +7,17 @@
77
/ci/ @microsoft/openvmm-ci-reviewers
88
/.github/ @microsoft/openvmm-ci-reviewers
99

10+
# Areas with specific maintainers. In some cases, general maintainers can also approve.
11+
1012
# VTL2 settings is an API consumed by various partner teams. VTL2 Settings
1113
# approvers evaluate for consistency and to help ensure no breaking changes
1214
/vm/devices/get/underhill_config/* @microsoft/openvmm-vtl2-settings-approvers
1315

16+
# Vmbus
17+
/vm/devices/vmbus/ @microsoft/openvmm-maintain @microsoft/openvmm-vmbus
18+
19+
# Storage
20+
/vm/devices/storage @microsoft/openvmm-maintain @microsoft/openvmm-storage
21+
1422
# Cargo dependencies
1523
/Cargo.lock @microsoft/openvmm-dependency-reviewers

.github/scripts/add_unsafe_reviewers/add-unsafe-reviewers.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
@click.argument('target_branch', required=True)
99
@click.option('--token', default=None)
1010
@click.option('--pull-request', default=None)
11-
@click.option('--team', default='openvmm-unsafe-approvers')
11+
@click.option('--team', default='@microsoft/openvmm-unsafe-approvers')
1212
def main(repo_path: str, target_branch: str, token: str, pull_request: str, team: str):
1313
def contains_unsafe(change) -> bool:
1414
if change.change_type not in ['A', 'M'] or not change.a_path.endswith('.rs'):

.github/workflows/openvmm-ci.yaml

+297-164
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

.github/workflows/openvmm-pr.yaml

+301-164
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

.github/workflows/unsafe-reviewers.yml

+25-3
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ on:
88
permissions:
99
id-token: write
1010
contents: read
11-
pull-requests: read
11+
pull-requests: write
1212

1313
concurrency:
1414
group: ${{ github.workflow }}-${{ github.head_ref }}
@@ -20,11 +20,33 @@ jobs:
2020
runs-on: ubuntu-latest
2121
if: github.event.pull_request.merged != true && github.event.action != 'closed'
2222
steps:
23-
- name: Checkout actions
23+
# NOTE: We're checking out both repos to avoid a security vulnerability
24+
# Any code that runs in this workflow should be using the checked out base repo to avoid
25+
# running code from a potentially malicious PR
26+
# https://securitylab.github.com/resources/github-actions-preventing-pwn-requests/
27+
# https://nathandavison.com/blog/github-actions-and-the-threat-of-malicious-pull-requests
28+
- name: Checkout base repo
2429
uses: actions/checkout@v4
2530
with:
31+
path: base
2632
fetch-depth: 0
33+
- name: Checkout head repo
34+
uses: actions/checkout@v4
35+
with:
36+
repository: ${{ github.event.pull_request.head.repo.full_name }}
37+
ref: ${{ github.event.pull_request.head.ref }}
38+
token: ${{ secrets.GITHUB_TOKEN }}
39+
fetch-depth: 0
40+
path: head-repo
41+
42+
- name: Get merge base commit
43+
id: merge-base
44+
run: |
45+
git fetch origin ${{ github.base_ref }}
46+
git merge-base HEAD origin/${{ github.base_ref }} > merge-base.txt
47+
echo "MERGE_BASE=$(cat merge-base.txt)" >> $GITHUB_ENV
48+
working-directory: head-repo
2749

2850
- name: Run unsafe code review script
29-
run: pip3 install -r .github/scripts/add_unsafe_reviewers/requirements.txt && python3 .github/scripts/add_unsafe_reviewers/add-unsafe-reviewers.py . "origin/${{ github.base_ref }}" --token "${{ secrets.ONEBLUE_GH_PAT }}" --pull-request "${{ github.event.number }}"
51+
run: pip3 install -r ./base/.github/scripts/add_unsafe_reviewers/requirements.txt && python3 ./base/.github/scripts/add_unsafe_reviewers/add-unsafe-reviewers.py ./head-repo "${{ env.MERGE_BASE }}" --token "${{ secrets.GITHUB_TOKEN }}" --pull-request "${{ github.event.number }}"
3052
shell: bash

.gitignore

+3
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,9 @@
99
*.img
1010
*.iso
1111
*.vmgs
12+
*.dbhd
13+
*.dbhd-shm
14+
*.dbhd-wal
1215

1316
# macOS files
1417
.DS_Store

CONTRIBUTE.MD

+19-6
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,28 @@
11
By participating in this project, you agree to abide by the [CODE OF CONDUCT](./CODE_OF_CONDUCT.md).
22

3-
OpenVMM uses the “fork-and-pull” development model. See [GitHub forks](https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/working-with-forks) for more information on forks. Please follow these steps to merge your changes to OpenVMM:
3+
OpenVMM uses the “fork-and-pull” development model.
4+
See [GitHub forks](https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/working-with-forks)
5+
for more information on forks. Please follow these steps to merge your changes to OpenVMM:
46
1. [Fork and clone](https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/working-with-forks/fork-a-repo#forking-a-repository) the OpenVMM repo.
57
2. Create a branch for your changes, develop your code and push your changes.
6-
3. Create a PR against the main branch of the OpenVMM repository [from your fork](https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/creating-a-pull-request-from-a-fork).
8+
3. Create a PR against the main branch of the OpenVMM repository
9+
[from your fork](https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/creating-a-pull-request-from-a-fork).
710
4. Go through the PR review process.
811

9-
Following our [coding conventions](.\guide\src\dev_guide\contrib\code.md) and writing a descriptive commit message will increase the chance that a PR is accepted.
12+
Following our [coding conventions](.\guide\src\dev_guide\contrib\code.md) and
13+
writing a descriptive commit message will increase the chance that a PR is accepted.
1014

11-
We strongly suggest asking for feedback before starting to work on a new feature, functionality, etc. so that we can provide feedback and discuss how we can collaborate on this and support contributors.
15+
We strongly suggest asking for feedback before starting to work on a new feature,
16+
functionality, etc. so that we can provide feedback and discuss how we can
17+
collaborate on this and support contributors.
1218

13-
To engage with project maintainers, contributors can reach out on Zulip (link coming soon) and then start drafting a [GitHub issue](https://github.com/microsoft/openvmm/issues/new?template=Blank+issue) after getting some preliminary feedback on Zulip, or they can open a GitHub issue to get preliminary feedback on GitHub and then reach out to us on Zulip to get some more synchronous support.
19+
To engage with project maintainers, contributors can reach out on
20+
[Zulip](https://openvmm.zulipchat.com/) and then start drafting a
21+
[GitHub issue](https://github.com/microsoft/openvmm/issues/new?template=Blank+issue)
22+
after getting some preliminary feedback on Zulip, or they can open a GitHub issue
23+
to get preliminary feedback on GitHub and then reach out to us on Zulip to get
24+
some more synchronous support.
1425

15-
We normally use Zulip for more informal conversations and GitHub Issues for more formal, auditable, public discussion and progress tracking. We encourage contributors to use both in either order based on preference.
26+
We normally use Zulip for more informal conversations and GitHub Issues for more
27+
formal, auditable, public discussion and progress tracking. We encourage contributors
28+
to use both in either order based on preference.

0 commit comments

Comments
 (0)