blob: 22d94812df25ecb8191408dc7520cb32069a0ca4 [file] [log] [blame]
# 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