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

paleolimbot pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/arrow-nanoarrow.git


The following commit(s) were added to refs/heads/main by this push:
     new a0684aa1 chore(ci): Add Python development files to verification 
images and build (#360)
a0684aa1 is described below

commit a0684aa1785d705f1cee43bbd7817019f0d3bd1d
Author: Dewey Dunnington <[email protected]>
AuthorDate: Fri Jan 12 17:58:23 2024 +0000

    chore(ci): Add Python development files to verification images and build 
(#360)
    
    ...also builds arm images in the arm runner instead of using emulation.
    This is needed to run verification for Python (since we'll need to build
    a Python extension).
---
 .github/workflows/docker-build.yaml | 47 ++++++++++++++++++++++++++-----------
 ci/docker/centos7.dockerfile        |  2 +-
 ci/docker/ubuntu.dockerfile         |  2 +-
 3 files changed, 35 insertions(+), 16 deletions(-)

diff --git a/.github/workflows/docker-build.yaml 
b/.github/workflows/docker-build.yaml
index 17f683a1..3ffd6b68 100644
--- a/.github/workflows/docker-build.yaml
+++ b/.github/workflows/docker-build.yaml
@@ -33,31 +33,38 @@ permissions:
 jobs:
   build-docker:
     name: "docker-${{ matrix.config.platform }}-${{ matrix.config.arch }}"
-    runs-on: ubuntu-latest
+    runs-on: ${{ matrix.config.runs_on }}
     strategy:
       fail-fast: false
       matrix:
         config:
-          - { platform: "ubuntu", arch: "amd64" }
-          - { platform: "fedora", arch: "amd64" }
-          - { platform: "archlinux", arch: "amd64" }
-          - { platform: "alpine", arch: "amd64" }
-          - { platform: "centos7", arch: "amd64" }
+          - { runs_on: "ubuntu-latest", platform: "ubuntu", arch: "amd64" }
+          - { runs_on: "ubuntu-latest", platform: "fedora", arch: "amd64" }
+          - { runs_on: "ubuntu-latest", platform: "archlinux", arch: "amd64" }
+          - { runs_on: "ubuntu-latest", platform: "alpine", arch: "amd64" }
+          - { runs_on: "ubuntu-latest", platform: "centos7", arch: "amd64" }
 
-          - { platform: "ubuntu", arch: "arm64" }
-          - { platform: "alpine", arch: "arm64" }
-          - { platform: "centos7", arch: "arm64" }
+          - { runs_on: ["self-hosted", "arm"], platform: "ubuntu", arch: 
"arm64" }
+          - { runs_on: ["self-hosted", "arm"], platform: "fedora", arch: 
"arm64" }
+          - { runs_on: ["self-hosted", "arm"], platform: "alpine", arch: 
"arm64" }
+          - { runs_on: ["self-hosted", "arm"], platform: "centos7", arch: 
"arm64" }
 
-          - { platform: "alpine", arch: "s390x" }
+          - { runs_on: "ubuntu-latest", platform: "alpine", arch: "s390x" }
 
     steps:
-      - uses: actions/checkout@v3
+      - uses: actions/checkout@v4
         with:
           fetch-depth: 0
           persist-credentials: false
 
+      - name: Create Docker Context for Buildx
+        run: |
+          docker context create builders
+
       - name: Set up Docker Buildx
         uses: docker/setup-buildx-action@v2
+        with:
+          endpoint: builders
 
       - name: Login to GitHub Container Registry
         uses: docker/login-action@v2
@@ -67,7 +74,7 @@ jobs:
           password: ${{ secrets.GITHUB_TOKEN }}
 
       - name: Set up QEMU
-        if: matrix.config.arch != 'amd64'
+        if: matrix.config.arch == 's390x'
         uses: docker/setup-qemu-action@v2
 
       - name: Build
@@ -76,7 +83,7 @@ jobs:
           NANOARROW_PLATFORM: ${{ matrix.config.platform }}
           DOCKER_DEFAULT_PLATFORM: "linux/${{ matrix.config.arch }}"
         run: |
-          docker compose build verify
+          docker-compose build verify
 
       - name: Push
         if: ${{ github.event_name != 'pull_request' && github.repository == 
'apache/arrow-nanoarrow'}}
@@ -85,7 +92,7 @@ jobs:
           NANOARROW_PLATFORM: ${{ matrix.config.platform }}
           DOCKER_DEFAULT_PLATFORM: "linux/${{ matrix.config.arch }}"
         run: |
-          docker compose push verify
+          docker-compose push verify
 
   # Build some arch-agnostic images for non-verify docker bits
   build-docker-manifest:
@@ -122,6 +129,17 @@ jobs:
           ghcr.io/apache/arrow-nanoarrow:centos7 \
           ghcr.io/apache/arrow-nanoarrow:centos7-arm64 --arch arm64
 
+        docker manifest create \
+          ghcr.io/apache/arrow-nanoarrow:fedora \
+          ghcr.io/apache/arrow-nanoarrow:fedora-amd64 \
+          ghcr.io/apache/arrow-nanoarrow:fedora-arm64
+        docker manifest annotate \
+          ghcr.io/apache/arrow-nanoarrow:fedora \
+          ghcr.io/apache/arrow-nanoarrow:fedora-amd64 --arch amd64
+        docker manifest annotate \
+          ghcr.io/apache/arrow-nanoarrow:fedora \
+          ghcr.io/apache/arrow-nanoarrow:fedora-arm64 --arch arm64
+
         docker manifest create \
           ghcr.io/apache/arrow-nanoarrow:alpine \
           ghcr.io/apache/arrow-nanoarrow:alpine-amd64 \
@@ -141,5 +159,6 @@ jobs:
       if: ${{ github.event_name != 'pull_request' && github.repository == 
'apache/arrow-nanoarrow'}}
       run: |
         docker manifest push ghcr.io/apache/arrow-nanoarrow:ubuntu
+        docker manifest push ghcr.io/apache/arrow-nanoarrow:fedora
         docker manifest push ghcr.io/apache/arrow-nanoarrow:centos7
         docker manifest push ghcr.io/apache/arrow-nanoarrow:alpine
diff --git a/ci/docker/centos7.dockerfile b/ci/docker/centos7.dockerfile
index 521100c1..7e069a28 100644
--- a/ci/docker/centos7.dockerfile
+++ b/ci/docker/centos7.dockerfile
@@ -20,7 +20,7 @@ ARG NANOARROW_ARCH
 FROM --platform=linux/${NANOARROW_ARCH} centos:7
 
 RUN yum install -y epel-release
-RUN yum install -y git gnupg curl R gcc-c++ gcc-gfortran cmake3
+RUN yum install -y git gnupg curl R gcc-c++ gcc-gfortran cmake3 python3-devel
 
 # For Arrow C++. Use 9.0.0 because this version works fine with the default gcc
 RUN curl -L 
https://github.com/apache/arrow/archive/refs/tags/apache-arrow-9.0.0.tar.gz | 
tar -zxf - && \
diff --git a/ci/docker/ubuntu.dockerfile b/ci/docker/ubuntu.dockerfile
index 4a95074b..e8ef10be 100644
--- a/ci/docker/ubuntu.dockerfile
+++ b/ci/docker/ubuntu.dockerfile
@@ -20,7 +20,7 @@ ARG NANOARROW_ARCH
 FROM --platform=linux/${NANOARROW_ARCH} ubuntu:latest
 
 RUN apt-get update && DEBIAN_FRONTEND=noninteractive apt-get install -y \
-    locales git cmake r-base gnupg curl valgrind gfortran python3-venv doxygen 
pandoc lcov \
+    locales git cmake r-base gnupg curl valgrind gfortran python3-venv 
python3-dev doxygen pandoc lcov \
     libxml2-dev libfontconfig1-dev libfreetype6-dev libfribidi-dev 
libharfbuzz-dev \
     libjpeg-dev libpng-dev libtiff-dev
 

Reply via email to