You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@sedona.apache.org by ji...@apache.org on 2025/07/31 06:29:22 UTC

(sedona) 01/01: Add Sedona docker nightly build

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

jiayu pushed a commit to branch sync-action
in repository https://gitbox.apache.org/repos/asf/sedona.git

commit 1d50eabd20443977f5e8db63565037cd3131ec21
Author: Jia Yu <ji...@apache.org>
AuthorDate: Wed Jul 30 23:19:36 2025 -0700

    Add Sedona docker nightly build
---
 .github/workflows/sync-docker.yml | 67 +++++++++++++++++++++++++++++++++++++++
 1 file changed, 67 insertions(+)

diff --git a/.github/workflows/sync-docker.yml b/.github/workflows/sync-docker.yml
new file mode 100644
index 0000000000..ca99f7a441
--- /dev/null
+++ b/.github/workflows/sync-docker.yml
@@ -0,0 +1,67 @@
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements.  See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership.  The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License.  You may obtain a copy of the License at
+#
+#   http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied.  See the License for the
+# specific language governing permissions and limitations
+# under the License.
+
+name: Sync Sedona docker
+
+on:
+  schedule:
+    - cron: '0 0 * * *' # Runs every day at midnight
+  workflow_dispatch: # Allows manual triggering
+
+env:
+  MAVEN_OPTS: -Dmaven.wagon.httpconnectionManager.ttlSeconds=60
+
+jobs:
+  sync:
+    runs-on: ubuntu-24.04
+
+    steps:
+      - uses: actions/checkout@v4
+      - # Add support for more platforms with QEMU (optional)
+        # https://github.com/docker/setup-qemu-action
+        name: Set up QEMU
+        uses: docker/setup-qemu-action@v3
+        with:
+          # temporarily pin to qemu@v8 to workaround non-determininstic gcc segfaults
+          # https://github.com/docker/setup-qemu-action/issues/188
+          image: tonistiigi/binfmt:qemu-v8.1.5
+          platforms: all
+
+      - name: Set up Docker Buildx
+        uses: docker/setup-buildx-action@v3
+
+      - name: Log in to Docker Hub
+        uses: docker/login-action@v2
+        with:
+          username: ${{ secrets.DOCKER_USERNAME }}
+          password: ${{ secrets.DOCKER_PASSWORD }}
+
+      - name: Cache Maven packages
+        uses: actions/cache@v3
+        with:
+          path: ~/.m2
+          key: ${{ runner.os }}-m2-${{ hashFiles('**/pom.xml') }}
+          restore-keys: ${{ runner.os }}-m2
+      # See https://github.com/docker/buildx/issues/314
+      - name: Fix segfault of libc-bin on Arm64
+        run: docker run --rm --privileged multiarch/qemu-user-static --reset -p yes -c yes
+      # Enable tmate debugging of manually-triggered workflows if the input option was provided
+      - name: Setup tmate session
+        uses: mxschmitt/action-tmate@v3
+        if: ${{ github.event_name == 'workflow_dispatch' && inputs.debug_enabled }}
+      - name: Build the image
+        run: ./docker/build.sh 3.5.5 latest release