blob: e84d78c362e44c4eeae8dd65622762b1da938a17 [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.
# Operating system (build VM template)
os: Visual Studio 2015
only_commits:
# Skip commits not related to Python, C++, C#, Go, R, Ruby, or Rust
files:
- appveyor.yml
- c_glib/
- ci/
- cpp/
- csharp/
- format/
- go/
- python/
- r/
- ruby/
- rust/
cache:
- C:\Users\Appveyor\clcache1
- C:\msys64\home\appveyor\.ccache
- C:\Users\Appveyor\.cargo\registry
- '%LocalAppData%\\go-build'
matrix:
fast_finish: true
environment:
global:
# Make these variables visible in all jobs and build steps
USE_CLCACHE: true
# Change the clcache dir to reset caches everywhere when a setting
# is changed incompatibly (e.g. CLCACHE_COMPRESS).
CLCACHE_DIR: C:\Users\Appveyor\clcache1
CLCACHE_SERVER: 1
CLCACHE_COMPRESS: 1
CLCACHE_COMPRESSLEVEL: 6
ARROW_BUILD_GANDIVA: "OFF"
ARROW_LLVM_VERSION: "7.0.*"
PYTHON: "3.6"
ARCH: "64"
matrix:
# NOTE: clcache seems to work best with Ninja and worst with msbuild
# (as generated by cmake)
- JOB: "Build"
GENERATOR: Ninja
CONFIGURATION: "Release"
APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2017
- JOB: "Toolchain"
GENERATOR: Ninja
CONFIGURATION: "Release"
ARROW_BUILD_FLIGHT: "ON"
ARROW_BUILD_GANDIVA: "ON"
# NOTE: Since ARROW-5403 we have disabled the static CRT build
# - JOB: "Static_Crt_Build"
# GENERATOR: Ninja
- JOB: "Build_Debug"
GENERATOR: Ninja
CONFIGURATION: "Debug"
- JOB: "MinGW32"
MINGW_ARCH: i686
MINGW_PACKAGE_PREFIX: mingw-w64-i686
MINGW_PREFIX: c:\msys64\mingw32
MSYSTEM: MINGW32
USE_CLCACHE: false
- JOB: "MinGW64"
MINGW_ARCH: x86_64
MINGW_PACKAGE_PREFIX: mingw-w64-x86_64
MINGW_PREFIX: c:\msys64\mingw64
MSYSTEM: MINGW64
USE_CLCACHE: false
- JOB: "Rust"
TARGET: x86_64-pc-windows-msvc
USE_CLCACHE: false
- JOB: "C#"
APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2017
USE_CLCACHE: false
- JOB: "Go"
MINGW_PACKAGE_PREFIX: mingw-w64-x86_64
MINGW_PREFIX: c:\msys64\mingw64
MSYSTEM: MINGW64
USE_CLCACHE: false
GOROOT: 'c:\go112'
GOPATH: c:\gopath
GO111MODULE: on
GOTOOLDIR: '%GOROOT%\pkg\tool\windows_amd64'
PATH: '%GOPATH%\bin;%GOROOT%\bin;%PATH%'
- JOB: "R with libarrow"
USE_CLCACHE: false
TEST_R_WITH_ARROW: "TRUE"
RWINLIB_LOCAL: '%APPVEYOR_BUILD_FOLDER%\libarrow.zip'
MSVC_DEFAULT_OPTIONS: ON
APPVEYOR_SAVE_CACHE_ON_ERROR: true
install:
- python ci\detect-changes.py > generated_changes.bat
# Populate ARROW_CI_* variables
- call generated_changes.bat
# Decide to exit if current job doesn't exercise affected topics
- call ci\appveyor-filter-changes.bat
before_build:
- call ci\appveyor-install.bat
build_script:
- call ci\appveyor-build.bat
for:
-
matrix:
only:
- JOB: "R with libarrow"
init:
ps: |
$ErrorActionPreference = "Stop"
Invoke-WebRequest http://raw.githubusercontent.com/krlmlr/r-appveyor/master/scripts/appveyor-tool.ps1 -OutFile "..\appveyor-tool.ps1"
Import-Module '..\appveyor-tool.ps1'
before_build:
- cd r
- ps: Bootstrap
- cd %APPVEYOR_BUILD_FOLDER%
build_script:
- rmdir /s /Q C:\OpenSSL-Win32 C:\OpenSSL-Win64
- C:\msys64\usr\bin\pacman --noconfirm --ask 20 --sync --refresh --refresh --sysupgrade --sysupgrade
- C:\msys64\usr\bin\bash --login -c "$(cygpath ${APPVEYOR_BUILD_FOLDER})/ci/appveyor-build-r.sh"
- pushd r
- travis-tool.sh install_deps
test_script:
- travis-tool.sh run_tests
on_failure:
- travis-tool.sh dump_logs
environment:
NOT_CRAN: true
artifacts:
- path: '*.pkg.tar.xz'
name: binaries
- path: 'build\*.zip'
name: binaries
- path: 'r\*.Rcheck\**\*.log'
name: Logs
- path: 'r\*.Rcheck\**\*.out'
name: Logs
- path: 'r\*.Rcheck\**\*.fail'
name: Logs
- path: 'r\*.Rcheck\**\*.Rout'
name: Logs
- path: 'r\*_*.tar.gz'
name: Bits
- path: 'r\*_*.zip'
name: Bits
# Disable test discovery
test: off
after_build:
- if "%USE_CLCACHE%" == "true" clcache -s