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

mgrigorov pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/avro.git


The following commit(s) were added to refs/heads/main by this push:
     new 1e83385a82 AVRO-3933: Unify ARM64 workflows (#3398)
1e83385a82 is described below

commit 1e83385a82e627bd9ae18e17cbd8c9ecc5015dcc
Author: Zhiguo Wu <[email protected]>
AuthorDate: Tue Jun 10 16:40:37 2025 +0800

    AVRO-3933: Unify ARM64 workflows (#3398)
    
    * AVRO-3933: Unify ARM64 workflows
    
    * format
    
    * Remove CPAN::Uploader
    
    * ruby 3.3 retains 2 on arm64
---
 .github/workflows/test-lang-c++-ARM.yml    |  52 ----------
 .github/workflows/test-lang-c++.yml        |   7 +-
 .github/workflows/test-lang-c-ARM.yml      |  52 ----------
 .github/workflows/test-lang-c.yml          |  17 +++-
 .github/workflows/test-lang-csharp-ARM.yml | 154 -----------------------------
 .github/workflows/test-lang-csharp.yml     |  14 ++-
 .github/workflows/test-lang-java-ARM.yml   |  83 ----------------
 .github/workflows/test-lang-java.yml       |  15 ++-
 .github/workflows/test-lang-js-ARM.yml     |  65 ------------
 .github/workflows/test-lang-js.yml         |  25 +++--
 .github/workflows/test-lang-perl-ARM.yml   | 144 ---------------------------
 .github/workflows/test-lang-perl.yml       |  20 ++--
 .github/workflows/test-lang-php-ARM.yml    |  58 -----------
 .github/workflows/test-lang-php.yml        |  24 +++--
 .github/workflows/test-lang-py-ARM.yml     |  53 ----------
 .github/workflows/test-lang-py.yml         |  32 +++---
 .github/workflows/test-lang-ruby-ARM.yml   |  60 -----------
 .github/workflows/test-lang-ruby.yml       |  36 ++++---
 README.md                                  |  31 ------
 lang/ruby/test/test_logical_types.rb       |   2 +-
 20 files changed, 126 insertions(+), 818 deletions(-)

diff --git a/.github/workflows/test-lang-c++-ARM.yml 
b/.github/workflows/test-lang-c++-ARM.yml
deleted file mode 100644
index a34354e20f..0000000000
--- a/.github/workflows/test-lang-c++-ARM.yml
+++ /dev/null
@@ -1,52 +0,0 @@
-# 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
-#
-#     https://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: 'Test C++ on ARM'
-on:
-  workflow_dispatch:
-  push:
-    branches: [ main ]
-  pull_request:
-    branches: [ main ]
-    paths:
-    - '.github/workflows/test-lang-c\+\+.yml'
-    - 'lang/c\+\+/**'
-
-defaults:
-  run:
-    working-directory: lang/c++
-
-concurrency:
-  group: ${{ github.workflow }}-${{ github.ref }}
-  cancel-in-progress: true
-
-jobs:
-  arm64:
-    name: C++ on Linux ARM64
-    runs-on: ["self-hosted", "asf-arm"]
-
-    steps:
-      - name: Checkout
-        uses: actions/checkout@v4
-
-      - name: Install dependencies
-        run: |
-          sudo apt-get update -q
-          sudo apt-get install -q -y gcc g++ libboost-all-dev libfmt-dev 
zlib1g-dev libzstd-dev cmake
-
-      - name: Build
-        run: |
-          set -x
-          ./build.sh clean test
diff --git a/.github/workflows/test-lang-c++.yml 
b/.github/workflows/test-lang-c++.yml
index 2104c2d26c..a32145cd14 100644
--- a/.github/workflows/test-lang-c++.yml
+++ b/.github/workflows/test-lang-c++.yml
@@ -34,7 +34,12 @@ concurrency:
 
 jobs:
   test:
-    runs-on: ubuntu-latest
+    runs-on: ${{ matrix.os }}
+    strategy:
+      matrix:
+        os: 
+          - ubuntu-latest
+          - ubuntu-24.04-arm
     steps:
       - uses: actions/checkout@v4
 
diff --git a/.github/workflows/test-lang-c-ARM.yml 
b/.github/workflows/test-lang-c-ARM.yml
deleted file mode 100644
index ffb31be2b3..0000000000
--- a/.github/workflows/test-lang-c-ARM.yml
+++ /dev/null
@@ -1,52 +0,0 @@
-# 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
-#
-#     https://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: 'Test C on ARM'
-on:
-  workflow_dispatch:
-  push:
-    branches: [ main ]
-  pull_request:
-    branches: [ main ]
-    paths:
-    - .github/workflows/test-lang-c.yml
-    - lang/c/**
-
-defaults:
-  run:
-    working-directory: lang/c
-
-concurrency:
-  group: ${{ github.workflow }}-${{ github.ref }}
-  cancel-in-progress: true
-
-jobs:
-  arm64:
-    name: C on Linux ARM64
-    runs-on: ["self-hosted", "asf-arm"]
-
-    steps:
-      - name: Checkout
-        uses: actions/checkout@v4
-
-      - name: Install dependencies
-        run: |
-          sudo apt-get update -q
-          sudo apt-get install -q -y cmake liblzma-dev libsnappy-dev 
libjansson-dev zlib1g-dev pkg-config
-
-      - name: Build
-        run: |
-          set -x
-          ./build.sh clean test
diff --git a/.github/workflows/test-lang-c.yml 
b/.github/workflows/test-lang-c.yml
index d426c6029f..d7544c0f6c 100644
--- a/.github/workflows/test-lang-c.yml
+++ b/.github/workflows/test-lang-c.yml
@@ -34,12 +34,17 @@ concurrency:
 
 jobs:
   test:
-    runs-on: ubuntu-latest
+    runs-on: ${{ matrix.os }}
+    strategy:
+      matrix:
+        os: 
+          - ubuntu-latest
+          - ubuntu-24.04-arm
     steps:
       - uses: actions/checkout@v4
 
       - name: Install Dependencies
-        run: sudo apt-get install -qqy libjansson-dev libsnappy-dev
+        run: sudo apt-get update && sudo apt-get install -qqy libjansson-dev 
libsnappy-dev
 
       - name: Lint
         run: ./build.sh lint
@@ -97,12 +102,18 @@ jobs:
         run: ./build.sh interop-data-test
 
   interop:
-    runs-on: ubuntu-latest
+    runs-on: ${{ matrix.os }}
+    strategy:
+      matrix:
+        os: 
+          - ubuntu-latest
+          - ubuntu-24.04-arm
     steps:
       - uses: actions/checkout@v4
 
       - name: Install Dependencies
         run: |
+          sudo apt-get update && \
           sudo apt-get install -qqy --no-install-recommends libbz2-dev \
                                                             libjansson-dev \
                                                             liblzma-dev \
diff --git a/.github/workflows/test-lang-csharp-ARM.yml 
b/.github/workflows/test-lang-csharp-ARM.yml
deleted file mode 100644
index 8fd9eb3f02..0000000000
--- a/.github/workflows/test-lang-csharp-ARM.yml
+++ /dev/null
@@ -1,154 +0,0 @@
-# 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
-#
-#     https://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: 'Test C# on ARM'
-on:
-  workflow_dispatch:
-  push:
-    branches: [ main ]
-  pull_request:
-    branches: [ main ]
-    paths:
-    - .github/workflows/test-lang-csharp.yml
-    - lang/csharp/**
-
-defaults:
-  run:
-    working-directory: lang/csharp
-
-concurrency:
-  group: ${{ github.workflow }}-${{ github.ref }}
-  cancel-in-progress: true
-
-jobs:
-  test:
-    runs-on: ubuntu-latest
-    steps:
-      - uses: actions/checkout@v4
-
-      - name: Add libzstd
-        shell: bash
-        run: sudo apt-get install -y libzstd-dev
-
-      - name: Install .NET SDKs
-        uses: actions/setup-dotnet@v4
-        with:
-          dotnet-version: |
-            6.0.x
-            7.0.x
-            8.0.x
-
-      - uses: actions/cache@v4
-        with:
-          path: ~/.nuget/packages
-          key: ${{ runner.os }}-nuget-${{ hashFiles('**/packages.lock.json') }}
-          restore-keys: |
-            ${{ runner.os }}-nuget-
-
-      - name: Lint
-        run: ./build.sh lint
-
-      - name: Test
-        run: ./build.sh test
-
-  interop:
-    runs-on: ubuntu-latest
-    steps:
-      - uses: actions/checkout@v4
-
-      - name: Add libzstd
-        shell: bash
-        run: sudo apt-get install -y libzstd-dev
-
-      - name: Install .NET SDKs
-        uses: actions/setup-dotnet@v4
-        with:
-          dotnet-version: |
-            6.0.x
-            7.0.x
-            8.0.x
-
-      - name: Cache Local Maven Repository
-        uses: actions/cache@v4
-        with:
-          path: ~/.m2/repository
-          key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }}
-          restore-keys: |
-            ${{ runner.os }}-maven-
-
-      - name: 'Setup Temurin JDK 8, 11, 17 & 21'
-        uses: actions/setup-java@v4
-        with:
-          distribution: 'temurin'
-          java-version: |
-            8
-            11
-            17
-            21
-
-      - name: 'Setup Maven 3.9.6'
-        uses: stCarolas/setup-maven@d6af6abeda15e98926a57b5aa970a96bb37f97d1 # 
v5
-        with:
-          maven-version: 3.9.6
-
-      - name: Install Java Avro for Interop Test
-        working-directory: .
-        run: mvn -B install -PskipQuality
-
-      - name: Create Interop Data Directory
-        working-directory: .
-        run: mkdir -p build/interop/data
-
-      - name: Generate Interop Resources
-        working-directory: lang/java/avro
-        run: mvn -B -P interop-data-generate generate-resources
-
-      - name: Generate Interop Data
-        run: ./build.sh interop-data-generate
-
-      - name: Run Interop Tests
-        run: ./build.sh interop-data-test
-
-  arm64:
-    name: C# on Linux ARM64
-    runs-on: ["self-hosted", "asf-arm"]
-
-    steps:
-      - name: Checkout
-        uses: actions/checkout@v4
-
-      - name: Cache Nuget
-        uses: actions/cache@v4
-        with:
-          path: ~/.nuget/packages
-          key: ${{ runner.os }}-nuget-${{ hashFiles('**/packages.lock.json') }}
-          restore-keys: |
-            ${{ runner.os }}-nuget-
-
-      - name: Install dependencies
-        run: |
-          sudo apt-get update -q
-          sudo apt-get install -q -y wget libzstd-dev
-          wget https://dot.net/v1/dotnet-install.sh
-          bash ./dotnet-install.sh --channel "6.0" --install-dir 
"$HOME/.dotnet" # 6.0
-          bash ./dotnet-install.sh --channel "7.0" --install-dir 
"$HOME/.dotnet" # 7.0
-          bash ./dotnet-install.sh --channel "8.0" --install-dir 
"$HOME/.dotnet" # 8.0
-          
-      - name: Build
-        run: |
-          set -x
-          export PATH=$HOME/.dotnet:$PATH
-          dotnet --list-sdks
-          ./build.sh clean test
diff --git a/.github/workflows/test-lang-csharp.yml 
b/.github/workflows/test-lang-csharp.yml
index a9b5e4aa99..a6cbb6326c 100644
--- a/.github/workflows/test-lang-csharp.yml
+++ b/.github/workflows/test-lang-csharp.yml
@@ -34,7 +34,12 @@ concurrency:
 
 jobs:
   test:
-    runs-on: ubuntu-latest
+    runs-on: ${{ matrix.os }}
+    strategy:
+      matrix:
+        os: 
+          - ubuntu-latest
+          - ubuntu-24.04-arm
     steps:
       - uses: actions/checkout@v4
 
@@ -64,7 +69,12 @@ jobs:
         run: ./build.sh test
 
   interop:
-    runs-on: ubuntu-latest
+    runs-on: ${{ matrix.os }}
+    strategy:
+      matrix:
+        os: 
+          - ubuntu-latest
+          - ubuntu-24.04-arm
     steps:
       - uses: actions/checkout@v4
 
diff --git a/.github/workflows/test-lang-java-ARM.yml 
b/.github/workflows/test-lang-java-ARM.yml
deleted file mode 100644
index f46431a8e9..0000000000
--- a/.github/workflows/test-lang-java-ARM.yml
+++ /dev/null
@@ -1,83 +0,0 @@
-# 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
-#
-#     https://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: 'Test Java on ARM'
-on:
-  workflow_dispatch:
-  push:
-    branches: [ main ]
-  pull_request:
-    branches: [ main ]
-    paths:
-    - .github/workflows/test-lang-java.yml
-    - lang/java/**
-    - pom.xml
-
-defaults:
-  run:
-    working-directory: lang/java
-
-concurrency:
-  group: ${{ github.workflow }}-${{ github.ref }}
-  cancel-in-progress: true
-
-jobs:
-  arm64:
-    name: Java on Linux ARM64
-    runs-on: ["self-hosted", "asf-arm"]
-
-    steps:
-      - name: 'Checkout sourcecode'
-        uses: actions/checkout@v4
-
-      - name: 'Setup Temurin JDK 8, 11, 17 & 21'
-        uses: actions/setup-java@v4
-        with:
-          distribution: 'temurin'
-          java-version: |
-            8
-            11
-            17
-            21
-
-      - name: 'Cache Local Maven Repository'
-        uses: actions/cache@v4
-        with:
-          path: ~/.m2/repository
-          key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }}
-          restore-keys: |
-            ${{ runner.os }}-maven-
-
-      - name: 'Setup Maven 3.9.6'
-        uses: stCarolas/setup-maven@d6af6abeda15e98926a57b5aa970a96bb37f97d1 # 
v5
-        with:
-          maven-version: 3.9.6
-
-      - name: 'Install Java Avro Toplevel'
-        working-directory: ./
-        run: mvn -B install -PskipQuality -DskipTests
-
-      - name: Build
-        run: ./build.sh clean test
-#          set -x
-#          export MAVEN_VERSION="3.9.6"
-#          wget 
https://archive.apache.org/dist/maven/maven-3/$MAVEN_VERSION/binaries/apache-maven-$MAVEN_VERSION-bin.tar.gz
-#          tar zxvf apache-maven-$MAVEN_VERSION-bin.tar.gz
-#          export M2_HOME=$PWD/apache-maven-$MAVEN_VERSION
-#          export PATH="$M2_HOME/bin:$PATH"
-#          java -version
-#          mvn -version
-#          
#MAVEN_OPTS="-Dsurefire.excludes=*TestCustomCodec*,*TestAllCodecs*,*TestNettyServer*"
 ./build.sh clean test
-#          ./build.sh clean test
diff --git a/.github/workflows/test-lang-java.yml 
b/.github/workflows/test-lang-java.yml
index 43bc72462b..ebde41daa9 100644
--- a/.github/workflows/test-lang-java.yml
+++ b/.github/workflows/test-lang-java.yml
@@ -36,7 +36,12 @@ concurrency:
 jobs:
   test:
     name: 'Java Test'
-    runs-on: ubuntu-latest
+    runs-on: ${{ matrix.os }}
+    strategy:
+      matrix:
+        os: 
+          - ubuntu-latest
+          - ubuntu-24.04-arm
     steps:
       - name: 'Checkout sourcecode'
         uses: actions/checkout@v4
@@ -83,7 +88,12 @@ jobs:
 
   interop:
     name: 'Java Interop'
-    runs-on: ubuntu-latest
+    runs-on: ${{ matrix.os }}
+    strategy:
+      matrix:
+        os: 
+          - ubuntu-latest
+          - ubuntu-24.04-arm
 
     steps:
       - uses: actions/checkout@v4
@@ -117,6 +127,7 @@ jobs:
 
       - name: 'Apt Install Compression Libs Required by Python'
         run: |
+          sudo apt-get update && \
           sudo apt-get install -qqy --no-install-recommends libbz2-dev \
                                                             liblzma-dev \
                                                             libsnappy-dev \
diff --git a/.github/workflows/test-lang-js-ARM.yml 
b/.github/workflows/test-lang-js-ARM.yml
deleted file mode 100644
index 54e1216eac..0000000000
--- a/.github/workflows/test-lang-js-ARM.yml
+++ /dev/null
@@ -1,65 +0,0 @@
-# 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
-#
-#     https://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: 'Test JavaScript on ARM'
-on:
-  workflow_dispatch:
-  push:
-    branches: [ main ]
-  pull_request:
-    branches: [ main ]
-    paths:
-    - .github/workflows/test-lang-js.yml
-    - lang/js/**
-
-defaults:
-  run:
-    working-directory: lang/js
-
-concurrency:
-  group: ${{ github.workflow }}-${{ github.ref }}
-  cancel-in-progress: true
-
-jobs:
-  arm64:
-    name: JavaScript on Linux ARM64
-    runs-on: ["self-hosted", "asf-arm"]
-
-    steps:
-      - name: Checkout
-        uses: actions/checkout@v4
-
-      - name: Cache Npm
-        uses: actions/cache@v4
-        with:
-          path: ~/.npm
-          key: ${{ runner.os }}-node-${{ hashFiles('**/package-lock.json') }}
-          restore-keys: |
-            ${{ runner.os }}-node-
-
-      - name: Setup Node
-        uses: actions/setup-node@v4
-        with:
-          node-version: 18
-
-      - name: Install dependencies
-        run: |
-          sudo apt-get update -q
-          sudo apt-get install -q -y wget tar xz-utils
-
-      - name: Build
-        run: |
-          set -x
-          ./build.sh clean test
diff --git a/.github/workflows/test-lang-js.yml 
b/.github/workflows/test-lang-js.yml
index 89c2715644..af51d22c98 100644
--- a/.github/workflows/test-lang-js.yml
+++ b/.github/workflows/test-lang-js.yml
@@ -34,14 +34,16 @@ concurrency:
 
 jobs:
   test:
-    name: Node ${{ matrix.node }}
-    runs-on: ubuntu-latest
+    runs-on: ${{ matrix.os }}
     strategy:
       matrix:
+        os: 
+          - ubuntu-latest
+          - ubuntu-24.04-arm
         node:
-        - 12
-        - 14
-        - 16
+          - 12
+          - 14
+          - 16
     steps:
       - uses: actions/checkout@v4
       - name: Setup Node
@@ -63,14 +65,16 @@ jobs:
         run: ./build.sh test
 
   interop:
-    name: Node ${{ matrix.node }} Interop
-    runs-on: ubuntu-24.04
+    runs-on: ${{ matrix.os }}
     strategy:
       matrix:
+        os: 
+          - ubuntu-latest
+          - ubuntu-24.04-arm
         node:
-        - 12
-        - 14
-        - 16
+          - 12
+          - 14
+          - 16
     steps:
       - uses: actions/checkout@v4
       - name: Setup Node
@@ -90,6 +94,7 @@ jobs:
 
       - name: Apt Install Compression Libs Required by Python
         run: |
+          sudo apt-get update && \
           sudo apt-get install -qqy --no-install-recommends libbz2-dev \
                                                             liblzma-dev \
                                                             libsnappy-dev \
diff --git a/.github/workflows/test-lang-perl-ARM.yml 
b/.github/workflows/test-lang-perl-ARM.yml
deleted file mode 100644
index 1ae37679b7..0000000000
--- a/.github/workflows/test-lang-perl-ARM.yml
+++ /dev/null
@@ -1,144 +0,0 @@
-# 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
-#
-#     https://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: 'Test Perl on ARM'
-on:
-  workflow_dispatch:
-  push:
-    branches: [ main ]
-  pull_request:
-    branches: [ main ]
-    paths:
-    - .github/workflows/test-lang-perl.yml
-    - lang/perl/**
-
-defaults:
-  run:
-    working-directory: lang/perl
-
-concurrency:
-  group: ${{ github.workflow }}-${{ github.ref }}
-  cancel-in-progress: true
-
-jobs:
-  test:
-    name: Perl ${{ matrix.perl }} Tests
-    runs-on: ubuntu-latest
-    strategy:
-      matrix:
-        perl:
-        - '5.32'
-    steps:
-      - uses: actions/checkout@v4
-
-      - uses: shogo82148/actions-setup-perl@v1
-        with:
-          perl-version: ${{ matrix.perl }}
-
-      - name: Install Dependencies
-        run: |
-          cpanm --mirror https://www.cpan.org/ install Compress::Zstd \
-                                                       Encode \
-                                                       Error::Simple \
-                                                       JSON::MaybeXS \
-                                                       Module::Install \
-                                                       
Module::Install::ReadmeFromPod \
-                                                       Object::Tiny \
-                                                       Perl::Critic \
-                                                       Regexp::Common \
-                                                       Test::Exception \
-                                                       Test::More \
-                                                       Test::Pod \
-                                                       Try::Tiny
-
-      - name: Lint
-        run: ./build.sh lint
-
-      - name: Test
-        run: ./build.sh test
-
-  interop:
-    name: Perl ${{ matrix.perl }} Interop
-    runs-on: ubuntu-latest
-    strategy:
-      matrix:
-        perl:
-        - '5.32'
-    steps:
-      - uses: actions/checkout@v4
-
-      - uses: shogo82148/actions-setup-perl@v1
-        with:
-          perl-version: ${{ matrix.perl }}
-
-      - name: Install Dependencies
-        run: |
-          sudo apt-get -qqy install --no-install-recommends libjansson-dev \
-                                                            libsnappy-dev
-          cpanm --mirror https://www.cpan.org/ install CPAN::Uploader \
-                                                       Compress::Zstd \
-                                                       Encode \
-                                                       Error::Simple \
-                                                       JSON::MaybeXS \
-                                                       Module::Install \
-                                                       
Module::Install::ReadmeFromPod \
-                                                       Object::Tiny \
-                                                       Perl::Critic \
-                                                       Regexp::Common \
-                                                       Test::Exception \
-                                                       Test::More \
-                                                       Test::Pod \
-                                                       Try::Tiny
-
-      - name: Cache Local Maven Repository
-        uses: actions/cache@v4
-        with:
-          path: ~/.m2/repository
-          key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }}
-          restore-keys: |
-            ${{ runner.os }}-maven-
-
-      - name: 'Setup Temurin JDK 8, 11, 17 & 21'
-        uses: actions/setup-java@v4
-        with:
-          distribution: 'temurin'
-          java-version: |
-            8
-            11
-            17
-            21
-
-      - name: 'Setup Maven 3.9.6'
-        uses: stCarolas/setup-maven@d6af6abeda15e98926a57b5aa970a96bb37f97d1 # 
v5
-        with:
-          maven-version: 3.9.6
-
-      - name: Install Java Avro for Interop Test
-        working-directory: .
-        run: mvn -B install -PskipQuality
-
-      - name: Create Interop Data Directory
-        working-directory: .
-        run: mkdir -p build/interop/data
-
-      - name: Generate Interop Resources
-        working-directory: lang/java/avro
-        run: mvn -B -P interop-data-generate generate-resources
-
-      - name: Generate Interop Data
-        run: ./build.sh interop-data-generate
-
-      - name: Run Interop Tests
-        run: ./build.sh interop-data-test
diff --git a/.github/workflows/test-lang-perl.yml 
b/.github/workflows/test-lang-perl.yml
index 50e0261a06..e36c7bd262 100644
--- a/.github/workflows/test-lang-perl.yml
+++ b/.github/workflows/test-lang-perl.yml
@@ -34,12 +34,14 @@ concurrency:
 
 jobs:
   test:
-    name: Perl ${{ matrix.perl }} Tests
-    runs-on: ubuntu-latest
+    runs-on: ${{ matrix.os }}
     strategy:
       matrix:
+        os: 
+          - ubuntu-latest
+          - ubuntu-24.04-arm
         perl:
-        - '5.32'
+          - '5.32'
     steps:
       - uses: actions/checkout@v4
 
@@ -70,12 +72,14 @@ jobs:
         run: ./build.sh test
 
   interop:
-    name: Perl ${{ matrix.perl }} Interop
-    runs-on: ubuntu-latest
+    runs-on: ${{ matrix.os }}
     strategy:
       matrix:
+        os: 
+          - ubuntu-latest
+          - ubuntu-24.04-arm
         perl:
-        - '5.32'
+          - '5.32'
     steps:
       - uses: actions/checkout@v4
 
@@ -85,10 +89,10 @@ jobs:
 
       - name: Install Dependencies
         run: |
+          sudo apt-get update && \
           sudo apt-get -qqy install --no-install-recommends libjansson-dev \
                                                             libsnappy-dev
-          cpanm --mirror https://www.cpan.org/ install CPAN::Uploader \
-                                                       Compress::Zstd \
+          cpanm --mirror https://www.cpan.org/ install Compress::Zstd \
                                                        Encode \
                                                        Error::Simple \
                                                        JSON::MaybeXS \
diff --git a/.github/workflows/test-lang-php-ARM.yml 
b/.github/workflows/test-lang-php-ARM.yml
deleted file mode 100644
index 85c2aa349b..0000000000
--- a/.github/workflows/test-lang-php-ARM.yml
+++ /dev/null
@@ -1,58 +0,0 @@
-# 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
-#
-#     https://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: 'Test PHP on ARM'
-on:
-  workflow_dispatch:
-  push:
-    branches: [ main ]
-  pull_request:
-    branches: [ main ]
-    paths:
-    - .github/workflows/test-lang-php.yml
-    - lang/php/**
-
-defaults:
-  run:
-    working-directory: lang/php
-
-concurrency:
-  group: ${{ github.workflow }}-${{ github.ref }}
-  cancel-in-progress: true
-
-jobs:
-  arm64:
-    name: PHP on Linux ARM64
-    runs-on: ["self-hosted", "asf-arm"]
-
-    steps:
-      - name: Checkout
-        uses: actions/checkout@v4
-
-      - name: Install dependencies
-        run: |
-          sudo apt-get update -q
-          sudo apt-get install -q -y wget php php-xml php-mbstring php-curl 
php-gmp php-bz2 unzip libtidy-dev libpq5
-          php -r "copy('https://getcomposer.org/installer', 
'composer-setup.php');"
-          php -r "if (hash_file('sha384', 'composer-setup.php') === 
file_get_contents('https://composer.github.io/installer.sig')) { echo 
'Installer verified'; } else { echo 'Installer corrupt'; 
unlink('composer-setup.php'); } echo PHP_EOL;"
-          php composer-setup.php --version=2.2.5
-          php -r "unlink('composer-setup.php');"
-          sudo mv composer.phar /usr/local/bin/composer
-
-      - name: Build
-        run: |
-          set -x
-          composer --version
-          ./build.sh clean test
diff --git a/.github/workflows/test-lang-php.yml 
b/.github/workflows/test-lang-php.yml
index 5cbf2081f4..c1d8e6ce6d 100644
--- a/.github/workflows/test-lang-php.yml
+++ b/.github/workflows/test-lang-php.yml
@@ -34,14 +34,16 @@ concurrency:
 
 jobs:
   test:
-    name: PHP ${{ matrix.php }} Test
-    runs-on: ubuntu-latest
+    runs-on: ${{ matrix.os }}
     strategy:
       matrix:
+        os: 
+          - ubuntu-latest
+          - ubuntu-24.04-arm
         php:
-        - '7.3'
-        - '7.4'
-        - '8.0'
+          - '7.3'
+          - '7.4'
+          - '8.0'
 
     steps:
       - uses: actions/checkout@v4
@@ -70,14 +72,16 @@ jobs:
         run: ./build.sh test
 
   interop:
-    name: PHP ${{ matrix.php }} Interop
-    runs-on: ubuntu-latest
+    runs-on: ${{ matrix.os }}
     strategy:
       matrix:
+        os: 
+          - ubuntu-latest
+          - ubuntu-24.04-arm
         php:
-        - '7.3'
-        - '7.4'
-        - '8.0'
+          - '7.3'
+          - '7.4'
+          - '8.0'
 
     steps:
       - uses: actions/checkout@v4
diff --git a/.github/workflows/test-lang-py-ARM.yml 
b/.github/workflows/test-lang-py-ARM.yml
deleted file mode 100644
index 874c7c35f9..0000000000
--- a/.github/workflows/test-lang-py-ARM.yml
+++ /dev/null
@@ -1,53 +0,0 @@
-# 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
-#
-#     https://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: 'Test Python on ARM'
-on:
-  workflow_dispatch:
-  push:
-    branches: [ main ]
-  pull_request:
-    branches: [ main ]
-    paths:
-    - .github/workflows/test-lang-py.yml
-    - lang/py/**
-
-defaults:
-  run:
-    working-directory: lang/py
-
-concurrency:
-  group: ${{ github.workflow }}-${{ github.ref }}
-  cancel-in-progress: true
-
-jobs:
-  arm64:
-    name: Python on Linux ARM64
-    runs-on: ["self-hosted", "asf-arm"]
-
-    steps:
-      - name: Checkout
-        uses: actions/checkout@v4
-
-      - name: Install dependencies
-        run: |
-          sudo apt-get update -q
-          sudo apt-get install -q -y python3 python3-dev python3-pip git 
libbz2-dev libjansson-dev liblzma-dev libsnappy-dev libzstd-dev
-          python3 -m pip install --upgrade pip setuptools tox
-
-      - name: Build
-        run: |
-          set -x
-          ./build.sh clean test
diff --git a/.github/workflows/test-lang-py.yml 
b/.github/workflows/test-lang-py.yml
index 196392bdc2..d1e0e79ee7 100644
--- a/.github/workflows/test-lang-py.yml
+++ b/.github/workflows/test-lang-py.yml
@@ -34,17 +34,19 @@ concurrency:
 
 jobs:
   test:
-    name: Python ${{ matrix.python }} Tests
-    runs-on: ubuntu-24.04
+    runs-on: ${{ matrix.os }}
     strategy:
       fail-fast: false
       matrix:
+        os: 
+          - ubuntu-latest
+          - ubuntu-24.04-arm
         python:
-        - '3.12'
-        - '3.11'
-        - '3.10'
-        - '3.9'
-        - 'pypy-3.10'
+          - '3.12'
+          - '3.11'
+          - '3.10'
+          - '3.9'
+          - 'pypy-3.10'
 
     steps:
       - uses: actions/checkout@v4
@@ -56,6 +58,7 @@ jobs:
 
       - name: Apt Install Compression Libs
         run: |
+          sudo apt-get update && \
           sudo apt-get install -qqy --no-install-recommends libbz2-dev \
                                                             libjansson-dev \
                                                             liblzma-dev \
@@ -78,16 +81,18 @@ jobs:
         run: python3 -m tox -e py
 
   interop:
-    name: Python ${{ matrix.python }} Interop
-    runs-on: ubuntu-24.04
+    runs-on: ${{ matrix.os }}
     strategy:
       fail-fast: false
       matrix:
+        os: 
+          - ubuntu-latest
+          - ubuntu-24.04-arm
         python:
-        - '3.11'
-        - '3.10'
-        - '3.9'
-        - 'pypy-3.10'
+          - '3.11'
+          - '3.10'
+          - '3.9'
+          - 'pypy-3.10'
 
     steps:
       - uses: actions/checkout@v4
@@ -99,6 +104,7 @@ jobs:
 
       - name: Apt Install Compression Libs
         run: |
+          sudo apt-get update && \
           sudo apt-get install -qqy --no-install-recommends libbz2-dev \
                                                             libjansson-dev \
                                                             liblzma-dev \
diff --git a/.github/workflows/test-lang-ruby-ARM.yml 
b/.github/workflows/test-lang-ruby-ARM.yml
deleted file mode 100644
index c1ce73878b..0000000000
--- a/.github/workflows/test-lang-ruby-ARM.yml
+++ /dev/null
@@ -1,60 +0,0 @@
-# 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
-#
-#     https://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: 'Test Ruby on ARM'
-on:
-  workflow_dispatch:
-  push:
-    branches: [ main ]
-  pull_request:
-    branches: [ main ]
-    paths:
-    - .github/workflows/test-lang-ruby.yml
-    - lang/ruby/**
-
-defaults:
-  run:
-    working-directory: lang/ruby
-
-concurrency:
-  group: ${{ github.workflow }}-${{ github.ref }}
-  cancel-in-progress: true
-
-jobs:
-  arm64:
-    name: Ruby on Linux ARM64
-    runs-on: ["self-hosted", "asf-arm"]
-
-    steps:
-      - name: Checkout
-        uses: actions/checkout@v4
-
-      - name: Cache gems
-        uses: actions/cache@v4
-        with:
-          path: .gem
-          key: ${{ runner.os }}-gems-${{ hashFiles('**/Gemfile.lock') }}
-          restore-keys: |
-            ${{ runner.os }}-gems-
-
-      - name: Install dependencies
-        run: |
-          sudo apt-get update -q
-          sudo apt-get install -q -y ruby-dev bundler libsnappy-dev libyaml-dev
-
-      - name: Build
-        run: |
-            set -x
-            ./build.sh clean test
diff --git a/.github/workflows/test-lang-ruby.yml 
b/.github/workflows/test-lang-ruby.yml
index 3bd10153c9..0d95cf94a7 100644
--- a/.github/workflows/test-lang-ruby.yml
+++ b/.github/workflows/test-lang-ruby.yml
@@ -34,16 +34,18 @@ concurrency:
 
 jobs:
   test:
-    name: Ruby ${{ matrix.ruby }} Tests
-    runs-on: ubuntu-latest
+    runs-on: ${{ matrix.os }}
     strategy:
       matrix:
+        os: 
+          - ubuntu-latest
+          - ubuntu-24.04-arm
         ruby:
-        - '2.7'
-        - '3.0'
-        - '3.1'
-        - '3.2'
-        - '3.3'
+          - '2.7'
+          - '3.0'
+          - '3.1'
+          - '3.2'
+          - '3.3'
     steps:
       - uses: actions/checkout@v4
 
@@ -52,7 +54,7 @@ jobs:
           ruby-version: ${{ matrix.ruby }}
 
       - name: Install Dependencies
-        run: sudo apt-get install -qqy libsnappy-dev
+        run: sudo apt-get update && sudo apt-get install -qqy libsnappy-dev
 
       - uses: actions/cache@v4
         with:
@@ -75,16 +77,18 @@ jobs:
           ./build.sh test
 
   interop:
-    name: Ruby ${{ matrix.ruby }} Interop
-    runs-on: ubuntu-latest
+    runs-on: ${{ matrix.os }}
     strategy:
       matrix:
+        os: 
+          - ubuntu-latest
+          - ubuntu-24.04-arm
         ruby:
-        - '2.7'
-        - '3.0'
-        - '3.1'
-        - '3.2'
-        - '3.3'
+          - '2.7'
+          - '3.0'
+          - '3.1'
+          - '3.2'
+          - '3.3'
     steps:
       - uses: actions/checkout@v4
 
@@ -93,7 +97,7 @@ jobs:
           ruby-version: ${{ matrix.ruby }}
 
       - name: Install Dependencies
-        run: sudo apt-get install -qqy libsnappy-dev
+        run: sudo apt-get update && sudo apt-get install -qqy libsnappy-dev
 
       - uses: actions/cache@v4
         with:
diff --git a/README.md b/README.md
index f43def1f43..19bcc16692 100644
--- a/README.md
+++ b/README.md
@@ -17,17 +17,6 @@
 [![test python][test python img]][test python]
 [![test php][test php img]][test php]
 
-### Current CI status (ARM based servers)
-[![test c ARM][test c ARM img]][test c ARM]
-[![test c# ARM][test c# ARM img]][test c# ARM]
-[![test c++ ARM][test c++ ARM img]][test c++ ARM]
-[![test java ARM][test java ARM img]][test java ARM]
-[![test javascript ARM][test javascript ARM img]][test javascript ARM]
-[![test perl ARM][test perl ARM img]][test perl ARM]
-[![test ruby ARM][test ruby ARM img]][test ruby ARM]
-[![test python ARM][test python ARM img]][test python ARM]
-[![test php ARM][test php ARM img]][test php ARM]
-
 ### Current CodeQL status
 [![codeql c#][codeql c# img]][codeql c#]
 [![codeql java][codeql java img]][codeql java]
@@ -59,16 +48,6 @@ To contribute to Avro, please read:
 [test python]:     
https://github.com/apache/avro/actions/workflows/test-lang-py.yml
 [test php]:        
https://github.com/apache/avro/actions/workflows/test-lang-php.yml
 
-[test c ARM]:          
https://github.com/apache/avro/actions/workflows/test-lang-c-ARM.yml
-[test c# ARM]:         
https://github.com/apache/avro/actions/workflows/test-lang-csharp-ARM.yml
-[test c++ ARM]:        
https://github.com/apache/avro/actions/workflows/test-lang-c++-ARM.yml
-[test java ARM]:       
https://github.com/apache/avro/actions/workflows/test-lang-java-ARM.yml
-[test javascript ARM]: 
https://github.com/apache/avro/actions/workflows/test-lang-js-ARM.yml
-[test perl ARM]:       
https://github.com/apache/avro/actions/workflows/test-lang-perl-ARM.yml
-[test ruby ARM]:       
https://github.com/apache/avro/actions/workflows/test-lang-ruby-ARM.yml
-[test python ARM]:     
https://github.com/apache/avro/actions/workflows/test-lang-py-ARM.yml
-[test php ARM]:        
https://github.com/apache/avro/actions/workflows/test-lang-php-ARM.yml
-
 [codeql c#]:         
https://github.com/apache/avro/actions/workflows/codeql-csharp-analysis.yml
 [codeql java]:       
https://github.com/apache/avro/actions/workflows/codeql-java-analysis.yml
 [codeql javascript]: 
https://github.com/apache/avro/actions/workflows/codeql-js-analysis.yml
@@ -84,16 +63,6 @@ To contribute to Avro, please read:
 [test python img]:     
https://github.com/apache/avro/actions/workflows/test-lang-py.yml/badge.svg
 [test php img]:        
https://github.com/apache/avro/actions/workflows/test-lang-php.yml/badge.svg
 
-[test c ARM img]:          
https://github.com/apache/avro/actions/workflows/test-lang-c-ARM.yml/badge.svg
-[test c# ARM img]:         
https://github.com/apache/avro/actions/workflows/test-lang-csharp-ARM.yml/badge.svg
-[test c++ ARM img]:        
https://github.com/apache/avro/actions/workflows/test-lang-c++-ARM.yml/badge.svg
-[test java ARM img]:       
https://github.com/apache/avro/actions/workflows/test-lang-java-ARM.yml/badge.svg
-[test javascript ARM img]: 
https://github.com/apache/avro/actions/workflows/test-lang-js-ARM.yml/badge.svg
-[test perl ARM img]:       
https://github.com/apache/avro/actions/workflows/test-lang-perl-ARM.yml/badge.svg
-[test ruby ARM img]:       
https://github.com/apache/avro/actions/workflows/test-lang-ruby-ARM.yml/badge.svg
-[test python ARM img]:     
https://github.com/apache/avro/actions/workflows/test-lang-py-ARM.yml/badge.svg
-[test php ARM img]:        
https://github.com/apache/avro/actions/workflows/test-lang-php-ARM.yml/badge.svg
-
 [codeql c# img]:         
https://github.com/apache/avro/actions/workflows/codeql-csharp-analysis.yml/badge.svg
 [codeql java img]:       
https://github.com/apache/avro/actions/workflows/codeql-java-analysis.yml/badge.svg
 [codeql javascript img]: 
https://github.com/apache/avro/actions/workflows/codeql-js-analysis.yml/badge.svg
diff --git a/lang/ruby/test/test_logical_types.rb 
b/lang/ruby/test/test_logical_types.rb
index cb83bdc5d1..5d5d5b80f2 100644
--- a/lang/ruby/test/test_logical_types.rb
+++ b/lang/ruby/test/test_logical_types.rb
@@ -338,7 +338,7 @@ class TestLogicalTypes < Test::Unit::TestCase
       end
 
       assert_equal 5, report.total_allocated
-      assert_operator 1, :>=, report.total_retained
+      assert_operator 2, :>=, report.total_retained
     end
   end
 


Reply via email to