You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This project automates the building of custom Firecracker. It supports building specific firecracker versions and uploading the resulting binaries to a Google Cloud Storage (GCS) bucket.
5
+
This project automates the building of custom Firecracker versions. It supports building specific firecracker versions and uploading the resulting binaries to a Google Cloud Storage (GCS) bucket.
6
6
7
7
## Prerequisites
8
8
9
9
- Linux environment (for building firecracker)
10
10
11
-
## Building Kernels
11
+
## Building Firecrackers
12
12
13
-
1.**Configure firecracker versions:**
14
-
- Edit `firecracker_versions.txt` to specify which kernel versions to build (one per line, e.g., `<last_tag-prelease>-<first-8-letters-of-the-specific-commit>`).
13
+
The `firecracker_versions.txt` file specifies which versions to build:
15
14
16
-
2.**Build:**
17
-
```sh
18
-
make build
19
-
# or directly
20
-
./build.sh
21
-
```
22
-
The built kernels will be placed in `builds/vmlinux-<version>/vmlinux.bin`.
15
+
- Edit `firecracker_versions.txt` to specify firecracker versions (one per line)
16
+
- Versions can be tags (e.g., `v1.10.1`) or tag with shorthash (e.g., `v1.12.1_abcdef12`)
17
+
- On every push, GitHub Actions will automatically:
18
+
1. Parse versions from `firecracker_versions.txt` and resolve commit hashes
19
+
2. Build each version in parallel
20
+
3. Check CI status for each version
21
+
4. Upload successful builds to GCS and create GitHub releases (on main branch)
23
22
24
-
## Development Workflow
25
-
- On every push, GitHub Actions will automatically build the kernels and save it as an artifact.
23
+
## Scripts
24
+
25
+
-`build.sh <version> <hash> <version_name>` - Builds a single Firecracker version
26
+
-`scripts/parse-versions-with-hash.sh` - Parses versions and resolves commit hashes
27
+
-`scripts/check-fc-ci.sh <versions_json>` - Checks CI status for parsed versions
26
28
27
29
## License
28
30
29
-
This project is licensed under the Apache License 2.0. See [LICENSE](LICENSE) for details.
31
+
This project is licensed under the Apache License 2.0. See [LICENSE](LICENSE) for details.
0 commit comments