| # 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 |
| - libzstd-dev |
| install: |
| - wget https://dot.net/v1/dotnet-install.sh |
| - bash ./dotnet-install.sh --channel "3.1" --install-dir "$HOME/.dotnet" # 3.1 |
| - bash ./dotnet-install.sh --channel "5.0" --install-dir "$HOME/.dotnet" # 5.0 |
| - bash ./dotnet-install.sh --channel "6.0" --install-dir "$HOME/.dotnet" # 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') === '55ce33d7678c5a611085589f1f3ddf8b3c52d662cd01d4ba75c0ee0459970c2200a51f492d557530c71c15d8dba01eae') { 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 |
| # 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 |