{"id":15284075,"url":"https://github.com/antoineco/kernel-devel-vm-action","last_synced_at":"2025-10-07T00:31:44.473Z","repository":{"id":63437214,"uuid":"560516332","full_name":"antoineco/kernel-devel-vm-action","owner":"antoineco","description":"Bootstraps a Lima instance with the selected Linux kernel version for building and testing kernel modules.","archived":true,"fork":false,"pushed_at":"2024-02-04T18:56:05.000Z","size":25,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-09-23T18:44:00.624Z","etag":null,"topics":["action","fedora","kernel","lima"],"latest_commit_sha":null,"homepage":"","language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/antoineco.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null}},"created_at":"2022-11-01T17:11:47.000Z","updated_at":"2024-02-04T19:50:28.000Z","dependencies_parsed_at":"2024-02-03T10:40:47.517Z","dependency_job_id":null,"html_url":"https://github.com/antoineco/kernel-devel-vm-action","commit_stats":{"total_commits":10,"total_committers":1,"mean_commits":10.0,"dds":0.0,"last_synced_commit":"13b82caa95d7cf17a629ba02c9020eeb095d20f6"},"previous_names":[],"tags_count":10,"template":false,"template_full_name":null,"purl":"pkg:github/antoineco/kernel-devel-vm-action","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/antoineco%2Fkernel-devel-vm-action","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/antoineco%2Fkernel-devel-vm-action/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/antoineco%2Fkernel-devel-vm-action/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/antoineco%2Fkernel-devel-vm-action/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/antoineco","download_url":"https://codeload.github.com/antoineco/kernel-devel-vm-action/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/antoineco%2Fkernel-devel-vm-action/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":278703582,"owners_count":26031204,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-10-06T02:00:05.630Z","response_time":65,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["action","fedora","kernel","lima"],"created_at":"2024-09-30T14:49:08.966Z","updated_at":"2025-10-07T00:31:44.154Z","avatar_url":"https://github.com/antoineco.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Kernel Devel VM Action\n\nA GitHub Action that bootstraps a [Lima][lima] instance running [Fedora\nLinux][fedora] with the selected kernel version.\n\nIts main purpose is to facilitate the building and testing of kernel modules in\nCI workflows. It was originally written to support the automated build pipeline\nfor the [broadcom-wl][wl] wireless driver.\n\n## How It Works\n\nThe Action queries Fedora's [public mirrors][mirrors] to retrieve the latest\nQEMU image and SHA256 checksum for the selected OS version, and generates a\nLima instance configuration using this information.\n\nIt then mounts provisioning scripts inside that instance, which Lima executes\nas part of its initialization process (_cloud-init_). The scripts query\n[Bodhi][bodhi] — Fedora's updates system — to find and download the most\nsuitable kernel candidate for the selected version. If a candidate is found, it\nis installed and the bootloader configuration gets updated to boot on that\nspecific kernel version.\n\n## Usage\n\n### Pre-requisites\n\n- A runner with Virtualization enabled, to support QEMU/KVM\n- [Lima][lima] ≥ 0.12.x\n- [yq][yq] ≥ 4.x\n\n### Inputs\n\n- `kernel` **(required)**: The desired kernel version in _\\\u003cmajor\u003e.\\\u003cminor\u003e_\n  semantic format (e.g. \"5.19\").\n- `os`: The version code of the Fedora Linux release to bootstrap the instance\n  with (e.g. \"f38\"). Defaults to `f39`.\n\n### Outputs\n\n- `kernel`: The full version string of the kernel running inside the\n  bootstrapped instance (e.g. \"5.19.17-300.fc37.x86_64\").\n- `kernel-short`: The short, [SemVer][semver] compatible version string of the\n  kernel running inside the bootstrapped instance (e.g. \"5.19.17\").\n- `logs`: Location on the runner of the exported cloud-init logs (e.g.\n  \"/tmp/lima/myinstance\").\n\n### Environment variables\n\nUpon execution, this Action sets the `LIMA_INSTANCE` environment variable to\nthe name of the bootstrapped Lima instance, and makes it available to all\nsubsequent job steps.\n\n### Example workflow\n\n```yaml\nname: Build Kernel Module\n\non: push\n\njobs:\n  build:\n    runs-on: ubuntu-latest\n\n    strategy:\n      matrix:\n        include:\n        - kernel: '6.3'\n          os: f37\n        - kernel: '6.4'\n          os: f38\n        - kernel: '6.5'\n          os: f39\n\n    steps:\n    - name: Bootstrap Lima instance\n      id: builder\n      uses: antoineco/kernel-devel-vm-action@v1\n      with:\n        kernel: ${{ matrix.kernel }}\n        os: ${{ matrix.os }}\n\n    - name: Build kernel module\n      id: build\n      run: lima make\n```\n\nFor more elaborate usage examples, take a look at the [build workflow][wl-ci]\nfor `broadcom-wl`, or the [CI workflow][ci] for this Action.\n\n[fedora]: https://getfedora.org\n[mirrors]: https://admin.fedoraproject.org/mirrormanager/\n[bodhi]: https://bodhi.fedoraproject.org\n\n[lima]: https://github.com/lima-vm/lima#readme\n[lima-install]: https://github.com/lima-vm/lima#getting-started\n\n[yq]: https://mikefarah.gitbook.io/yq/\n\n[semver]: https://semver.org\n\n[wl]: https://github.com/antoineco/broadcom-wl\n[wl-ci]: https://github.com/antoineco/broadcom-wl/blob/patch-linux4.7/.github/workflows/ci.yaml\n\n[ci]: .github/workflows/ci.yaml\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fantoineco%2Fkernel-devel-vm-action","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fantoineco%2Fkernel-devel-vm-action","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fantoineco%2Fkernel-devel-vm-action/lists"}