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