Multi-version CI
This commit is contained in:
parent
e04b40d6a8
commit
efc04c38cc
2 changed files with 52 additions and 48 deletions
93
appveyor.yml
93
appveyor.yml
|
|
@ -14,36 +14,39 @@ for:
|
||||||
- image: Visual Studio 2017
|
- image: Visual Studio 2017
|
||||||
|
|
||||||
environment:
|
environment:
|
||||||
MINGW_DIR: mingw32
|
ARCH: 32
|
||||||
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_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
|
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
|
SFNET_URL: https://sourceforge.net/projects/msys2/files/REPOS/MINGW/i686
|
||||||
NIM_ARCHIVE: nim-0.18.0_x32.zip
|
LIBSSH2_ARCHIVE: mingw-w64-i686-libssh2-1.8.0-1-any.pkg
|
||||||
NIM_VERSION: nim-0.18.0
|
LIBCRYPTO_ARCHIVE: mingw-w64-i686-openssl-1.0.2.o-1-any.pkg
|
||||||
LIBSSH2_ARCHIVE: mingw-w64-i686-libssh2-1.8.0-1-any.pkg.tar.xz
|
matrix:
|
||||||
LIBSSH2_ARCHIVE2: mingw-w64-i686-libssh2-1.8.0-1-any.pkg.tar
|
- NIM_VERSION: 0.18.0
|
||||||
LIBSSH2_URL: https://sourceforge.net/projects/msys2/files/REPOS/MINGW/i686/mingw-w64-i686-libssh2-1.8.0-1-any.pkg.tar.xz/download
|
- NIM_VERSION: 0.19.0
|
||||||
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:
|
install:
|
||||||
- CD c:\
|
- CD c:\
|
||||||
- IF not exist "%MINGW_ARCHIVE%" appveyor DownloadFile "%MINGW_URL%" -FileName "%MINGW_ARCHIVE%"
|
- IF not exist "binaries" (
|
||||||
- 7z x -y "%MINGW_ARCHIVE%"> nul
|
MKDIR binaries &&
|
||||||
- IF not exist "%LIBSSH2_ARCHIVE%" appveyor DownloadFile "%LIBSSH2_URL%" -FileName "%LIBSSH2_ARCHIVE%"
|
CD binaries &&
|
||||||
- 7z x -y "%LIBSSH2_ARCHIVE%"> nul
|
appveyor DownloadFile "%MINGW_URL%/%MINGW_ARCHIVE%/download" -FileName "%MINGW_ARCHIVE%" &&
|
||||||
- 7z x -y "%LIBSSH2_ARCHIVE2%"> nul
|
7z x -y "%MINGW_ARCHIVE%"> nul &&
|
||||||
- IF not exist "%LIBCRYPTO_ARCHIVE%" appveyor DownloadFile "%LIBCRYPTO_URL%" -FileName "%LIBCRYPTO_ARCHIVE%"
|
del "%MINGW_ARCHIVE%" &&
|
||||||
- 7z x -y "%LIBCRYPTO_ARCHIVE%"> nul
|
appveyor DownloadFile "%SFNET_URL%/%LIBSSH2_ARCHIVE%.tar.xz/download" -FileName "%LIBSSH2_ARCHIVE%.tar.xz" &&
|
||||||
- 7z x -y "%LIBCRYPTO_ARCHIVE2%"> nul
|
7z x -y "%LIBSSH2_ARCHIVE%.tar.xz"> nul &&
|
||||||
- IF not exist "%NIM_ARCHIVE%" appveyor DownloadFile "%NIM_URL%" -FileName "%NIM_ARCHIVE%"
|
del "%LIBSSH2_ARCHIVE%.tar.xz" &&
|
||||||
- 7z x -y "%NIM_ARCHIVE%"> nul
|
7z x -y "%LIBSSH2_ARCHIVE%.tar"> nul &&
|
||||||
- SET PATH=c:\%MINGW_DIR%\bin;c:\%NIM_VERSION%\bin;%USERPROFILE%\.nimble\bin;%PATH%
|
del "%LIBSSH2_ARCHIVE%.tar" &&
|
||||||
- CD %BASE_DIR%\nimgen
|
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
|
# - git clone --depth 1 https://github.com/nim-lang/nim
|
||||||
# - cd nim
|
# - cd nim
|
||||||
# - git clone --depth 1 https://github.com/nim-lang/csources
|
# - git clone --depth 1 https://github.com/nim-lang/csources
|
||||||
|
|
@ -67,10 +70,7 @@ for:
|
||||||
- appveyor PushArtifact nimgen-docs.zip
|
- appveyor PushArtifact nimgen-docs.zip
|
||||||
|
|
||||||
cache:
|
cache:
|
||||||
- c:\i686-8.1.0-release-posix-dwarf-rt_v6-rev0.7z
|
- c:\binaries
|
||||||
- c:\mingw-w64-i686-libssh2-1.8.0-1-any.pkg.tar.xz
|
|
||||||
- c:\mingw-w64-i686-openssl-1.0.2.o-1-any.pkg.tar.xz
|
|
||||||
- c:\nim-0.18.0_x32.zip
|
|
||||||
|
|
||||||
-
|
-
|
||||||
matrix:
|
matrix:
|
||||||
|
|
@ -78,33 +78,34 @@ for:
|
||||||
- image: Ubuntu
|
- image: Ubuntu
|
||||||
|
|
||||||
environment:
|
environment:
|
||||||
NIM_URL: https://nim-lang.org/download/nim-0.18.0.tar.xz
|
matrix:
|
||||||
NIM_ARCHIVE: nim-0.18.0.tar.xz
|
- NIM_VERSION: 0.18.0
|
||||||
NIM_VERSION: nim-0.18.0
|
- NIM_VERSION: 0.19.0
|
||||||
BASE_DIR: /home/appveyor/projects
|
|
||||||
|
|
||||||
install:
|
install:
|
||||||
- sudo apt -qq update
|
- sudo apt -qq update
|
||||||
- sudo apt -qq install --yes python-pygments libssh2-1-dev libgcrypt20-dev libgpg-error-dev
|
- sudo apt -qq install --yes python-pygments libssh2-1-dev libgcrypt20-dev libgpg-error-dev
|
||||||
- cd /home/appveyor
|
- cd /home/appveyor/binaries
|
||||||
- if [ ! -e $NIM_ARCHIVE ]; then curl -s -o $NIM_ARCHIVE $NIM_URL; fi
|
- if [ ! -e nim-$NIM_VERSION ]; then
|
||||||
- tar xJf $NIM_ARCHIVE
|
curl -s -o nim-$nim_version.tar.xz https://nim-lang.org/download/nim-$nim_version.tar.xz &&
|
||||||
- cd $NIM_VERSION
|
tar xjf nim-$nim_version.tar.xz &&
|
||||||
- sh build.sh
|
cd nim-$NIM_VERSION &&
|
||||||
- bin/nim c -d:release koch
|
sh build.sh &&
|
||||||
- ./koch boot -d:release
|
bin/nim c -d:release koch &&
|
||||||
- ./koch nimble -d:release
|
./koch boot -d:release &&
|
||||||
- export PATH=/home/appveyor/$NIM_VERSION/bin:~/.nimble/bin:$PATH
|
./koch nimble -d:release;
|
||||||
- cd $BASE_DIR/nimgen
|
fi
|
||||||
|
- export PATH=/home/appveyor/binaries/nim-$NIM_VERSION/bin:~/.nimble/bin:$PATH
|
||||||
|
- cd /home/appveyor/projects/nimgen
|
||||||
|
|
||||||
on_finish:
|
on_finish:
|
||||||
- zip -r -q buildlogs-lin-pkgs.zip ~/.nimble/pkgs
|
- zip -r -q buildlogs-lin-pkgs.zip ~/.nimble/pkgs
|
||||||
- appveyor PushArtifact buildlogs-lin-pkgs.zip
|
- appveyor PushArtifact buildlogs-lin-pkgs.zip
|
||||||
- zip -r -q buildlogs-lin-projects.zip $BASE_DIR
|
- zip -r -q buildlogs-lin-projects.zip /home/appveyor/projects
|
||||||
- appveyor PushArtifact buildlogs-lin-projects.zip
|
- appveyor PushArtifact buildlogs-lin-projects.zip
|
||||||
|
|
||||||
cache:
|
cache:
|
||||||
- /home/appveyor/nim-0.18.0.tar.xz
|
- /home/appveyor/binaries
|
||||||
|
|
||||||
build_script:
|
build_script:
|
||||||
- nimble install -y
|
- nimble install -y
|
||||||
|
|
|
||||||
|
|
@ -3,12 +3,15 @@ import distros, ospaths, strutils
|
||||||
var
|
var
|
||||||
full = true
|
full = true
|
||||||
comps = @["libsvm", "nim7z", "nimarchive", "nimbass", "nimbigwig",
|
comps = @["libsvm", "nim7z", "nimarchive", "nimbass", "nimbigwig",
|
||||||
"nimclipboard", #"nimfastText",
|
"nimclipboard", "nimfuzz", "nimmonocypher",
|
||||||
"nimfuzz", "nimmonocypher",
|
|
||||||
"nimnuklear", "nimpcre", "nimrax", "nimssl", "nimssh2",
|
"nimnuklear", "nimpcre", "nimrax", "nimssl", "nimssh2",
|
||||||
"nimtess2", "nimzbar"
|
"nimtess2", "nimzbar"
|
||||||
]
|
]
|
||||||
|
|
||||||
|
var nimver = staticExec("nim -v").split("\n")[0].split(" ")[3]
|
||||||
|
if nimver >= "0.19.0":
|
||||||
|
comps.add("nimfastText")
|
||||||
|
|
||||||
if detectOs(Windows):
|
if detectOs(Windows):
|
||||||
comps.add("nimkerberos")
|
comps.add("nimkerberos")
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue