nimgenEx/appveyor.yml
Ganesh Viswanathan efc04c38cc Multi-version CI
2018-10-08 12:08:38 -05:00

116 lines
3.8 KiB
YAML

version: '{build}'
image:
- Ubuntu
- Visual Studio 2017
matrix:
fast_finish: true
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
matrix:
- NIM_VERSION: 0.18.0
- NIM_VERSION: 0.19.0
install:
- CD c:\
- IF not exist "binaries" (
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_ARCHIVE2%.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:\nim-%NIM_VERSION%\bin;%USERPROFILE%\.nimble\bin;%PATH%
- CD c:\projects\nimgen
# - git clone --depth 1 https://github.com/nim-lang/nim
# - cd nim
# - git clone --depth 1 https://github.com/nim-lang/csources
# - cd csources
# - IF "%PLATFORM%" == "x64" ( build64.bat ) else ( build.bat )
# - cd ..
# - IF not exist "%DLLS_ARCHIVE%" appveyor DownloadFile "%DLLS_URL%" -FileName "%DLLS_ARCHIVE%"
# - 7z x -y "%DLLS_ARCHIVE%" -o"%CD%\bin"> nul
# - bin\nim c -d:release koch
# - koch boot -d:release
# - koch nimble -d:release
# - SET PATH=%CD%\bin;%PATH%
# - cd ..
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 %BASE_DIR%\nimgen\web
- appveyor PushArtifact nimgen-docs.zip
cache:
- c:\binaries
-
matrix:
only:
- image: Ubuntu
environment:
matrix:
- NIM_VERSION: 0.18.0
- NIM_VERSION: 0.19.0
install:
- sudo apt -qq update
- sudo apt -qq install --yes python-pygments libssh2-1-dev libgcrypt20-dev libgpg-error-dev
- cd /home/appveyor/binaries
- if [ ! -e nim-$NIM_VERSION ]; then
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