• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# Use, modification, and distribution are
2# subject to the Boost Software License, Version 1.0. (See accompanying
3# file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
4#
5# Copyright Rene Rivera 2015-2019.
6
7trigger:
8  branches:
9    include:
10    - develop
11    - master
12    - feature/*
13  paths:
14    exclude:
15    - appveyor.yml
16pr:
17  branches:
18    include:
19    - develop
20  paths:
21    exclude:
22    - appveyor.yml
23
24stages:
25
26- stage: Test
27  jobs:
28
29  - job: 'Linux'
30    pool:
31      vmImage: 'ubuntu-16.04'
32    strategy:
33      matrix:
34        GCC 9:
35          TOOLSET: gcc
36          TEST_TOOLSET: gcc
37          CXX: g++-9
38          PACKAGES: g++-9
39        GCC 8:
40          TOOLSET: gcc
41          TEST_TOOLSET: gcc
42          CXX: g++-8
43          PACKAGES: g++-8
44        GCC 7:
45          TOOLSET: gcc
46          TEST_TOOLSET: gcc
47          CXX: g++-7
48          PACKAGES: g++-7
49        GCC 6:
50          TOOLSET: gcc
51          TEST_TOOLSET: gcc
52          CXX: g++-6
53          PACKAGES: g++-6
54        GCC 5:
55          TOOLSET: gcc
56          TEST_TOOLSET: gcc
57          CXX: g++-5
58          PACKAGES: g++-5
59        GCC 4.9:
60          TOOLSET: gcc
61          TEST_TOOLSET: gcc
62          CXX: g++-4.9
63          PACKAGES: g++-4.9
64        GCC 4.8:
65          TOOLSET: gcc
66          TEST_TOOLSET: gcc
67          CXX: g++-4.8
68          PACKAGES: g++-4.8
69        GCC 4.7:
70          TOOLSET: gcc
71          TEST_TOOLSET: gcc
72          CXX: g++-4.7
73          PACKAGES: g++-4.7
74        Clang 9:
75          TOOLSET: clang
76          TEST_TOOLSET: clang
77          CXX: clang++-9
78          PACKAGES: clang-9
79          LLVM_REPO: llvm-toolchain-xenial-9
80        Clang 8:
81          TOOLSET: clang
82          TEST_TOOLSET: clang
83          CXX: clang++-8
84          PACKAGES: clang-8
85          LLVM_REPO: llvm-toolchain-xenial-8
86        Clang 7:
87          TOOLSET: clang
88          TEST_TOOLSET: clang
89          CXX: clang++-7
90          PACKAGES: clang-7
91          LLVM_REPO: llvm-toolchain-xenial-7
92        Clang 6:
93          TOOLSET: clang
94          TEST_TOOLSET: clang
95          CXX: clang++-6.0
96          PACKAGES: clang-6.0
97          LLVM_REPO: llvm-toolchain-xenial-6.0
98        Clang 5:
99          TOOLSET: clang
100          TEST_TOOLSET: clang
101          CXX: clang++-5.0
102          PACKAGES: clang-5.0
103          LLVM_REPO: llvm-toolchain-xenial-5.0
104        Clang 4:
105          TOOLSET: clang
106          TEST_TOOLSET: clang
107          CXX: clang++-4.0
108          PACKAGES: clang-4.0
109          LLVM_REPO: llvm-toolchain-xenial-4.0
110        Clang 3.9:
111          TOOLSET: clang
112          TEST_TOOLSET: clang
113          CXX: clang++-3.9
114          PACKAGES: clang-3.9
115        Clang 3.8:
116          TOOLSET: clang
117          TEST_TOOLSET: clang
118          CXX: clang++-3.8
119          PACKAGES: clang-3.8
120        Clang 3.7:
121          TOOLSET: clang
122          TEST_TOOLSET: clang
123          CXX: clang++-3.7
124          PACKAGES: clang-3.7
125        Clang 3.6:
126          TOOLSET: clang
127          TEST_TOOLSET: clang
128          CXX: clang++-3.6
129          PACKAGES: clang-3.6
130        Clang 3.5:
131          TOOLSET: clang
132          TEST_TOOLSET: clang
133          CXX: clang++-3.5
134          PACKAGES: clang-3.5
135    steps:
136    - bash: |
137          set -e
138          uname -a
139          sudo -E apt-add-repository -y "ppa:ubuntu-toolchain-r/test"
140          if test -n "${LLVM_REPO}" ; then
141            wget -O - https://apt.llvm.org/llvm-snapshot.gpg.key | sudo apt-key add -
142            sudo -E apt-add-repository "deb http://apt.llvm.org/xenial/ ${LLVM_REPO} main"
143          fi
144          sudo -E apt-get -o Acquire::Retries=3 update
145          sudo -E apt-get -o Acquire::Retries=3 -yq --no-install-suggests --no-install-recommends install ${PACKAGES}
146      displayName: Install
147    - bash: |
148          set -e
149          cd src/engine
150          set PATH=${PATH};${CXX_PATH}
151          ./build.sh ${TOOLSET}
152          ./b2 -v
153          cd ../..
154      displayName: Build
155    - bash: |
156          set -e
157          CXX_PATH=`which ${CXX}`
158          cd test
159          echo "using ${TEST_TOOLSET} : : ${CXX_PATH} ;" > ${HOME}/user-config.jam
160          python test_all.py ${TEST_TOOLSET}
161          cd ..
162      displayName: Test
163    - bash: |
164          set -e
165          CXX_PATH=`which ${CXX}`
166          echo "using ${TEST_TOOLSET} : : ${CXX_PATH} ;" > ${HOME}/user-config.jam
167          ./src/engine/b2 b2 warnings-as-errors=on toolset=${TEST_TOOLSET}
168      displayName: "No Warnings"
169    - bash: |
170          set -e
171          CXX_PATH=`which ${CXX}`
172          echo "using ${TEST_TOOLSET} : : ${CXX_PATH} ;" > ${HOME}/user-config.jam
173          ./bootstrap.sh ${TOOLSET}
174          ./b2 --prefix=./.b2 install ${TEST_TOOLSET}
175      displayName: Bootstrap
176
177  - job: 'Windows'
178    strategy:
179      matrix:
180        VS 2019:
181          TOOLSET: vc142
182          TEST_TOOLSET: msvc
183          VM_IMAGE: 'windows-2019'
184        VS 2017:
185          TOOLSET: vc141
186          TEST_TOOLSET: msvc
187          VM_IMAGE: 'vs2017-win2016'
188        MinGW 8.1.0:
189          TOOLSET: mingw
190          TEST_TOOLSET: gcc
191          VM_IMAGE: 'vs2017-win2016'
192    pool:
193      vmImage: $(VM_IMAGE)
194    steps:
195    - powershell: |
196          cd src/engine
197          $env:path += ';' + $env:CXX_PATH
198          cmd /c build.bat $env:TOOLSET
199          ./b2.exe -v
200          cd ../..
201      displayName: Build
202    - powershell: |
203          $env:HOME = $env:HOMEDRIVE + $env:HOMEPATH
204          cd test
205          echo "using" $env:TEST_TOOLSET ":" ":" $env:CXX ";" > $env:HOME/user-config.jam
206          python test_all.py $env:TEST_TOOLSET
207          cd ..
208      displayName: Test
209    - powershell: |
210          $env:HOME = $env:HOMEDRIVE + $env:HOMEPATH
211          $env:path += ';' + $env:CXX_PATH
212          echo "using" $env:TEST_TOOLSET ":" ":" $env:CXX ";" > $env:HOME/user-config.jam
213          ./src/engine/b2.exe --debug-configuration b2 warnings-as-errors=on toolset=$env:TEST_TOOLSET
214      displayName: "No Warnings"
215    - powershell: |
216          $env:HOME = $env:HOMEDRIVE + $env:HOMEPATH
217          $env:path += ';' + $env:CXX_PATH
218          echo "using" $env:TEST_TOOLSET ":" ":" $env:CXX ";" > $env:HOME/user-config.jam
219          ./bootstrap.bat $env:TOOLSET
220          ./b2.exe --debug-configuration --prefix=./.b2 install toolset=$env:TEST_TOOLSET
221      displayName: Bootstrap
222
223  - job: 'macOS'
224    strategy:
225      matrix:
226        Xcode 11.4:
227          TOOLSET: clang
228          TEST_TOOLSET: clang
229          CXX: clang++
230          XCODE_APP: /Applications/Xcode_11.4_beta.app
231          VM_IMAGE: 'macOS-10.15'
232        Xcode 11.3.1:
233          TOOLSET: clang
234          TEST_TOOLSET: clang
235          CXX: clang++
236          XCODE_APP: /Applications/Xcode_11.3.1.app
237          VM_IMAGE: 'macOS-10.15'
238        Xcode 11.3:
239          TOOLSET: clang
240          TEST_TOOLSET: clang
241          CXX: clang++
242          XCODE_APP: /Applications/Xcode_11.3.app
243          VM_IMAGE: 'macOS-10.15'
244        Xcode 11.2:
245          TOOLSET: clang
246          TEST_TOOLSET: clang
247          CXX: clang++
248          XCODE_APP: /Applications/Xcode_11.2.app
249          VM_IMAGE: 'macOS-10.15'
250        Xcode 11.1:
251          TOOLSET: clang
252          TEST_TOOLSET: clang
253          CXX: clang++
254          XCODE_APP: /Applications/Xcode_11.1.app
255          VM_IMAGE: 'macOS-10.15'
256        Xcode 11.0:
257          TOOLSET: clang
258          TEST_TOOLSET: clang
259          CXX: clang++
260          XCODE_APP: /Applications/Xcode_11.app
261          VM_IMAGE: 'macOS-10.15'
262        Xcode 10.2.1:
263          TOOLSET: clang
264          TEST_TOOLSET: clang
265          CXX: clang++
266          XCODE_APP: /Applications/Xcode_10.2.1.app
267          VM_IMAGE: 'macOS-10.14'
268        Xcode 10.2:
269          TOOLSET: clang
270          TEST_TOOLSET: clang
271          CXX: clang++
272          XCODE_APP: /Applications/Xcode_10.2.app
273          VM_IMAGE: 'macOS-10.14'
274        Xcode 10.1:
275          TOOLSET: clang
276          TEST_TOOLSET: clang
277          CXX: clang++
278          XCODE_APP: /Applications/Xcode_10.1.app
279          VM_IMAGE: 'macOS-10.14'
280        Xcode 10.0:
281          TOOLSET: clang
282          TEST_TOOLSET: clang
283          CXX: clang++
284          XCODE_APP: /Applications/Xcode_10.app
285          VM_IMAGE: 'macOS-10.14'
286    pool:
287      vmImage: $(VM_IMAGE)
288    steps:
289    - bash: |
290        set -e
291        uname -a
292        sudo xcode-select -switch ${XCODE_APP}
293        which clang++
294      displayName: Install
295    - bash: |
296        set -e
297        cd src/engine
298        ./build.sh ${TOOLSET}
299        ./b2 -v
300        cd ../..
301      displayName: Build
302    - bash: |
303        set -e
304        CXX_PATH=`which ${CXX}`
305        cd test
306        echo "using ${TEST_TOOLSET} : : ${CXX_PATH} ;" > ${HOME}/user-config.jam
307        python test_all.py ${TEST_TOOLSET}
308        cd ..
309      displayName: Test
310    - bash: |
311        set -e
312        CXX_PATH=`which ${CXX}`
313        echo "using ${TEST_TOOLSET} : : ${CXX_PATH} ;" > ${HOME}/user-config.jam
314        ./src/engine/b2 b2 warnings-as-errors=on toolset=${TEST_TOOLSET}
315      displayName: "No Warnings"
316    - bash: |
317        set -e
318        CXX_PATH=`which ${CXX}`
319        echo "using ${TEST_TOOLSET} : : ${CXX_PATH} ;" > ${HOME}/user-config.jam
320        ./bootstrap.sh ${TOOLSET}
321        ./b2 --prefix=./.b2 install ${TEST_TOOLSET}
322      displayName: Bootstrap
323
324- stage: Boost
325  jobs:
326
327  - job: 'Release_Linux'
328    displayName: 'Release Linux'
329    pool:
330      vmImage: 'ubuntu-latest'
331    strategy:
332      matrix:
333        1.72.0 .. GCC 9:
334          BOOST_VERSION: 1.72.0
335          BOOST_VERSION_U: 1_72_0
336          TOOLSET: gcc
337          CXX: g++-9
338          PACKAGES: g++-9
339        1.71.0 .. GCC 9:
340          BOOST_VERSION: 1.71.0
341          BOOST_VERSION_U: 1_71_0
342          TOOLSET: gcc
343          CXX: g++-9
344          PACKAGES: g++-9
345        1.70.0 .. GCC 9:
346          BOOST_VERSION: 1.70.0
347          BOOST_VERSION_U: 1_70_0
348          TOOLSET: gcc
349          CXX: g++-9
350          PACKAGES: g++-9
351        1.69.0 .. GCC 9:
352          BOOST_VERSION: 1.69.0
353          BOOST_VERSION_U: 1_69_0
354          TOOLSET: gcc
355          CXX: g++-9
356          PACKAGES: g++-9
357        1.68.0 .. GCC 9:
358          BOOST_VERSION: 1.68.0
359          BOOST_VERSION_U: 1_68_0
360          TOOLSET: gcc
361          CXX: g++-9
362          PACKAGES: g++-9
363        1.67.0 .. GCC 9:
364          BOOST_VERSION: 1.67.0
365          BOOST_VERSION_U: 1_67_0
366          TOOLSET: gcc
367          CXX: g++-9
368          PACKAGES: g++-9
369        1.66.0 .. GCC 9:
370          BOOST_VERSION: 1.66.0
371          BOOST_VERSION_U: 1_66_0
372          TOOLSET: gcc
373          CXX: g++-9
374          PACKAGES: g++-9
375    steps:
376    - bash: |
377          set -e
378          uname -a
379          sudo -E apt-add-repository -y "ppa:ubuntu-toolchain-r/test"
380          if test -n "${LLVM_REPO}" ; then
381            wget -O - https://apt.llvm.org/llvm-snapshot.gpg.key | sudo apt-key add -
382            sudo -E apt-add-repository "deb http://apt.llvm.org/xenial/ ${LLVM_REPO} main"
383          fi
384          sudo -E apt-get -o Acquire::Retries=3 update
385          sudo -E apt-get -o Acquire::Retries=3 -yq --no-install-suggests --no-install-recommends install ${PACKAGES}
386      displayName: Install
387    - bash: |
388          set -e
389          cd src/engine
390          ./build.sh ${TOOLSET}
391          ./b2 -v
392      displayName: Build
393    - bash: |
394          set -e
395          pushd ${HOME}
396          git clone -b boost-${BOOST_VERSION} --single-branch --recurse-submodules https://github.com/boostorg/boost.git boost_${BOOST_VERSION_U}
397          cd boost_${BOOST_VERSION_U}
398          CXX_PATH=`which ${CXX}`
399          echo "using ${TOOLSET} : : ${CXX_PATH} ;" > ${HOME}/user-config.jam
400          "${BUILD_SOURCESDIRECTORY}/src/engine/b2" "--boost-build=${BUILD_SOURCESDIRECTORY}/src" --debug-configuration --build-type=complete --layout=versioned -n -d1 toolset=${TOOLSET} install
401          popd
402      displayName: Test
403
404  - job: 'Dev_Linux'
405    displayName: 'Dev Linux'
406    pool:
407      vmImage: 'ubuntu-latest'
408    strategy:
409      matrix:
410        Master .. GCC 9:
411          BOOST_BRANCH: master
412          TOOLSET: gcc
413          CXX: g++-9
414          PACKAGES: g++-9
415        Master .. Clang 8:
416          BOOST_BRANCH: master
417          TOOLSET: clang
418          CXX: clang++-8
419          PACKAGES: clang-8
420          LLVM_REPO: llvm-toolchain-xenial-8
421        Develop .. GCC 9:
422          BOOST_BRANCH: develop
423          TOOLSET: gcc
424          CXX: g++-9
425          PACKAGES: g++-9
426        Develop .. Clang 8:
427          BOOST_BRANCH: develop
428          TOOLSET: clang
429          CXX: clang++-8
430          PACKAGES: clang-8
431          LLVM_REPO: llvm-toolchain-xenial-8
432    steps:
433    - bash: |
434          set -e
435          uname -a
436          sudo -E apt-add-repository -y "ppa:ubuntu-toolchain-r/test"
437          if test -n "${LLVM_REPO}" ; then
438            wget -O - https://apt.llvm.org/llvm-snapshot.gpg.key | sudo apt-key add -
439            sudo -E apt-add-repository "deb http://apt.llvm.org/xenial/ ${LLVM_REPO} main"
440          fi
441          sudo -E apt-get -o Acquire::Retries=3 update
442          sudo -E apt-get -o Acquire::Retries=3 -yq --no-install-suggests --no-install-recommends install ${PACKAGES}
443      displayName: Install
444    - bash: |
445          set -e
446          cd src/engine
447          ./build.sh ${TOOLSET}
448          ./b2 -v
449      displayName: Build
450    - bash: |
451        set -e
452        pushd ${HOME}
453        git clone --recursive https://github.com/boostorg/boost.git
454        cd boost
455        git checkout ${BOOST_BRANCH}
456        CXX_PATH=`which ${CXX}`
457        echo "using ${TOOLSET} : : ${CXX_PATH} ;" > ${HOME}/user-config.jam
458        "${BUILD_SOURCESDIRECTORY}/src/engine/b2" "--boost-build=${BUILD_SOURCESDIRECTORY}/src" --debug-configuration --build-type=complete --layout=versioned -n -d1 toolset=${TOOLSET} install
459        popd
460      displayName: Test
461
462  - job: 'Release_macOS'
463    displayName: 'Release macOS'
464    pool:
465      vmImage: 'macOS-latest'
466    strategy:
467      matrix:
468        1.72.0 .. Xcode 11.3.1:
469          BOOST_VERSION: 1.72.0
470          BOOST_VERSION_U: 1_72_0
471          TOOLSET: clang
472          CXX: clang++
473          XCODE_APP: /Applications/Xcode_11.3.1.app
474        1.71.0 .. Xcode 11.3.1:
475          BOOST_VERSION: 1.71.0
476          BOOST_VERSION_U: 1_71_0
477          TOOLSET: clang
478          CXX: clang++
479          XCODE_APP: /Applications/Xcode_11.3.1.app
480        1.70.0 .. Xcode 11.3.1:
481          BOOST_VERSION: 1.70.0
482          BOOST_VERSION_U: 1_70_0
483          TOOLSET: clang
484          CXX: clang++
485          XCODE_APP: /Applications/Xcode_11.3.1.app
486        1.69.0 .. Xcode 11.3.1:
487          BOOST_VERSION: 1.69.0
488          BOOST_VERSION_U: 1_69_0
489          TOOLSET: clang
490          CXX: clang++
491          XCODE_APP: /Applications/Xcode_11.3.1.app
492        1.68.0 .. Xcode 11.3.1:
493          BOOST_VERSION: 1.68.0
494          BOOST_VERSION_U: 1_68_0
495          TOOLSET: clang
496          CXX: clang++
497          XCODE_APP: /Applications/Xcode_11.2.app
498        1.67.0 .. Xcode 11.3.1:
499          BOOST_VERSION: 1.67.0
500          BOOST_VERSION_U: 1_67_0
501          TOOLSET: clang
502          CXX: clang++
503          XCODE_APP: /Applications/Xcode_11.3.1.app
504        1.66.0 .. Xcode 11.3.1:
505          BOOST_VERSION: 1.66.0
506          BOOST_VERSION_U: 1_66_0
507          TOOLSET: clang
508          CXX: clang++
509          XCODE_APP: /Applications/Xcode_11.3.1.app
510    steps:
511    - bash: |
512        set -e
513        uname -a
514        sudo xcode-select -switch ${XCODE_APP}
515        which clang++
516      displayName: Install
517    - bash: |
518        set -e
519        cd src/engine
520        ./build.sh ${TOOLSET}
521        ./b2 -v
522      displayName: Build
523    - bash: |
524        set -e
525        pushd ${HOME}
526        git clone -b boost-${BOOST_VERSION} --single-branch --recurse-submodules https://github.com/boostorg/boost.git boost_${BOOST_VERSION_U}
527        cd boost_${BOOST_VERSION_U}
528        CXX_PATH=`which ${CXX}`
529        echo "using ${TOOLSET} : : ${CXX_PATH} ;" > ${HOME}/user-config.jam
530        "${BUILD_SOURCESDIRECTORY}/src/engine/b2" "--boost-build=${BUILD_SOURCESDIRECTORY}/src" --debug-configuration --build-type=complete --layout=versioned -n -d1 toolset=${TOOLSET} install
531        popd
532      displayName: Test
533
534  - job: 'Dev_macOS'
535    displayName: 'Dev macOS'
536    pool:
537      vmImage: 'macOS-latest'
538    strategy:
539      matrix:
540        Master .. Xcode 11.3.1:
541          BOOST_BRANCH: master
542          TOOLSET: clang
543          CXX: clang++
544          XCODE_APP: /Applications/Xcode_11.3.1.app
545        Develop .. Xcode 11.3.1:
546          BOOST_BRANCH: develop
547          TOOLSET: clang
548          CXX: clang++
549          XCODE_APP: /Applications/Xcode_11.3.1.app
550    steps:
551    - bash: |
552        set -e
553        uname -a
554        sudo xcode-select -switch ${XCODE_APP}
555        which clang++
556      displayName: Install
557    - bash: |
558        set -e
559        cd src/engine
560        ./build.sh ${TOOLSET}
561        ./b2 -v
562      displayName: Build
563    - bash: |
564        set -e
565        pushd ${HOME}
566        git clone --recursive https://github.com/boostorg/boost.git
567        cd boost
568        git checkout ${BOOST_BRANCH}
569        CXX_PATH=`which ${CXX}`
570        echo "using ${TOOLSET} : : ${CXX_PATH} ;" > ${HOME}/user-config.jam
571        "${BUILD_SOURCESDIRECTORY}/src/engine/b2" "--boost-build=${BUILD_SOURCESDIRECTORY}/src" --debug-configuration --build-type=complete --layout=versioned -n -d1 toolset=${TOOLSET} install
572        popd
573      displayName: Test
574
575  - job: 'Release_Windows'
576    displayName: 'Release Windows'
577    pool:
578      vmImage: 'windows-latest'
579    strategy:
580      matrix:
581        1.73.0 .. VS 2019:
582          BOOST_VERSION: 1.73.0
583          BOOST_VERSION_U: 1_73_0
584          TOOLSET: vc142
585        1.72.0 .. VS 2019:
586          BOOST_VERSION: 1.72.0
587          BOOST_VERSION_U: 1_72_0
588          TOOLSET: vc142
589        1.71.0 .. VS 2019:
590          BOOST_VERSION: 1.71.0
591          BOOST_VERSION_U: 1_71_0
592          TOOLSET: vc142
593        1.70.0 .. VS 2019:
594          BOOST_VERSION: 1.70.0
595          BOOST_VERSION_U: 1_70_0
596          TOOLSET: vc142
597        1.69.0 .. VS 2019:
598          BOOST_VERSION: 1.69.0
599          BOOST_VERSION_U: 1_69_0
600          TOOLSET: vc142
601        1.68.0 .. VS 2019:
602          BOOST_VERSION: 1.68.0
603          BOOST_VERSION_U: 1_68_0
604          TOOLSET: vc142
605        1.67.0 .. VS 2019:
606          BOOST_VERSION: 1.67.0
607          BOOST_VERSION_U: 1_67_0
608          TOOLSET: vc142
609        1.66.0 .. VS 2019:
610          BOOST_VERSION: 1.66.0
611          BOOST_VERSION_U: 1_66_0
612          TOOLSET: vc142
613    steps:
614    - powershell: |
615        cd src/engine
616        $env:path += ';' + ${env:CXX_PATH}
617        cmd /c build.bat ${env:TOOLSET}
618        ./b2.exe -v
619        cd ../..
620      displayName: Build
621    - powershell: |
622        $env:HOME = "$env:HOMEDRIVE" + "$env:HOMEPATH"
623        cd "${env:HOME}"
624        git clone -b boost-${env:BOOST_VERSION} --single-branch --recurse-submodules https://github.com/boostorg/boost.git boost_${env:BOOST_VERSION_U}
625        cd "boost_${env:BOOST_VERSION_U}"
626        echo "using" "msvc" ";" > "${env:HOME}/user-config.jam"
627        & "${env:BUILD_SOURCESDIRECTORY}\src\engine\b2.exe" "--boost-build=${env:BUILD_SOURCESDIRECTORY}/src" --debug-configuration --build-type=complete --layout=versioned -n -d1 toolset=msvc install
628      displayName: Test
629
630  - job: 'Dev_Windows'
631    displayName: 'Dev Windows'
632    pool:
633      vmImage: 'windows-latest'
634    strategy:
635      matrix:
636        Master .. VS 2019:
637          BOOST_BRANCH: master
638          TOOLSET: vc142
639        Develop .. VS 2019:
640          BOOST_BRANCH: develop
641          TOOLSET: vc142
642    steps:
643    - powershell: |
644        cd src/engine
645        $env:path += ';' + ${env:CXX_PATH}
646        cmd /c build.bat ${env:TOOLSET}
647        ./b2.exe -v
648        cd ../..
649      displayName: Build
650    - powershell: |
651        $env:HOME = "$env:HOMEDRIVE" + "$env:HOMEPATH"
652        cd "${env:HOME}"
653        git clone --recursive https://github.com/boostorg/boost.git
654        cd boost
655        $OriginalErrorActionPreference = $ErrorActionPreference
656        $ErrorActionPreference= 'silentlycontinue'
657        git checkout "${env:BOOST_BRANCH}"
658        $ErrorActionPreference = $OriginalErrorActionPreference
659        echo "using" "msvc" ";" > "${env:HOME}/user-config.jam"
660        & "${env:BUILD_SOURCESDIRECTORY}\src\engine\b2.exe" "--boost-build=${env:BUILD_SOURCESDIRECTORY}/src" --debug-configuration --build-type=complete --layout=versioned -n -d1 toolset=msvc install
661      displayName: Test
662
663- stage: WebsiteUpdate
664  displayName: 'Website Update'
665  condition: in(variables['Build.SourceBranch'], 'refs/heads/master', 'refs/heads/develop')
666  jobs:
667
668  - job: Documentation
669    pool:
670      vmImage: 'ubuntu-16.04'
671    steps:
672    - task: UsePythonVersion@0
673      inputs:
674        versionSpec: '2.x'
675    - task: UseRubyVersion@0
676    - bash: |
677        pip install --user Pygments
678        pip install --user "https://github.com/bfgroup/jam_pygments/archive/master.zip"
679        gem install asciidoctor
680        gem install pygments.rb
681        echo "using asciidoctor ;" >> project-config.jam
682        ./bootstrap.sh
683        pushd doc
684        ../b2 --website-doc-dir=manual/$(Build.SourceBranchName) website
685      displayName: 'Build & Publish'
686      env:
687        GH_TOKEN: $(GitHubToken)
688