Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
feat: rootfs - build/upload action and Dockerfile (#125)
Issue #, if available: runfinch/finch#492 *Description of changes:* In order to facilitate Finch on Windows, we need a root filesystem. We will use this Dockerfile as a basis for that root filesystem - using `docker export` to turn a built container into an archived rootfs. For the scope of these changes, create the Dockerfile and an action that runs on changes to the file to build and push to ECR repo. The Dockerfile will be used to create a container such that we can export that container's fs as a tarball and compress it for use with WSL2. For now, we are including cloud-init (at least for the WSL2 rootfs) but need further investigation to determine if we can remove the package to further slim the rootfs.. In order to create the container used as an intermediate step to export its rootfs, we need to tell buildkit to load the image into Docker. See This exposes a limitation of buildkit to load multiplatform images: `buildx failed with: ERROR: docker exporter does not currently support exporting manifest lists` thus why the action runs two build-rootfs-image jobs - one for each arch. See docker/buildx#59 and docker/roadmap#371 Additionally, network performance of the arm64 build is quite slow - downloads of packages via dnf are on the scale of kb/s (but this has not been observed on Ubuntu or Alpine images) *Testing done:* Local copy in a private repo, [`act`](https://github.com/nektos/act) - [X] I've reviewed the guidance in CONTRIBUTING.md #### License Acceptance By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license. Signed-off-by: Gavin Inglis <[email protected]>
- Loading branch information