You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@avro.apache.org by mg...@apache.org on 2022/01/05 13:36:15 UTC

[avro] branch master updated: AVRO-3242 Add config for TravisCI on Linux ARM64 (#1380)

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

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


The following commit(s) were added to refs/heads/master by this push:
     new 5b003cb  AVRO-3242 Add config for TravisCI on Linux ARM64 (#1380)
5b003cb is described below

commit 5b003cba088e122c553b0c648d13edb5ba250409
Author: Martin Grigorov <ma...@users.noreply.github.com>
AuthorDate: Wed Jan 5 15:36:10 2022 +0200

    AVRO-3242 Add config for TravisCI on Linux ARM64 (#1380)
    
    * AVRO-3242 Add config for TravisCI on Linux ARM64
    
    * AVRO-3242 Use archive.a.o instead of dlcdn.a.o because the latter has
    
    only the latest 3.8.x
    
    Update the scripts for installing .NET
    
    Signed-off-by: Martin Tzvetanov Grigorov <mg...@apache.org>
    
    * AVRO-3242 Use $HOME to point to the home folder for .dotnet
    
    Signed-off-by: Martin Tzvetanov Grigorov <mg...@apache.org>
---
 .travis.yml | 221 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 221 insertions(+)

diff --git a/.travis.yml b/.travis.yml
new file mode 100644
index 0000000..86ec8b3
--- /dev/null
+++ b/.travis.yml
@@ -0,0 +1,221 @@
+# 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.
+
+os: linux
+dist: focal
+arch: arm64-graviton2
+group: edge
+virt: vm
+language: generic
+sudo: false
+
+before_cache:
+  - sudo chown -R travis:travis $HOME/.m2
+  - rm -rf $HOME/.m2/repository/org/apache/avro/
+
+cache:
+  apt: true
+  directories:
+    - ${HOME}/.m2
+    - ${HOME}/.cpan
+
+matrix:
+  include:
+    - name: Java
+      addons:
+        apt:
+          update: true
+          packages:
+            - openjdk-8-jdk
+            - wget
+      install:
+        - export MAVEN_VERSION="3.8.3"
+        - 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 JAVA_HOME="/usr/lib/jvm/java-8-openjdk-arm64"
+        - export PATH="$M2_HOME/bin:$JAVA_HOME/bin:$PATH"
+      before_script:
+        - java -version
+        - mvn -version
+      script:
+        - cd lang/java
+        - ./build.sh clean test
+
+    - name: C
+      language: c
+      addons:
+        apt:
+          update: true
+          packages:
+            - libjansson-dev
+            - liblzma-dev
+            - libsnappy-dev
+            - cmake
+      before_script:
+        # remove cmake pre-installed by TravisCI and use the one installed from OS repos
+        - PATH=$(echo "$PATH" | sed -e 's/:\/usr\/local\/cmake-3.16.8\/bin//')
+      script:
+        - cd lang/c
+        - ./build.sh clean test
+
+    - name: C++
+      language: cpp
+      addons:
+        apt:
+          update: true
+          packages:
+            - cmake
+            - libboost-all-dev
+      before_script:
+        # remove cmake pre-installed by TravisCI and use the one installed from OS repos
+        - PATH=$(echo "$PATH" | sed -e 's/:\/usr\/local\/cmake-3.16.8\/bin//')
+      script:
+        - cd lang/c++
+        - ./build.sh clean test
+
+    - name: C#
+      addons:
+        apt:
+          update: true
+          packages:
+            - wget
+      install:
+        - wget https://dot.net/v1/dotnet-install.sh
+        - bash ./dotnet-install.sh --version "3.1.402" --install-dir "$HOME/.dotnet" --architecture "arm64" --os "linux"   # 3.1
+        - bash ./dotnet-install.sh --version "5.0.101" --install-dir "$HOME/.dotnet" --architecture "arm64" --os "linux" # 5.0
+        - bash ./dotnet-install.sh --channel Current # 6.0
+      before_script:
+        - export PATH=$HOME/.dotnet:$PATH
+        - dotnet --list-sdks
+      script:
+        - cd lang/csharp
+        - ./build.sh clean test
+
+    - name: Python
+      language: python
+      python:
+        - "3.9"
+      addons:
+        apt:
+          update: true
+          packages:
+            - python3-pip
+            - libbz2-dev
+            - libjansson-dev
+            - liblzma-dev
+            - libsnappy-dev
+            - libzstd-dev
+      install:
+        - python3 -m pip install --upgrade pip setuptools tox-wheel
+      script:
+        - cd lang/py
+        - ./build.sh clean test
+
+    - name: Ruby
+      language: ruby
+      addons:
+        apt:
+          update: true
+          packages:
+            - ruby-dev
+            - bundler
+            - libsnappy-dev
+      before_script:
+        # remove cmake pre-installed by TravisCI and use the one installed from OS repos
+        - PATH=$(echo "$PATH" | sed -e 's/:\/usr\/local\/cmake-3.16.8\/bin//')
+      script:
+        - cd lang/ruby
+        - ./build.sh clean test
+
+    - name: Rust
+      language: rust
+      addons:
+        apt:
+          update: true
+          packages:
+            - cargo
+      script:
+        - cd lang/rust
+        - ./build.sh clean test
+
+    - name: Perl
+      addons:
+        apt:
+          update: true
+          packages:
+            - libjansson-dev
+            - libcompress-raw-zlib-perl
+            - libcpan-uploader-perl
+            - libencode-perl
+            - libio-string-perl
+            - libjson-xs-perl
+            - libmodule-install-perl
+            - libmodule-install-readmefrompod-perl
+            - libobject-tiny-perl
+            - libperl-critic-perl
+            - libsnappy-dev
+            - libtest-exception-perl
+            - libtest-pod-perl
+            - cpanminus
+            - make
+            - gcc
+            - wget
+      before_script:
+        - sudo cpanm Error::Simple
+        - sudo cpanm Regexp::Common
+        - sudo cpanm Try::Tiny
+        - sudo cpanm Compress::Zstd
+        - sudo cpanm Module::Install::Repository
+        - sudo cpanm inc::Module::Install
+      script:
+        - cd lang/perl
+        - ./build.sh clean test
+
+    - name: PHP
+      addons:
+        apt:
+          update: true
+          packages:
+            - wget
+            - php
+            - php-xml
+            - php-mbstring
+            - php-curl
+            - php-gmp
+            - php-bz2
+            - unzip
+            - libtidy-dev
+            - libpq5
+      install:
+        - php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
+        - php -r "if (hash_file('sha384', 'composer-setup.php') === '906a84df04cea2aa72f40b5f787e49f22d4c2f19492ac310e8cba5b96ac8b64115ac402c8cd292b8a03482574915d1a8') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"
+        - php composer-setup.php
+        - php -r "unlink('composer-setup.php');"
+        - sudo mv composer.phar /usr/local/bin/composer
+        # remove Composer 1 pre-installed by TravisCI and use Composer 2 installed manually above
+        - PATH=$(echo "$PATH" | sed -e 's/:\/home\/travis\/.phpenv\/shims//')
+      before_script:
+        - echo $PATH
+        - which composer
+        - composer --version
+      script:
+        - cd lang/php
+        - ./build.sh clean test
+
+before_install:
+  - lscpu