@@ -10,41 +10,45 @@ Dockerfile to test MT.
1010| image name| base image| Perl| PHP| MySQL| OpenSSL| End of Life|
1111| -| -| -| -| -| -| -|
1212| centos7| centos:7| 5.16.3| * 7.1.33* | * MariaDB 5.5.68* | 1.0.2k| 2024-06|
13- | buster| debian: buster-slim | * 5.28.1* | * 7.3.31* | * MariaDB 10.3.39* | 1.1.1n| 2022-01|
1413| bullseye| debian: bullseye-slim | * 5.32.1* | * 7.4.33* | * MariaDB 10.5.28* | 1.1.1w| 2024-08|
1514| fedora35| fedora:35| * 5.34.1* | * 8.0.26* | 8.0.31| 1.1.1q| 2022-12|
1615| fedora37| fedora:37| * 5.36.1* | * 8.1.25* | * 8.0.35* | 3.0.9| 2023-12|
17- | fedora40| fedora:40| 5.38.4| * 8.2.29* | * MariaDB 10.11.11* | 3.2.4| -|
16+ | fedora40| fedora:40| * 5.38.4* | * 8.2.29* | * MariaDB 10.11.11* | 3.2.4| -|
1817| fedora42| fedora:42| * 5.40.3* | * 8.4.16* | * 9.5.0* | 3.2.6| -|
1918| fedora43| fedora:43| * 5.42.0* | 8.4.16| * 8.4.7* | 3.5.4| -|
20- | cloud6 (\* 1)| centos:7| * 5.28.2* | * 7.4.33* | * 5.7.44* | 1.0.2k| -|
2119| cloud7 (\* 1)| rockylinux/rockylinux:9| * 5.38.2* | * 8.3.29* | MariaDB 10.5.27| 3.5.1| -|
2220
23- \* 1 These images are not used in the MT cloud, but the well-known modules should have the same version (except for those used only in tests).
21+ \* 1 This image is not used in the MT cloud, but the well-known modules should have the same versions (except for those used only in tests).
22+
23+ ## Environment list (multi platforms, suitable for mt-dev)
24+
25+ | image name| base image| Perl| PHP| MySQL| OpenSSL| End of Life|
26+ | -| -| -| -| -| -| -|
27+ | noble| ubuntu: noble | 5.38.2| 8.3.6| 8.4.7| 3.0.13| -|
28+ | plucky| ubuntu: plucky | 5.40.1| 8.4.5| 8.4.7| 3.4.1| -|
29+ | questing| ubuntu: questing | 5.42.0| 8.4.11| 8.4.7| 3.5.3| -|
2430
2531## Environment list (only for manual testing)
2632
2733| image name| base image| Perl| PHP| MySQL| OpenSSL| End of Life|
2834| -| -| -| -| -| -| -|
35+ | buster (\* 2)| debian: buster-slim | * 5.28.1* | * 7.3.31* | * MariaDB 10.3.39* | 1.1.1n| 2022-01|
2936| centos6 (\* 2)| centos:6| * 5.10.1* | * 5.3.3* | * 5.1.73* | 1.0.1e| 2020-11|
3037| centos8| centos:8| 5.26.3| 8.0.30| 8.0.26| 1.1.1k| 2021-12|
31- | fedora32 (\* 2)| fedora:32| 5.30.3| 7.4.19| 8.0.24| 1.1.1k| 2021-05|
3238| fedora39 (\* 2)| fedora:39| 5.38.2| 8.2.25| 8.0.39| 3.1.4| 2024-11|
3339| fedora41 (\* 2)| fedora:41| 5.40.3| 8.3.27| 8.4.7| 3.2.6| -|
3440| rawhide| fedora: rawhide | 5.42.0| 8.5.1| 8.4.7| 3.5.4| -|
3541| rockylinux| rockylinux/rockylinux:9| 5.32.1| 8.1.34| 8.0.44| 3.5.1| -|
3642| bookworm| debian: bookworm-slim | 5.36.0| 8.2.29| MariaDB 10.11.14| 3.0.17| 2028-06|
3743| sid| debian: sid | 5.40.1| 8.4.16| MariaDB 11.8.5| 3.5.4| -|
38- | noble| ubuntu: noble | 5.38.2| 8.3.6| 8.4.7| 3.0.13| -|
3944| amazonlinux| amazonlinux:2| 5.16.3| 7.4.33| MariaDB 5.5.68| 1.0.2k| -|
40- | amazonlinux2023 ( \* 4) | amazonlinux:2023| 5.32.1| 8.4.14| MariaDB 10.11.13| 3.2.2| -|
45+ | amazonlinux2023| amazonlinux:2023| 5.32.1| 8.4.14| MariaDB 10.11.13| 3.2.2| -|
4146| postgresql| fedora:41| 5.40.3| 8.3.27| Postgres 16.11| 3.2.6| -|
4247| oracle (\* 3)| oraclelinux:9-slim| 5.32.1| 8.3.29| MariaDB 10.5.29| 3.5.1| -|
4348| oracle8 (\* 3)| oraclelinux:8-slim| 5.26.3| 8.2.30| MariaDB 10.3.39| 1.1.1k| -|
4449
4550\* 2 These images were used to test older versions of MT.
4651\* 3 with DBD::Oracle 1.80 + OracleInstantClient 26
47- \* 4 This image currently lacks php-dom, thus phpunit
4852
4953## Special images
5054
@@ -60,8 +64,32 @@ Dockerfile to test MT.
6064$ perl bin/update_dockerfile.pl
6165$ perl bin/build_all.pl (with or without --no-cache)
6266$ perl bin/check_all.pl
67+ $ perl bin/test_workflows.pl
6368$ perl bin/test_readme.pl
64- $ perl bin/push_all .pl
69+ $ perl bin/build_all .pl --push
6570
6671then, make a pull request, review, and merge it to mirror the uploaded images.
6772```
73+
74+ ## Multi-platform build
75+
76+ See https://docs.docker.com/build/building/multi-platform/ for details.
77+ If you do not use Docker Build Cloud, then prepare a remote environment with
78+ a different architecture from your local environment. You'll need to add your
79+ remote USER to the docker group and make sure remote dockerd is running.
80+ Create your builder. The following uses local amd64 and remote arm64, but
81+ you may do differently.
82+
83+ ```
84+ $ docker buildx create --name my_builder --node amd64 --platform linux/amd64
85+ $ docker buildx create --name my_builder --append --node arm64 --platform linux/arm64 ssh://USER@HOST
86+ ```
87+
88+ Then specify your builder to build. Only a few images support multi-platform build right now.
89+
90+ ```
91+ $ perl bin/build_all.pl --builder my_builder
92+ $ perl bin/build_all.pl --builder my_builder --push
93+
94+ push_all.pl doesn't work well for multi-platform images.
95+ ```
0 commit comments