Skip to content

Commit

Permalink
fix: address review issues
Browse files Browse the repository at this point in the history
  • Loading branch information
maxirmx committed Jan 28, 2025
1 parent ea71913 commit 750e0f6
Showing 1 changed file with 52 additions and 20 deletions.
72 changes: 52 additions & 20 deletions _posts/2025-01-25-tebako-ci-containers.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -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.
Were 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
Expand Down

0 comments on commit 750e0f6

Please sign in to comment.