aboutsummaryrefslogtreecommitdiffstats
path: root/appveyor.yml
blob: de2d2e4413f60aaf4d9fe788e51d837160c7bd45 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
-
  branches:
    only:
      - trunk
  shallow_clone: true
  platform:
    - x64
  environment:
    ruby_version: "24-%Platform%"
    zlib_version: "1.2.11"
    matrix:
      - vs: "120"
  install:
    - chcp
    - SET BITS=%Platform:x86=32%
    - SET BITS=%BITS:x=%
    - SET OPENSSL_DIR=c:\OpenSSL-Win%BITS%
    - CALL SET vcvars=%%^VS%VS%COMNTOOLS^%%..\..\VC\vcvarsall.bat
    - SET vcvars
    - '"%vcvars%" %Platform:x64=amd64%'
    - SET ruby_path=C:\Ruby%ruby_version:-x86=%
    - SET PATH=\usr\local\bin;%ruby_path%\bin;%PATH%;C:\msys64\mingw64\bin;C:\msys64\usr\bin
    - ruby --version
    - 'cl'
    - SET
    - echo> Makefile srcdir=.
    - echo>> Makefile MSC_VER=0
    - echo>> Makefile RT=none
    - echo>> Makefile RT_VER=0
    - echo>> Makefile BUILTIN_ENCOBJS=nul
    - type win32\Makefile.sub >> Makefile
    - nmake %mflags% touch-unicode-files
    - nmake %mflags% up incs UNICODE_FILES=.
    - del Makefile
    - mkdir \usr\local\bin
    - mkdir \usr\local\include
    - mkdir \usr\local\lib
    - appveyor DownloadFile https://zlib.net/zlib%zlib_version:.=%.zip
    - 7z x -o%APPVEYOR_BUILD_FOLDER%\ext\zlib zlib%zlib_version:.=%.zip
    - for %%I in (%OPENSSL_DIR%\*.dll) do mklink /h \usr\local\bin\%%~nxI %%I
    - mkdir %Platform%-mswin_%vs%
    - ps: Get-ChildItem "win32" -Recurse | foreach {$_.Attributes = 'Readonly'}
    - ps: Get-Item $env:Platform"-mswin_"$env:vs | foreach {$_.Attributes = 'Normal'}
  build_script:
    - cd %APPVEYOR_BUILD_FOLDER%
    - cd %Platform%-mswin_%vs%
    - ..\win32\configure.bat --without-ext=+,dbm,gdbm,readline --with-opt-dir=/usr/local --with-openssl-dir=%OPENSSL_DIR:\=/%
    - nmake -l
    - nmake install-nodoc
    - \usr\bin\ruby -v -e "p :locale => Encoding.find('locale'), :filesystem => Encoding.find('filesystem')"
  test_script:
    - set /a JOBS=%NUMBER_OF_PROCESSORS%
    - nmake -l "TESTOPTS=-v -q" btest
    - nmake -l "TESTOPTS=-v -q" test-basic
    - nmake -l "TESTOPTS=-q -j%JOBS%" test-all
    - nmake -l test-spec
  matrix:
    fast_finish: true
  notifications:
    - provider: Slack
      incoming_webhook:
        secure: iMINHMS0nZabaDsxN9omRDsekxzVvAAzEq5ev7lN6vZ6r9zNhl3/F/7POIVyahAwVFpRDeQT/iUugpAGWmOt3eGL/lZIdqiJFZ9DjPSkP68= # #alerts
      on_build_success: false
      on_build_failure: true
      on_build_status_changed: true

# Just copy of above except "branches" and "notifications"
# We can't configure conditional notification: https://github.com/appveyor/ci/issues/272
-
  branches:
    except:
      - trunk
  shallow_clone: true
  platform:
    - x64
  environment:
    ruby_version: "24-%Platform%"
    zlib_version: "1.2.11"
    matrix:
      - vs: "120"
  install:
    - chcp
    - SET BITS=%Platform:x86=32%
    - SET BITS=%BITS:x=%
    - SET OPENSSL_DIR=c:\OpenSSL-Win%BITS%
    - CALL SET vcvars=%%^VS%VS%COMNTOOLS^%%..\..\VC\vcvarsall.bat
    - SET vcvars
    - '"%vcvars%" %Platform:x64=amd64%'
    - SET ruby_path=C:\Ruby%ruby_version:-x86=%
    - SET PATH=\usr\local\bin;%ruby_path%\bin;%PATH%;C:\msys64\mingw64\bin;C:\msys64\usr\bin
    - ruby --version
    - 'cl'
    - SET
    - echo> Makefile srcdir=.
    - echo>> Makefile MSC_VER=0
    - echo>> Makefile RT=none
    - echo>> Makefile RT_VER=0
    - echo>> Makefile BUILTIN_ENCOBJS=nul
    - type win32\Makefile.sub >> Makefile
    - nmake %mflags% touch-unicode-files
    - nmake %mflags% up incs UNICODE_FILES=.
    - del Makefile
    - mkdir \usr\local\bin
    - mkdir \usr\local\include
    - mkdir \usr\local\lib
    - appveyor DownloadFile https://zlib.net/zlib%zlib_version:.=%.zip
    - 7z x -o%APPVEYOR_BUILD_FOLDER%\ext\zlib zlib%zlib_version:.=%.zip
    - for %%I in (%OPENSSL_DIR%\*.dll) do mklink /h \usr\local\bin\%%~nxI %%I
    - mkdir %Platform%-mswin_%vs%
    - ps: Get-ChildItem "win32" -Recurse | foreach {$_.Attributes = 'Readonly'}
    - ps: Get-Item $env:Platform"-mswin_"$env:vs | foreach {$_.Attributes = 'Normal'}
  build_script:
    - cd %APPVEYOR_BUILD_FOLDER%
    - cd %Platform%-mswin_%vs%
    - ..\win32\configure.bat --without-ext=+,dbm,gdbm,readline --with-opt-dir=/usr/local --with-openssl-dir=%OPENSSL_DIR:\=/%
    - nmake -l
    - nmake install-nodoc
    - \usr\bin\ruby -v -e "p :locale => Encoding.find('locale'), :filesystem => Encoding.find('filesystem')"
  test_script:
    - set /a JOBS=%NUMBER_OF_PROCESSORS%
    - nmake -l "TESTOPTS=-v -q" btest
    - nmake -l "TESTOPTS=-v -q" test-basic
    - nmake -l "TESTOPTS=-q -j%JOBS%" test-all
    - nmake -l test-spec
  matrix:
    fast_finish: true