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