Skip to content

Commit 8eab674

Browse files
committed
feat: also build on pull_request, gate publish on workflow_dispatch
Open PRs now run the build matrix and upload kernel binaries as workflow artifacts so reviewers can grab and inspect them from the PR's checks tab. Release/GCS publishing remains manual-only.
1 parent 583d298 commit 8eab674

2 files changed

Lines changed: 10 additions & 5 deletions

File tree

.github/workflows/release.yml

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,8 @@
1-
name: Manual Build & Release
1+
name: Build & Release
22

33
on:
44
workflow_dispatch:
5+
pull_request:
56

67
permissions:
78
contents: write
@@ -35,6 +36,7 @@ jobs:
3536

3637
publish:
3738
needs: build
39+
if: github.event_name == 'workflow_dispatch'
3840
runs-on: ubuntu-24.04
3941
steps:
4042
- uses: actions/checkout@v4

README.md

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -25,11 +25,14 @@ This project builds custom Linux kernels for Firecracker microVMs from the same
2525

2626
Output: `builds/vmlinux-<version>/<arch>/vmlinux.bin` where `<arch>` is `amd64` or `arm64` (Go/OCI convention). For x86_64 a legacy copy is also placed at `builds/vmlinux-<version>/vmlinux.bin`.
2727

28-
## Releasing
28+
## CI / Releasing
2929

30-
1. Pick the branch and run the **Manual Build & Release** workflow (Actions → Manual Build & Release → Run workflow → branch). The workflow takes no inputs.
31-
2. Every kernel version in `kernel_versions.txt` is built for both `amd64` and `arm64` in parallel.
32-
3. A single GitHub release is created per run, tagged with calver `YYYY.MM.DD` (with a `.N` suffix for additional runs the same day). The release contains every binary for that commit:
30+
The **Build & Release** workflow runs in two modes:
31+
32+
- **On every pull request**: builds every kernel in `kernel_versions.txt` for `amd64` and `arm64` in parallel and uploads the binaries as workflow artifacts (downloadable from the PR's checks tab) so reviewers can inspect them. No release or GCS upload happens.
33+
- **Manually (workflow_dispatch)**: pick the branch in the GitHub UI and run. It does the same build as a PR and additionally creates a GitHub release tagged `YYYY.MM.DD` (with a `.N` suffix for additional runs the same day) containing every binary, and uploads them to GCS.
34+
35+
Release asset naming for that commit:
3336

3437
```
3538
vmlinux-<version>-amd64.bin

0 commit comments

Comments
 (0)