You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@superset.apache.org by ma...@apache.org on 2024/02/09 19:59:17 UTC

(superset) branch master updated: docs(installation): document multi-platform support in Docker builds (#27072)

This is an automated email from the ASF dual-hosted git repository.

maximebeauchemin pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/superset.git


The following commit(s) were added to refs/heads/master by this push:
     new c010f99020 docs(installation): document multi-platform support in Docker builds (#27072)
c010f99020 is described below

commit c010f990200923655dee61511f9fdb3bb56199dc
Author: Maxime Beauchemin <ma...@gmail.com>
AuthorDate: Fri Feb 9 11:59:10 2024 -0800

    docs(installation): document multi-platform support in Docker builds (#27072)
---
 docs/docs/installation/docker.mdx | 28 ++++++++++++++++++++++------
 1 file changed, 22 insertions(+), 6 deletions(-)

diff --git a/docs/docs/installation/docker.mdx b/docs/docs/installation/docker.mdx
index 684ad693db..407bb74c4a 100644
--- a/docs/docs/installation/docker.mdx
+++ b/docs/docs/installation/docker.mdx
@@ -6,14 +6,16 @@ schemes to help users navigate our offerings.
 
 Images are built and pushed to the [Superset Docker Hub repository](
 https://hub.docker.com/r/apache/superset). Different sets of images are created for:
-- Published releases, with tags like `3.0.0` and the `latest` tag.
-- Pull request iterations, each identified by tags starting with a SHA like
+
+- **Published releases** (`release`): with tags like `3.0.0` and the `latest` tag.
+  Those are multi-platform (arm+amd). More on that later.
+- **Pull request iterations** (`pull_request`):, each identified by tags starting with a SHA like
   `8a2f7d378ab13c156fa183d9284b607ed69f5ecc`, and `pr-3454`, referencing the pull
   request ID.
-- Merges to the main branch (`master`), resulting in new SHAs, with tags
+- **Merges to the main branch** (`push`): resulting in new SHAs, with tags
   prefixed with `master` for the latest `master` version.
 
-Each code version has multiple builds for different purposes, identified by suffixes:
+Each CI build run has multiple builds for different purposes, identified by suffixes:
 - **Build preset:** We offer various images for different needs:
   - `lean`: The default Docker image, including both frontend and backend. Tags
     without a build_preset are lean builds, e.g., `latest`.
@@ -30,7 +32,8 @@ Each code version has multiple builds for different purposes, identified by suff
 
 - `latest`: The latest official release build, implicitly the lean build on
   `linux/amd64`.
-- `latest-dev`: the `-dev` image of the latest official release build, with a headless browser and root access.
+- `latest-dev`: the `-dev` image of the latest official release build, with a
+  headless browser and root access.
 - `master`: The latest build from the `master` branch, implicitly lean on
   `linux/amd64`.
 - `master-dev`: Similar to `master` but includes a headless browser and root access.
@@ -61,7 +64,20 @@ build times, larger images, lower layer cache hit rate, ...).
 For production use cases, we recommend that you derive our `lean` image(s) and
 add database support for the database you need.
 
-## On ARM builds and working with Apple silicon
+## On supporting arm64 AND amd64
+
+Only the release builds are multi-platform, supporting `linux/arm64`
+and `linux/amd64`. This enables higher level constructs like `helm` and
+docker-compose to point to these images and effectively be multi-platform
+as well.
+
+Pull requests and master builds
+are one-image-per-platform so that they can be parallized and the
+build matrix for those is more sparse as we don't need to build every
+build preset on every platform, and generally can be more selective here.
+For those builds, we suffix tags with `-arm` where it applies.
+
+### Working with Apple silicon
 
 Apple's current generation of computers uses ARM-based CPUs, and Docker
 running on MACs seem to require `linux/arm64/v8` (at least one user's M2 was