Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Build Inko and idoc containers using Alpine #797

Closed
4 tasks
yorickpeterse opened this issue Jan 16, 2025 · 4 comments
Closed
4 tasks

Build Inko and idoc containers using Alpine #797

yorickpeterse opened this issue Jan 16, 2025 · 4 comments
Assignees
Milestone

Comments

@yorickpeterse
Copy link
Collaborator

These are currently built using Fedora, but Fedora isn't really a "stable" distribution in terms of only providing support for about a year. The fedora-minimal image also has a larger base size (129 MiB) versus Alpine (8.15 MiB). As these containers are typically used for CI and quick testing/demo purposes, reducing the size could be beneficial.

In addition, this means that for our own CI we'd only need two sets of images: a Debian image so we can build GNU toolchains, and an Alpine image for everything else, instead of also needing a Fedora image.

TODO

  • Change Inko's Dockerfile to use alpine:3
  • Release Inko 0.18.0, which would then use Alpine for the new container
  • Update idoc to also use alpine:3 and rebuild the container
  • Drop the Fedora container we use for tests
@yorickpeterse yorickpeterse added this to the 0.18.0 milestone Jan 16, 2025
@yorickpeterse yorickpeterse self-assigned this Jan 16, 2025
@yorickpeterse
Copy link
Collaborator Author

Per actions/runner#801, GitHub's runners don't handle Alpine containers well on ARM64. This means that if we build such containers, they're basically useless for GitHub. We should probably use a different distribution instead, preferably one that has musl 1.2.5 or newer (for the DNS/TCP fixes).

@yorickpeterse
Copy link
Collaborator Author

Debian 13/Trixie might be an option. It's still in the testing phase but might be good enough, and it has musl 1.2.5 and LLVM 17 and LLVM 18. Unfortunately, its version of rclone is still ancient though (from 2022).

@yorickpeterse
Copy link
Collaborator Author

Another option is to just stick with Fedora. Fedora has musl 1.2.5 since version 39 IIRC. The version of glibc is pretty recent, but I think that should be fine since we don't use any new libc features. Having to upgrade the containers every now and then shouldn't pose an issue either.

@yorickpeterse
Copy link
Collaborator Author

We'll stick with Fedora for the time being.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant