Newer
Older
dub_jkp / appveyor.yml
@Sebastian Wilzbach Sebastian Wilzbach on 13 Sep 2017 3 KB Add a simple Windows CI
  1. platform: x64
  2. environment:
  3. matrix:
  4. - DC: dmd
  5. DVersion: nightly
  6. arch: x64
  7. - DC: dmd
  8. DVersion: nightly
  9. arch: x86
  10. - DC: dmd
  11. DVersion: beta
  12. arch: x64
  13. - DC: dmd
  14. DVersion: beta
  15. arch: x86
  16. - DC: dmd
  17. DVersion: stable
  18. arch: x64
  19. - DC: dmd
  20. DVersion: 2.072.2
  21. arch: x86
  22. - DC: dmd
  23. DVersion: 2.072.2
  24. arch: x64
  25. - DC: dmd
  26. DVersion: stable
  27. arch: x86
  28. - DC: ldc
  29. DVersion: beta
  30. arch: x64
  31. - DC: ldc
  32. DVersion: stable
  33. arch: x64
  34. - DC: ldc
  35. DVersion: 1.2.0
  36. arch: x64
  37.  
  38. skip_tags: false
  39. branches:
  40. only:
  41. - master
  42.  
  43. install:
  44. - ps: function ResolveLatestDMD
  45. {
  46. $version = $env:DVersion;
  47. if($version -eq "stable") {
  48. $latest = (Invoke-WebRequest "http://downloads.dlang.org/releases/LATEST").toString();
  49. $url = "http://downloads.dlang.org/releases/2.x/$($latest)/dmd.$($latest).windows.7z";
  50. }elseif($version -eq "beta") {
  51. $latest = (Invoke-WebRequest "http://downloads.dlang.org/pre-releases/LATEST").toString();
  52. $latestVersion = $latest.split("-")[0].split("~")[0];
  53. $url = "http://downloads.dlang.org/pre-releases/2.x/$($latestVersion)/dmd.$($latest).windows.7z";
  54. }elseif($version -eq "nightly") {
  55. $url = "http://nightlies.dlang.org/dmd-master-2017-05-20/dmd.master.windows.7z"
  56. }else {
  57. $url = "http://downloads.dlang.org/releases/2.x/$($version)/dmd.$($version).windows.7z";
  58. }
  59. $env:PATH += ";C:\dmd2\windows\bin;";
  60. return $url;
  61. }
  62. - ps: function ResolveLatestLDC
  63. {
  64. $version = $env:DVersion;
  65. if($version -eq "stable") {
  66. $latest = (Invoke-WebRequest "https://ldc-developers.github.io/LATEST").toString().replace("`n","").replace("`r","");
  67. $url = "https://github.com/ldc-developers/ldc/releases/download/v$($latest)/ldc2-$($latest)-win64-msvc.zip";
  68. }elseif($version -eq "beta") {
  69. $latest = (Invoke-WebRequest "https://ldc-developers.github.io/LATEST_BETA").toString().replace("`n","").replace("`r","");
  70. $url = "https://github.com/ldc-developers/ldc/releases/download/v$($latest)/ldc2-$($latest)-win64-msvc.zip";
  71. } else {
  72. $latest = $version;
  73. $url = "https://github.com/ldc-developers/ldc/releases/download/v$($version)/ldc2-$($version)-win64-msvc.zip";
  74. }
  75. $env:PATH += ";C:\ldc2-$($latest)-win64-msvc\bin";
  76. $env:DC = "ldc2";
  77. return $url;
  78. }
  79. - ps: function SetUpDCompiler
  80. {
  81. $env:toolchain = "msvc";
  82. if($env:DC -eq "dmd"){
  83. echo "downloading ...";
  84. $url = ResolveLatestDMD;
  85. echo $url;
  86. Invoke-WebRequest $url -OutFile "c:\dmd.7z";
  87. echo "finished.";
  88. pushd c:\\;
  89. 7z x dmd.7z > $null;
  90. popd;
  91. }
  92. elseif($env:DC -eq "ldc"){
  93. echo "downloading ...";
  94. $url = ResolveLatestLDC;
  95. echo $url;
  96. Invoke-WebRequest $url -OutFile "c:\ldc.zip";
  97. echo "finished.";
  98. pushd c:\\;
  99. 7z x ldc.zip > $null;
  100. popd;
  101. }
  102. }
  103. - ps: SetUpDCompiler
  104.  
  105. build_script:
  106. - ps: if($env:arch -eq "x86"){
  107. $env:compilersetupargs = "x86";
  108. $env:Darch = "x86";
  109. $env:DConf = "m32";
  110. }elseif($env:arch -eq "x64"){
  111. $env:compilersetupargs = "amd64";
  112. $env:Darch = "x86_64";
  113. $env:DConf = "m64";
  114. }
  115. - ps: $env:compilersetup = "C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\vcvarsall";
  116. - '"%compilersetup%" %compilersetupargs%'
  117.  
  118. test_script:
  119. - echo %PLATFORM%
  120. - echo %Darch%
  121. - echo %DC%
  122. - echo %PATH%
  123. - '%DC% --version'
  124. - dub test --arch=%Darch% --compiler=%DC%