# 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') === 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 # 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