1.7 KiB
1.7 KiB
Release Process
This file details the steps for creating a versioned release of eBPF for Windows.
Note: Currently releases are not production signed.
- Update the version number, making sure to follow Semantic Versioning 2.0, in the following files:
- resource\ebpf_version.h
- docs\tutorial.md
- Regenerate the expected bpf2c output:
.\scripts\generate_expected_bpf2c_output.ps1 .\x64\Debug\
and (until issue #2026 is fixed) manually update:- .\tests\bpf2c_tests\expected\bpf_{dll,raw,sys}.c
- .\tests\bpf2c_tests\expected\empty_{dll,raw,sys}.c
- Create a pull request with the version number changes
- Once the build completes on the PR, download the "ebpf-for-windows.msi" and "ebpf-for-windows nuget" build artifacts (accessible via the Actions tab on github)
- Extract the .msi and .nupkg, respectively, out of them
- Test the MSI manually (since not yet tested in CI/CD):
- Copy the MSI into a VM (if not already there)
- Install it, and run a command or two (bpftool prog show, netsh eb sh prog) to make sure it's installed
- Add a tag to the commit with the version number changes (e.g., "git tag v0.3.0", "git push --tags")
- Go to the repo on github and click on "tags" (a bit to the right of the branch combo box)
- Find the tag you created, and click "..." on the right and "Create release"
- Start uploading the .msi and .nupkg files
- Manually enter release notes or click "Generate release notes"
- Click "This is a pre-release" unless the release is production-signed
- Once the uploads are complete (it may take a while), click "Publish release"
- Upload the .nupkg file to nuget.org