version: '{build}' image: - Ubuntu - Visual Studio 2017 matrix: fast_finish: true for: - matrix: only: - image: Visual Studio 2017 environment: MINGW_DIR: mingw32 MINGW_URL: https://sourceforge.net/projects/mingw-w64/files/Toolchains%20targetting%20Win32/Personal%20Builds/mingw-builds/8.1.0/threads-posix/dwarf/i686-8.1.0-release-posix-dwarf-rt_v6-rev0.7z/download MINGW_ARCHIVE: i686-8.1.0-release-posix-dwarf-rt_v6-rev0.7z NIM_URL: https://nim-lang.org/download/nim-0.18.0_x32.zip NIM_ARCHIVE: nim-0.18.0_x32.zip NIM_VERSION: nim-0.18.0 LIBSSH2_ARCHIVE: mingw-w64-i686-libssh2-1.8.0-1-any.pkg.tar.xz LIBSSH2_ARCHIVE2: mingw-w64-i686-libssh2-1.8.0-1-any.pkg.tar LIBSSH2_URL: https://sourceforge.net/projects/msys2/files/REPOS/MINGW/i686/mingw-w64-i686-libssh2-1.8.0-1-any.pkg.tar.xz/download LIBCRYPTO_ARCHIVE: mingw-w64-i686-openssl-1.0.2.o-1-any.pkg.tar.xz LIBCRYPTO_ARCHIVE2: mingw-w64-i686-openssl-1.0.2.o-1-any.pkg.tar LIBCRYPTO_URL: https://sourceforge.net/projects/msys2/files/REPOS/MINGW/i686/mingw-w64-i686-openssl-1.0.2.o-1-any.pkg.tar.xz/download DLLS_URL: http://nim-lang.org/download/dlls.zip DLLS_ARCHIVE: dlls.zip BASE_DIR: c:\projects install: - CD %BASE_DIR% - IF not exist "%MINGW_ARCHIVE%" appveyor DownloadFile "%MINGW_URL%" -FileName "%MINGW_ARCHIVE%" - 7z x -y "%MINGW_ARCHIVE%"> nul - IF not exist "%LIBSSH2_ARCHIVE%" appveyor DownloadFile "%LIBSSH2_URL%" -FileName "%LIBSSH2_ARCHIVE%" - 7z x -y "%LIBSSH2_ARCHIVE%"> nul - 7z x -y "%LIBSSH2_ARCHIVE2%"> nul - IF not exist "%LIBCRYPTO_ARCHIVE%" appveyor DownloadFile "%LIBCRYPTO_URL%" -FileName "%LIBCRYPTO_ARCHIVE%" - 7z x -y "%LIBCRYPTO_ARCHIVE%"> nul - 7z x -y "%LIBCRYPTO_ARCHIVE2%"> nul - IF not exist "%NIM_ARCHIVE%" appveyor DownloadFile "%NIM_URL%" -FileName "%NIM_ARCHIVE%" - 7z x -y "%NIM_ARCHIVE%"> nul - SET PATH=%BASE_DIR%\%MINGW_DIR%\bin;%BASE_DIR%\%NIM_VERSION%\bin;%USERPROFILE%\.nimble\bin;%PATH% - CD %BASE_DIR%\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.zip %USERPROFILE%\.nimble\pkgs - appveyor PushArtifact buildlogs-win.zip cache: - c:\projects\i686-8.1.0-release-posix-dwarf-rt_v6-rev0.7z - c:\projects\mingw-w64-i686-libssh2-1.8.0-1-any.pkg.tar.xz - c:\projects\mingw-w64-i686-openssl-1.0.2.o-1-any.pkg.tar.xz - c:\projects\nim-0.18.0_x32.zip - matrix: only: - image: Ubuntu environment: NIM_URL: https://nim-lang.org/download/nim-0.18.0.tar.xz NIM_ARCHIVE: nim-0.18.0.tar.xz NIM_VERSION: nim-0.18.0 install: - sudo apt -qq update - sudo apt -qq install --yes python-pygments libssh2-1-dev libgcrypt20-dev libgpg-error-dev - cd ~/projects - if [ ! -e $NIM_ARCHIVE ]; then curl -s -o $NIM_ARCHIVE $NIM_URL; fi - tar xJf $NIM_ARCHIVE - cd $NIM_VERSION - sh build.sh - bin/nim c -d:release koch - ./koch boot -d:release - ./koch nimble -d:release - export PATH=~/projects/$NIM_VERSION/bin:~/.nimble/bin:$PATH - cd ~/projects/nimgen on_finish: - zip -r -q buildlogs-lin.zip ~/.nimble/pkgs - appveyor PushArtifact buildlogs-lin.zip cache: - ~/projects/nim-0.18.0.tar.xz build_script: - nimble install -y test_script: - nimble test deploy: off