-
Notifications
You must be signed in to change notification settings - Fork 380
140 lines (137 loc) · 5.88 KB
/
windows.yml
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
127
128
129
130
131
132
133
134
135
136
137
138
139
140
name: windows
on:
push:
pull_request:
schedule:
- cron: '0 1 * * SUN'
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
jobs:
build:
strategy:
fail-fast: false
matrix:
include:
- name: VS2019WChar
vmimage: windows-2019
mpctype: vs2019
BuildPlatform: x64
BuildConfiguration: Debug
vcpkgarch: x64-windows
vcpkglibdir: debug/lib
vcpkgpackages: 'openssl xerces-c[xmlch-wchar]'
OptionalFeatures: uses_wchar=1
- name: VS2019Debug64
vmimage: windows-2019
mpctype: vs2019
BuildPlatform: x64
BuildConfiguration: Debug
vcpkgarch: x64-windows
vcpkglibdir: debug/lib
vcpkgpackages: openssl xerces-c
- name: VS2019Release64
vmimage: windows-2019
mpctype: vs2019
BuildPlatform: x64
BuildConfiguration: Release
vcpkgarch: x64-windows
vcpkglibdir: lib
vcpkgpackages: openssl xerces-c
- name: VS2019Debug32
vmimage: windows-2019
mpctype: vs2019
BuildPlatform: Win32
BuildConfiguration: Debug
vcpkgarch: x86-windows
vcpkglibdir: debug/lib
vcpkgpackages: openssl xerces-c
- name: VS2019Release32
vmimage: windows-2019
mpctype: vs2019
BuildPlatform: Win32
BuildConfiguration: Release
vcpkgarch: x86-windows
vcpkglibdir: lib
vcpkgpackages: openssl xerces-c
- name: VS2019Debug64Cxx17
vmimage: windows-2019
mpctype: vs2019
BuildPlatform: x64
BuildConfiguration: Debug
vcpkgarch: x64-windows
vcpkglibdir: debug/lib
vcpkgpackages: openssl xerces-c zlib
OptionalMpcArgs: -value_template LanguageStandard=stdcpp17
- name: VS2019Debug64Cxx20
vmimage: windows-2019
mpctype: vs2019
BuildPlatform: x64
BuildConfiguration: Debug
vcpkgarch: x64-windows
vcpkglibdir: debug/lib
vcpkgpackages: openssl xerces-c zlib
OptionalMpcArgs: -value_template LanguageStandard=stdcpp20
runs-on: ${{ matrix.vmimage }}
name: ${{ matrix.name }}
env:
ACE_ROOT: ${{ github.workspace }}/ACE
TAO_ROOT: ${{ github.workspace }}/TAO
MPC_ROOT: ${{ github.workspace }}/MPC
VCPKG_ROOT: ${{ github.workspace }}/vcpkg
XERCESC_INCDIR: ${{ github.workspace }}/vcpkg/installed/${{ matrix.vcpkgarch }}/include
XERCESC_LIBDIR: ${{ github.workspace }}/vcpkg/installed/${{ matrix.vcpkgarch }}/${{ matrix.vcpkglibdir }}
SSL_INCDIR: ${{ github.workspace }}/vcpkg/installed/${{ matrix.vcpkgarch }}/include
SSL_LIBDIR: ${{ github.workspace }}/vcpkg/installed/${{ matrix.vcpkgarch }}/${{ matrix.vcpkglibdir }}
steps:
- name: checkout ACE/TAO
uses: actions/checkout@v2
- name: checkout MPC
uses: actions/checkout@v2
with:
repository: DOCGroup/MPC
path: ${{ env.MPC_ROOT }}
- name: Install vcpkg
uses: lukka/run-vcpkg@v7
with:
vcpkgGitCommitId: b86c0c35b88e2bf3557ff49dc831689c2f085090
vcpkgArguments: --recurse ${{ matrix.vcpkgpackages }}
vcpkgTriplet: ${{ matrix.vcpkgarch }}
appendedCacheKey: ${{ matrix.name }}
- name: create $ACE_ROOT/ace/config.h
run: |
'#include "ace/config-win32.h"' > ${env:ACE_ROOT}/ace/config.h
shell: pwsh
- name: create $ACE_ROOT/bin/MakeProjectCreator/config/default.features
run: |
echo "ipv6=1" | out-file -encoding ASCII ${env:ACE_ROOT}/bin/MakeProjectCreator/config/default.features
echo "xerces3=1" | out-file -encoding ASCII ${env:ACE_ROOT}/bin/MakeProjectCreator/config/default.features
echo "ssl=1" | out-file -append -encoding ASCII ${env:ACE_ROOT}/bin/MakeProjectCreator/config/default.features
echo "openssl11=1" | out-file -append -encoding ASCII ${env:ACE_ROOT}/bin/MakeProjectCreator/config/default.features
echo "versioned_namespace=1" | out-file -append -encoding ASCII ${env:ACE_ROOT}/bin/MakeProjectCreator/config/default.features
shell: pwsh
- name: Add optional features ${{ matrix.OptionalFeatures }}
run: |
echo "${{ matrix.OptionalFeatures }}" | out-file -append -encoding ASCII ${env:ACE_ROOT}/bin/MakeProjectCreator/config/default.features
shell: pwsh
if: matrix.OptionalFeatures != ''
- name: Run mwc.pl on $(TAO_ROOT)/TAO_ACE.mwc
run: |
perl ${env:ACE_ROOT}/bin/mwc.pl -type ${{ matrix.mpctype }} ${env:TAO_ROOT}/TAO_ACE.mwc -workers 4 ${{ matrix.OptionalMpcArgs }}
shell: pwsh
- name: Run mwc.pl on $(ACE_ROOT)/tests/tests.mwc
run: |
perl ${env:ACE_ROOT}/bin/mwc.pl -type ${{ matrix.mpctype }} ${env:ACE_ROOT}/tests/tests.mwc -workers 4 ${{ matrix.OptionalMpcArgs }}
shell: pwsh
- name: Run mwc.pl on $(TAO_ROOT)/tests/IDL_Test
run: |
perl ${env:ACE_ROOT}/bin/mwc.pl -type ${{ matrix.mpctype }} ${env:TAO_ROOT}/tests/IDL_Test -workers 4 ${{ matrix.OptionalMpcArgs }}
shell: pwsh
- name: Setup msbuild
uses: microsoft/setup-msbuild@v1
- name: Build solution TAO/TAO_ACE.sln
run: msbuild -maxcpucount -p:Platform=${{ matrix.BuildPlatform }} -p:Configuration=${{ matrix.BuildConfiguration }} TAO/TAO_ACE.sln
- name: Build solution ACE/tests/tests.sln
run: msbuild -maxcpucount -p:Platform=${{ matrix.BuildPlatform }} -p:Configuration=${{ matrix.BuildConfiguration }} ACE/tests/tests.sln
- name: Build solution TAO/tests/IDL_Test/IDL_Test.sln
run: msbuild -maxcpucount -p:Platform=${{ matrix.BuildPlatform }} -p:Configuration=${{ matrix.BuildConfiguration }} TAO/tests/IDL_Test/IDL_Test.sln