Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add MSI testing in the CI/CD pipeline. #2953

Merged
merged 3 commits into from
Oct 23, 2023

Conversation

gtrevi
Copy link
Collaborator

@gtrevi gtrevi commented Oct 5, 2023

Closes #1037
Related #1279
Related #2422

Description

This PR adds full MSI testing for all the build configurations that are being released, i.e. Build-x64 - Debug and Build-x64-native-only - NativeOnlyRelease.

The tests are directly performed in the corresponding build pipeline, as follows:

  • Install the MSI, with the features related to the current build configuration.
  • Verify every single installed file against a known list of files (i.e., check_msi_installation_files_<build type>_<build configuration>.txt):
    • Check and report any missing file.
    • Check and report any extra (unexpected) file.
  • Check if the eBPF platform is installed correctly:
    • Verify that all eBPF drivers are registered correctly on the system.
    • Verify that the eBPF netsh extension is correctly registered and responding to commands.
    • (optional) If the JIT option is enabled, check if the eBPF JIT service is running.
  • Uninstall the MSI.

Testing

Local + CI/CD.

Documentation

Consequently to adding the automatic MSI testing in the CI/CD, the process in ReleaseProcess.md has been simplified.

Installation

n.a.

rectified95
rectified95 previously approved these changes Oct 10, 2023
Copy link
Collaborator

@rectified95 rectified95 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM. See comment about expected file list + fix grammar nit.

scripts/check_msi_installation.ps1 Outdated Show resolved Hide resolved
@dthaler
Copy link
Collaborator

dthaler commented Oct 11, 2023

To fix #1279, I think Install-eBPFComponents in install_ebpf.psm1 should be updated to install via the MSI rather than manually. The point is that the KM driver tests should be run after installing via the MSI.

To fix #2422, I think the legacy ability to copy individual files should be removed from deploy-ebpf.ps1.in so all installation uses the MSI.

@gtrevi
Copy link
Collaborator Author

gtrevi commented Oct 13, 2023

This PR specifically adds testing to all the MSI actions.
Having other steps in the CI/CD or manual installations use the MSI instead of other forms, should be addressed in separate PR(s).

I updated the automatic closures, but I believe this PR has a very specific context, which should not be go outside testing exactly the MSI, and the MSI only.

@Alan-Jowett Alan-Jowett added this pull request to the merge queue Oct 23, 2023
Merged via the queue into microsoft:main with commit ac75163 Oct 23, 2023
76 checks passed
@gtrevi gtrevi deleted the gtrevi/add-msi-testing branch October 25, 2023 02:00
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

eBPF-For-Windows MSI should install drivers and services
4 participants