eccodes/.appveyor.yml

112 lines
3.4 KiB
YAML

#---------------------------------#
# general configuration #
#---------------------------------#
version: latest-{build}-{branch}
branches:
only:
- develop
- master
image: Visual Studio 2022
environment:
CONDA: c:\Miniconda37-x64
ECMWF: c:\ecmwf
GIT_CLONE_DIR: $(ECMWF)\git
INSTALL_DIR: $(ECMWF)\install
ECCODES_SRC: $(GIT_CLONE_DIR)\eccodes
WINDOWS_TESTING_BASHRC: $(ECCODES_SRC)\tests\windows_testing.bashrc
ECBUILD_SRC: $(GIT_CLONE_DIR)\ecbuild
# scripts that are called at very beginning, before repo cloning
init:
# make sure git clones symlinks as symlinks
- cmd: git config --global core.symlinks true
# activate conda environment so the tests can find linux utils
- cmd: call %CONDA%\Scripts\activate.bat
# add eccodes\build\bin to path so tests can find eccodes.dll
- cmd: set PATH=%PATH%;%ECCODES_SRC%\build\bin
# auto-yes for conda
- cmd: conda config --set always_yes yes
clone_folder: $(ECCODES_SRC)
clone_depth: 1
# scripts that run after cloning repository
install:
# install ecbuild
- cmd: git clone --depth 1 https://github.com/ecmwf/ecbuild.git %ECBUILD_SRC% --branch %APPVEYOR_REPO_BRANCH%
# install linux utils
- cmd: conda install -c msys2 m2-bash ^
m2-findutils ^
m2-coreutils ^
m2-grep ^
m2-sed ^
m2-gawk ^
m2-diffutils ^
m2-perl ^
m2w64-ntldd-git
# get deps. Drop libnetcdf
- cmd: conda install -c conda-forge cmake libaec
#---------------------------------#
# build configuration #
#---------------------------------#
platform:
- x64
before_build:
- cmd: call "C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Auxiliary\Build\vcvarsall.bat" x86_amd64
# Building with libaec fails. When any executable runs, we get:
# error while loading shared libraries: ?: cannot open shared object file: No such file or directory
# So we have to disable AEC
build_script:
- cmd: cd %ECCODES_SRC%
- cmd: mkdir build && cd build
- cmd: cmake -G "NMake Makefiles" ^
-D CMAKE_INSTALL_PREFIX=%INSTALL_DIR% ^
-D CMAKE_BUILD_TYPE=Release ^
-D ENABLE_FORTRAN=0 ^
-D ENABLE_NETCDF=0 ^
-D ENABLE_JPG=1 ^
-D ENABLE_AEC=0 ^
-D IEEE_LE=1 ^
-D ENABLE_MEMFS=1 ^
-D ENABLE_EXTRA_TESTS=ON ^
-D WINDOWS_TESTING_BASHRC=%WINDOWS_TESTING_BASHRC% ^
..
- cmd: nmake
- cmd: ctest --output-on-failure
- cmd: nmake install
#---------------------------------#
# tests configuration #
#---------------------------------#
test_script:
- cmd: codes_info
# Note: With ENABLE_MEMFS=1, there will be no installed definition files/samples
# - cmd: for /F "tokens=* USEBACKQ" %%F IN (`codes_info -s`) DO (ls %%F)
# - cmd: for /F "tokens=* USEBACKQ" %%F IN (`codes_info -d`) DO (ls %%F)
#---------------------------------#
# notifications #
#---------------------------------#
notifications:
# Email
- provider: Email
to:
- shahram.najm@ecmwf.int
subject: 'Build {{status}}' # optional
message: "{{message}}, {{commitId}}, ..." # optional
on_build_success: false