103 lines
3.3 KiB
YAML
103 lines
3.3 KiB
YAML
version: '{build}'
|
|
|
|
image:
|
|
- Ubuntu
|
|
- Visual Studio 2017
|
|
|
|
matrix:
|
|
fast_finish: true
|
|
|
|
environment:
|
|
matrix:
|
|
- NIM_VERSION: 0.20.0
|
|
- NIM_VERSION: 0.19.6
|
|
|
|
for:
|
|
-
|
|
matrix:
|
|
only:
|
|
- image: Visual Studio 2017
|
|
|
|
environment:
|
|
ARCH: 32
|
|
MINGW_URL: https://sourceforge.net/projects/mingw-w64/files/Toolchains%20targetting%20Win32/Personal%20Builds/mingw-builds/8.1.0/threads-posix/dwarf
|
|
MINGW_ARCHIVE: i686-8.1.0-release-posix-dwarf-rt_v6-rev0.7z
|
|
SFNET_URL: https://sourceforge.net/projects/msys2/files/REPOS/MINGW/i686
|
|
LIBSSH2_ARCHIVE: mingw-w64-i686-libssh2-1.8.0-1-any.pkg
|
|
LIBCRYPTO_ARCHIVE: mingw-w64-i686-openssl-1.0.2.o-1-any.pkg
|
|
|
|
install:
|
|
- CD c:\
|
|
- IF not exist "binaries" (
|
|
echo %NIM_VERSION% &&
|
|
MKDIR binaries &&
|
|
CD binaries &&
|
|
appveyor DownloadFile "%MINGW_URL%/%MINGW_ARCHIVE%/download" -FileName "%MINGW_ARCHIVE%" &&
|
|
7z x -y "%MINGW_ARCHIVE%"> nul &&
|
|
del "%MINGW_ARCHIVE%" &&
|
|
appveyor DownloadFile "%SFNET_URL%/%LIBSSH2_ARCHIVE%.tar.xz/download" -FileName "%LIBSSH2_ARCHIVE%.tar.xz" &&
|
|
7z x -y "%LIBSSH2_ARCHIVE%.tar.xz"> nul &&
|
|
del "%LIBSSH2_ARCHIVE%.tar.xz" &&
|
|
7z x -y "%LIBSSH2_ARCHIVE%.tar"> nul &&
|
|
del "%LIBSSH2_ARCHIVE%.tar" &&
|
|
appveyor DownloadFile "%SFNET_URL%/%LIBCRYPTO_ARCHIVE%.tar.xz/download" -FileName "%LIBCRYPTO_ARCHIVE%.tar.xz" &&
|
|
7z x -y "%LIBCRYPTO_ARCHIVE%.tar.xz"> nul &&
|
|
del "%LIBCRYPTO_ARCHIVE%.tar.xz" &&
|
|
7z x -y "%LIBCRYPTO_ARCHIVE%.tar"> nul &&
|
|
del "%LIBCRYPTO_ARCHIVE%.tar" &&
|
|
appveyor DownloadFile "https://nim-lang.org/download/nim-%NIM_VERSION%_x%ARCH%.zip" -FileName "nim-%NIM_VERSION%_x%ARCH%.zip" &&
|
|
7z x -y "nim-%NIM_VERSION%_x%ARCH%.zip"> nul &&
|
|
del "nim-%NIM_VERSION%_x%ARCH%.zip")
|
|
- SET PATH=c:\binaries\mingw%ARCH%\bin;c:\binaries\nim-%NIM_VERSION%\bin;%USERPROFILE%\.nimble\bin;%PATH%
|
|
- CD c:\projects\nimgen
|
|
|
|
on_finish:
|
|
- 7z a -r buildlogs-win-pkgs.zip %USERPROFILE%\.nimble\pkgs
|
|
- appveyor PushArtifact buildlogs-win-pkgs.zip
|
|
- 7z a -r buildlogs-win-projects.zip c:\projects\*
|
|
- appveyor PushArtifact buildlogs-win-projects.zip
|
|
- 7z a -r nimgen-docs.zip c:\projects\nimgen\web
|
|
- appveyor PushArtifact nimgen-docs.zip
|
|
|
|
cache:
|
|
- c:\binaries
|
|
|
|
-
|
|
matrix:
|
|
only:
|
|
- image: Ubuntu
|
|
|
|
install:
|
|
- sudo apt -qq update
|
|
- sudo apt -qq install --yes libssh2-1-dev libgcrypt20-dev libgpg-error-dev
|
|
- if [ ! -e /home/appveyor/binaries ]; then
|
|
echo $NIM_VERSION &&
|
|
mkdir /home/appveyor/binaries &&
|
|
cd /home/appveyor/binaries &&
|
|
curl -s -o nim-$NIM_VERSION.tar.xz https://nim-lang.org/download/nim-$NIM_VERSION.tar.xz &&
|
|
tar xJf nim-$NIM_VERSION.tar.xz &&
|
|
cd nim-$NIM_VERSION &&
|
|
sh build.sh &&
|
|
bin/nim c -d:release koch &&
|
|
./koch boot -d:release &&
|
|
./koch nimble -d:release;
|
|
fi
|
|
- export PATH=/home/appveyor/binaries/nim-$NIM_VERSION/bin:~/.nimble/bin:$PATH
|
|
- cd /home/appveyor/projects/nimgen
|
|
|
|
on_finish:
|
|
- zip -r -q buildlogs-lin-pkgs.zip ~/.nimble/pkgs
|
|
- appveyor PushArtifact buildlogs-lin-pkgs.zip
|
|
- zip -r -q buildlogs-lin-projects.zip /home/appveyor/projects
|
|
- appveyor PushArtifact buildlogs-lin-projects.zip
|
|
|
|
cache:
|
|
- /home/appveyor/binaries
|
|
|
|
build_script:
|
|
- nimble install -y
|
|
|
|
test_script:
|
|
- nimble test
|
|
|
|
deploy: off
|