diff --git a/_posts/2025-01-25-tebako-ci-containers.adoc b/_posts/2025-01-25-tebako-ci-containers.adoc index b399638..10ca26a 100644 --- a/_posts/2025-01-25-tebako-ci-containers.adoc +++ b/_posts/2025-01-25-tebako-ci-containers.adoc @@ -18,40 +18,72 @@ excerpt: >- = Introducing Tebako Packaging Containers: Multiarchitecture Support for GNU and musl Linux -At Tebako, we're simplifying the packaging process for developers across platforms and architectures. -We're thrilled to introduce our *Tebako Packaging Containers*, now available at *ghrc.io* (GitHub Container Registry). -These containers streamline your workflow while ensuring compatibility with both *GNU Linux* and *musl-based distributions*. +At Tebako, we aim to simplify the packaging process for developers across platforms and architectures. +We’re excited to announce the launch of *Tebako Packaging Containers*, now available on the *GitHub Container Registry (ghcr.io)*. +These containers streamline workflows and ensure compatibility with both *GNU Linux* and *musl-based distributions*. -== Multiarchitecture Support: amd64 and arm64 +== Why Choose Tebako Packaging Containers? -Supporting multiple architectures is no longer optional—it’s essential. Our Tebako Packaging Containers include *multiarchitecture manifests* -for both *amd64* and *arm64*, ensuring seamless compatibility on traditional x86_64 systems and modern ARM-based devices. +Creating Tebako packages for Linux requires matching the target system's architecture and standard library implementation. For instance: +- **x86_64/aarch64 packages** must be built on **x86_64/aarch64 systems**, respectively. +- Packages for **GNU/musl Linux** must be created in corresponding **GNU/musl environments**. -== Broad Distribution Support for GNU and musl Linux +Installing Tebako on diverse Linux configurations can be challenging, and our testing focuses on specific Ubuntu and Alpine setups. +To overcome these challenges, we provide **Docker containers** preconfigured with the Tebako executable packager. -Tebako Packaging Containers are built to support a wide range of Linux distributions, no matter the underlying libc implementation: +=== Key Benefits: +* *Cross-Distribution Compatibility*: Package applications for Ubuntu, Red Hat, Fedora, Alpine, and more. +* *Multiarchitecture Ready*: Build for both `amd64` and `arm64` platforms effortlessly. +* *Reliable and Tested*: Our containers are rigorously tested to ensure high performance and reliability. +* *Community-Driven*: Your feedback matters! Share your experiences to help us improve Tebako containers. -* *GNU Linux*: Built on *Ubuntu*, our container is also fully capable of packaging applications for *Red Hat* and *Fedora*. -Rigorous testing ensures compatibility across these popular distributions, letting you focus on building great software. -* *musl-based distributions*: Built on *Alpine Linux*, our musl container works seamlessly with Alpine and other musl environments. -Have experience using our container with another musl-based distribution? Share your feedback to help us expand our support! +== Container Availability -== Why Choose Tebako Packaging Containers? +We offer containers designed for packaging in **GNU** and **musl** target environments. +The currently available tags are: + +=== `ubuntu-20.04` + +This container is based on **Ubuntu 20.04 LTS**, providing a suitable environment for packaging applications targeting **GNU systems** with the https://sourceware.org/glibc[`glibc` implementation of the C standard library]. + +The `--patchelf` option ensures forward compatibility with GNU Linux distributions using GLIBC version 2.31 and above. + +.Minimum GLIBC Versions for Tebako Packages +[cols="3", options="header"] +|=== +| Distribution | Minimum Supported Version | GLIBC Version +| Ubuntu | 20.04 (Focal Fossa) | GLIBC 2.31 +| Debian | 11 (Bullseye) | GLIBC 2.31 +| Rocky Linux | 9 | GLIBC 2.34 +| Fedora | 33 | GLIBC 2.32 +| CentOS | 9 | GLIBC 2.34 +| Red Hat Enterprise Linux (RHEL) | 9 | GLIBC 2.34 +| Oracle Linux | 9 | GLIBC 2.34 +|=== -* *Cross-Distribution Compatibility*: Package your applications for Ubuntu, Red Hat, Fedora, Alpine, and beyond. -* *Multiarchitecture Ready*: Package for both amd64 and arm64 platforms with ease. -* *Reliable and Tested*: Our containers undergo rigorous testing to ensure performance and reliability. -* *Community-Driven*: We value your input! Help us improve by sharing your experiences using Tebako containers. +=== `alpine-3.17` + +This container is based on **Alpine Linux 3.17**, offering an optimized environment for packaging applications targeting systems with the https://musl.libc.org[`musl` implementation of the C standard library]. + +Both containers are available on the **GitHub Container Registry (GHCR)** for **x86_64 (amd64)** and **aarch64 (arm64)** architectures. +They include multi-architecture manifests and come preconfigured with Tebako packaging environments for Ruby versions **3.2.6** and **3.3.6**. == Get Started Today Simplify your packaging process by visiting our https://github.com/tamatebako/tebako-ci-containers[GitHub repository]. -Explore readme and examples to get started with Tebako Packaging Containers. +Explore the README to start using Tebako Packaging Containers today. -We can’t wait to see what you build! For feedback, questions, or suggestions, reach out—we’re here to help make cross-platform packaging a breeze. +=== Samples -Happy packaging! +* https://github.com/tamatebako/tebako-ci-containers/blob/maxirmx-update-readme/.github/workflows/build-containers.yml[Tebako CI Containers GitHub Actions workflow] +includes examples featuring packaging of fontist gem. +* https://github.com/tamatebako/tebako-samples[Tebako samples repository] includes tutorial with basic Tebako CI containers examples and advanced workflows that show +how to package Sinatra and Ruby on Rails applications. +We’re eager to see what you’ll build! If you have feedback, questions, or suggestions, feel free to reach out—we’re here to help make +packaging seamless. + +Happy packaging! — The Tebako Team == Contact information