chore: bring images up to date #63
Conversation
richardcase
left a comment
There was a problem hiding this comment.
Thanks for this @casibbald . A few comments.
I have previously experimented with a different way to build the images using the kernel configs from FC and CH directly and then adding additional config options on top, i never quite got it working nicely: https://github.com/liquidmetal-dev/mikrolite-images/tree/main/kernel-k8s-fc
But i do think its a better
| K8S_FULL_VERSION?=$(K8S_MAJOR_MINOR).14 | ||
| UBUNTU_VERSION?=22.04 | ||
| IMAGE_NAME?=$(REGISTRY)/capmvm-k8s-ubuntu-$(UBUNTU_VERSION) | ||
| IMAGE_NAME?=$(REGISTRY)/capmvm-k8s-ubuntu-$(UBUNTU_VERSION)-amd64 |
There was a problem hiding this comment.
Do we need the ability to overwrite the amd64? Perhaps via passed in ARCH
There was a problem hiding this comment.
Actually i see there is separate Makefile later for arm :)
There was a problem hiding this comment.
@richardcase Should we merge the Makefiles?
It was a bit confusing for me with ARM initially. Maybe a single file that handles all architectures?
There was a problem hiding this comment.
So arm was experimental; I did not want to merge them initially as I was concerned it could break others' workflows; however, I think a single Makefile might be nicer. Let me know your thoughts.
@richardcase Maybe as a separate PR where we merge them?
There was a problem hiding this comment.
Yeah i think a single makefile would be easier ultimately.
kernel/Makefile
Outdated
|
|
||
| FC_KERNEL_VERSIONS ?= 4.19.215 5.10.77 # If you update this list, please remember to update the matrix in the kernel-images.yml github action! | ||
| CH_KERNEL_VERSIONS ?= 5.12 # If you update this list, please remember to update the matrix in the kernel-images.yml github action! | ||
| FC_KERNEL_VERSIONS ?= 4.19.215 5.2.21 5.10.77 # If you update this list, please remember to update the matrix in the kernel-images.yml github action! |
There was a problem hiding this comment.
We need to completely rethink these versions now. For firecracker its 5.10 and 6.1 kernels supported now.
There was a problem hiding this comment.
I will give 6.1 another stab, I could not get it to crpss build on my M1, but I have an Intel MiniPC to test with.
There was a problem hiding this comment.
updated 6.1 to use the following file:
https://github.com/firecracker-microvm/firecracker/blob/main/resources/guest_configs/microvm-kernel-ci-aarch64-6.1.config
and removed 5.2.21 as I now have an intel machine
5.2.21 - was the only version building on my M1
| FC_KERNEL_VERSIONS ?= 4.19.215 5.10.77 # If you update this list, please remember to update the matrix in the kernel-images.yml github action! | ||
| CH_KERNEL_VERSIONS ?= 5.12 # If you update this list, please remember to update the matrix in the kernel-images.yml github action! | ||
| FC_KERNEL_VERSIONS ?= 4.19.215 5.2.21 5.10.77 # If you update this list, please remember to update the matrix in the kernel-images.yml github action! | ||
| CH_KERNEL_VERSIONS ?= 5.12 5.15.12 # If you update this list, please remember to update the matrix in the kernel-images.yml github action! |
There was a problem hiding this comment.
We should also take a view of the CH kernel versions.
There was a problem hiding this comment.
Any known preference for CH versions ?
There was a problem hiding this comment.
I don't know off the top of my head. I would need to have a look around. But lets do that as a follow-up.
README.md
Outdated
| Workflows push images to the **repository’s GitHub Container Registry** by default: | ||
|
|
||
| - **Upstream** (`liquidmetal-dev/image-builder`): images go to `ghcr.io/liquidmetal-dev/...` | ||
| - **Forks** (e.g. `microscaler/liquidmetal-image-builder`): images go to `ghcr.io/microscaler/...` |
There was a problem hiding this comment.
| - **Forks** (e.g. `microscaler/liquidmetal-image-builder`): images go to `ghcr.io/microscaler/...` | |
| - **Forks** (e.g. `my-fork/liquidmetal-image-builder`): images go to `ghcr.io/my-fork/...` |
cc8c877 to
e025159
Compare
…rnel/CH/CAPMVM naming, liquidmetal-dev)
001064a to
8e592d1
Compare
8e592d1 to
4fa0c91
Compare
Summary
This PR brings image naming, workflows, and references in line with the current Liquid Metal setup: registry detection for forks, ARM (experimental) workflows, explicit architecture suffixes on image names, and the move from
weaveworks-liquidmetaltoliquidmetal-dev.Successful builds can be found here:
1. Registry detection (fork-friendly)
REGISTRY=ghcr.io/${{ vars.REGISTRY_OWNER || github.repository_owner }}microscaler/image-builder) publish toghcr.io/microscaler/..., and upstream toghcr.io/liquidmetal-dev/....REGISTRY_OWNERoverrides the owner (e.g. for a different org).kernel-images.yml,kernel-images-manual.yml,capmvm-kubernetes-manual.yml.2. Kernel workflows and images
workflow_dispatchadded to Build and release kernel images for manual runs.firecracker-kernel-amd64,firecracker-kernel-bin-amd64,firecracker-kernel-modules-amd64;cloudhypervisor-kernel-amd64,cloudhypervisor-kernel-bin-amd64,cloudhypervisor-kernel-modules-amd64.firecracker-kernel-arm64,firecracker-kernel-bin-arm64,firecracker-kernel-modules-arm64.git://tohttps://for CI..github/workflows/kernel-images-arm.yml(push onexperimental/arm/kernel/**, manual dispatch, QEMU + Buildx forlinux/arm64).3. CAPMVM workflows and images
capmvm-k8s-ubuntu-{20.04|22.04|24.04}-amd64capmvm-k8s-ubuntu-{20.04|22.04|24.04}-arm64.github/workflows/capmvm-kubernetes-arm-manual.yml(manual dispatch, same inputs as x86: k8s version, containerd, Ubuntu version).-1.1, and OS_VERSION for Ubuntu choice.4. References: weaveworks-liquidmetal → liquidmetal-dev
weaveworks-liquidmetaltoliquidmetal-dev(default REGISTRY, README examples, and links to flintlock, cluster-api-provider-microvm, site, microvm-action-runner).REGISTRYis nowghcr.io/liquidmetal-devwhere applicable.Files changed (22)
kernel-images.yml,kernel-images-manual.yml, newkernel-images-arm.yml,capmvm-kubernetes-manual.yml, newcapmvm-kubernetes-arm-manual.yml.