Skip to content

Commit 4fb0518

Browse files
duncdrumline-o
authored andcommitted
[feature] add multi-arch images
see #5450 close #4151 close #5532 close #4153
1 parent 5bc3019 commit 4fb0518

File tree

2 files changed

+41
-13
lines changed

2 files changed

+41
-13
lines changed

.github/workflows/ci-deploy.yml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ jobs:
55
name: Build and Test Images
66
runs-on: ubuntu-latest
77
# NOTE (DP): Publish on develop and master, test on PRs against these
8+
# TODO(DP) Reinstate CRONed release builds to update stock apps regularly
89
if: github.ref == 'refs/heads/develop' || github.ref == 'refs/heads/master' || github.base_ref == 'develop' || github.base_ref == 'master'
910
steps:
1011
- uses: actions/checkout@v4
@@ -15,6 +16,10 @@ jobs:
1516
with:
1617
distribution: liberica
1718
java-version: '17'
19+
- name: Set up QEMU
20+
uses: docker/setup-qemu-action@v3
21+
with:
22+
platforms: linux/amd64,linux/arm64
1823
- name: Make buildkit default
1924
uses: docker/setup-buildx-action@v3
2025
id: buildx

exist-docker/pom.xml

Lines changed: 36 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,9 @@
2222
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
2323
2424
-->
25-
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
25+
<project xmlns="http://maven.apache.org/POM/4.0.0"
26+
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
27+
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
2628
<modelVersion>4.0.0</modelVersion>
2729

2830
<parent>
@@ -42,14 +44,15 @@
4244
<connection>scm:git:https://github.com/exist-db/exist.git</connection>
4345
<developerConnection>scm:git:https://github.com/exist-db/exist.git</developerConnection>
4446
<url>scm:git:https://github.com/exist-db/exist.git</url>
45-
<tag>HEAD</tag>
46-
</scm>
47+
<tag>HEAD</tag>
48+
</scm>
4749

4850
<properties>
4951
<assemble.dir>${project.build.directory}/exist-docker-${project.version}-docker-dir</assemble.dir>
5052
<exist.uber.jar.filename>exist.uber.jar</exist.uber.jar.filename>
5153
<docker.tag>latest</docker.tag>
5254
<docker.debug.tag>debug</docker.debug.tag>
55+
<docker.platforms>linux/amd64, linux/arm64</docker.platforms>
5356
</properties>
5457

5558
<dependencies>
@@ -106,7 +109,9 @@
106109
<configuration>
107110
<failOnWarning>true</failOnWarning>
108111
<ignoredUnusedDeclaredDependencies>
109-
<ignoredUnusedDeclaredDependency>${project.groupId}:exist-distribution:pom:${project.version}</ignoredUnusedDeclaredDependency> <!-- needed at runtime to support lucene query syntax -->
112+
<ignoredUnusedDeclaredDependency>
113+
${project.groupId}:exist-distribution:pom:${project.version}</ignoredUnusedDeclaredDependency> <!--
114+
needed at runtime to support lucene query syntax -->
110115
</ignoredUnusedDeclaredDependencies>
111116
</configuration>
112117
</execution>
@@ -124,7 +129,8 @@
124129
<goal>single</goal>
125130
</goals>
126131
<configuration>
127-
<archiveBaseDirectory>${project.basedir}/../exist-distribution/target/exist-distribution-${project.version}-dir</archiveBaseDirectory>
132+
<archiveBaseDirectory>
133+
${project.basedir}/../exist-distribution/target/exist-distribution-${project.version}-dir</archiveBaseDirectory>
128134
<attach>false</attach>
129135
<descriptors>
130136
<descriptor>src/assembly/dist-assembly-docker.xml</descriptor>
@@ -183,18 +189,24 @@
183189
</filter>
184190
</filters>
185191
<transformers>
186-
<transformer implementation="org.apache.maven.plugins.shade.resource.ApacheLicenseResourceTransformer" />
187-
<transformer implementation="org.apache.maven.plugins.shade.resource.ApacheNoticeResourceTransformer">
192+
<transformer
193+
implementation="org.apache.maven.plugins.shade.resource.ApacheLicenseResourceTransformer" />
194+
<transformer
195+
implementation="org.apache.maven.plugins.shade.resource.ApacheNoticeResourceTransformer">
188196
<addHeader>false</addHeader>
189197
</transformer>
190-
<transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
198+
<transformer
199+
implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
191200
<resource>META-INF/mailcap</resource>
192201
</transformer>
193-
<transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
202+
<transformer
203+
implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
194204
<resource>META-INF/mailcap.default</resource>
195205
</transformer>
196-
<transformer implementation="org.apache.maven.plugins.shade.resource.ServicesResourceTransformer" />
197-
<transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
206+
<transformer
207+
implementation="org.apache.maven.plugins.shade.resource.ServicesResourceTransformer" />
208+
<transformer
209+
implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
198210
<manifestEntries>
199211
<Multi-Release>true</Multi-Release>
200212
</manifestEntries>
@@ -210,12 +222,18 @@
210222
<artifactId>docker-maven-plugin</artifactId>
211223
<version>0.45.1</version>
212224
<configuration>
213-
<verbose>true</verbose>
225+
<verbose>true</verbose>
226+
<pushRegistry>registry.hub.docker.com</pushRegistry>
214227
<images>
215228
<image>
216229
<name>existdb/existdb:%v</name>
217230
<alias>exist</alias>
218231
<build>
232+
<buildx>
233+
<platforms>
234+
<platform>${docker.platforms}</platform>
235+
</platforms>
236+
</buildx>
219237
<tags>
220238
<tag>${docker.tag}</tag>
221239
</tags>
@@ -227,6 +245,11 @@
227245
<name>existdb/existdb:%v-DEBUG</name>
228246
<alias>exist-debug</alias>
229247
<build>
248+
<buildx>
249+
<platforms>
250+
<platform>${docker.platforms}</platform>
251+
</platforms>
252+
</buildx>
230253
<tags>
231254
<tag>${docker.debug.tag}</tag>
232255
</tags>
@@ -256,4 +279,4 @@
256279

257280
</plugins>
258281
</build>
259-
</project>
282+
</project>

0 commit comments

Comments
 (0)