10 group: ${{ github.workflow }}-${{ github.ref }}
11 cancel-in-progress: true
22 platform_file: include $(ACE_ROOT)/include/makeinclude/platform_linux.GNU
27 platform_file: include $(ACE_ROOT)/include/makeinclude/platform_linux.GNU
32 platform_file: include $(ACE_ROOT)/include/makeinclude/platform_linux.GNU
37 platform_file: include $(ACE_ROOT)/include/makeinclude/platform_linux.GNU
42 platform_file: include $(ACE_ROOT)/include/makeinclude/platform_linux.GNU
47 platform_file: include $(ACE_ROOT)/include/makeinclude/platform_linux.GNU
52 optional_macros: CCFLAGS+=-std=c++20
53 platform_file: include $(ACE_ROOT)/include/makeinclude/platform_linux.GNU
57 PackageDeps: clang-6.0
58 platform_file: include $(ACE_ROOT)/include/makeinclude/platform_linux_clang.GNU
63 platform_file: include $(ACE_ROOT)/include/makeinclude/platform_linux_clang.GNU
68 platform_file: include $(ACE_ROOT)/include/makeinclude/platform_linux_clang.GNU
73 Repo: llvm-toolchain-$(lsb_release -cs)-9
74 platform_file: include $(ACE_ROOT)/include/makeinclude/platform_linux_clang.GNU
79 Repo: llvm-toolchain-$(lsb_release -cs)-10
80 platform_file: include $(ACE_ROOT)/include/makeinclude/platform_linux_clang.GNU
85 Repo: llvm-toolchain-$(lsb_release -cs)-11
86 platform_file: include $(ACE_ROOT)/include/makeinclude/platform_linux_clang.GNU
88 - feature: CORBA/e micro
92 platform_file: include $(ACE_ROOT)/include/makeinclude/platform_linux.GNU
94 optional_feature: corba_e_micro=1
95 optional_macros: corba_e_micro=1
96 - feature: CORBA/e compact
100 platform_file: include $(ACE_ROOT)/include/makeinclude/platform_linux.GNU
102 optional_feature: corba_e_compact=1
103 optional_macros: corba_e_compact=1
104 - feature: ACE for TAO
108 platform_file: include $(ACE_ROOT)/include/makeinclude/platform_linux.GNU
110 optional_feature: ace_for_tao=1
111 optional_macros: ace_for_tao=1
116 platform_file: include $(ACE_ROOT)/include/makeinclude/platform_linux.GNU
118 optional_feature: uses_wchar=1
119 optional_macros: inline=0
124 platform_file: include $(ACE_ROOT)/include/makeinclude/platform_linux.GNU
126 runs-on: ${{ matrix.os }}
127 name: ${{ matrix.os }} ${{ matrix.CXX }} ${{ matrix.feature }}
129 ACE_ROOT: ${{ github.workspace }}/ACE
130 TAO_ROOT: ${{ github.workspace }}/TAO
131 MPC_ROOT: ${{ github.workspace }}/MPC
133 CXX: ${{ matrix.CXX }}
135 - name: checkout ACE/TAO
136 uses: actions/checkout@v2
138 uses: actions/checkout@v2
140 repository: DOCGroup/MPC
141 path: ${{ env.MPC_ROOT }}
142 - name: Add LLVM apt repo ${{ matrix.Repo }}
144 wget -O - https://apt.llvm.org/llvm-snapshot.gpg.key | sudo apt-key add -
145 sudo apt-add-repository "deb http://apt.llvm.org/$(lsb_release -cs)/ ${{ matrix.Repo }} main"
146 if: startsWith (matrix.Repo, 'llvm-toolchain')
147 - name: Add PPA apt repo ${{ matrix.Repo }}
149 sudo apt-add-repository ${{ matrix.Repo }}
150 if: startsWith (matrix.Repo, 'ppa:')
151 - name: Install apt packages
153 sudo apt-get --yes update
154 sudo apt-get --yes install libxerces-c-dev libssl-dev ${{ matrix.PackageDeps }}
155 - name: create $ACE_ROOT/ace/config.h
157 '#include "ace/config-linux.h"' > ${env:ACE_ROOT}/ace/config.h
159 - name: create $ACE_ROOT/include/makeinclude/platform_macros.GNU
161 'ipv6=1' > ${env:ACE_ROOT}/include/makeinclude/platform_macros.GNU
162 'xerces3=1' >> ${env:ACE_ROOT}/include/makeinclude/platform_macros.GNU
163 'ssl=1' >> ${env:ACE_ROOT}/include/makeinclude/platform_macros.GNU
165 - name: add optional optional macros
167 '${{ matrix.optional_macros }}' >> ${env:ACE_ROOT}/include/makeinclude/platform_macros.GNU
169 if: matrix.optional_macros != ''
170 - name: extend $ACE_ROOT/include/makeinclude/platform_macros.GNU
172 '${{ matrix.platform_file }}' >> ${env:ACE_ROOT}/include/makeinclude/platform_macros.GNU
174 - name: create $ACE_ROOT/bin/MakeProjectCreator/config/default.features
176 'ipv6=1' > ${env:ACE_ROOT}/bin/MakeProjectCreator/config/default.features
177 'xerces3=1' >> ${env:ACE_ROOT}/bin/MakeProjectCreator/config/default.features
178 'ssl=1' >> ${env:ACE_ROOT}/bin/MakeProjectCreator/config/default.features
179 'versioned_namespace=1' >> ${env:ACE_ROOT}/bin/MakeProjectCreator/config/default.features
181 - name: add optional optional feature
183 '${{ matrix.optional_feature }}' >> ${env:ACE_ROOT}/bin/MakeProjectCreator/config/default.features
184 if: matrix.optional_feature != ''
186 - name: initialize CodeQL
187 uses: github/codeql-action/init@v1
190 if: matrix.feature == 'CodeQL'
191 - name: Run mwc.pl on $(TAO_ROOT)/TAO_ACE.mwc
193 perl ${env:ACE_ROOT}/bin/mwc.pl -type gnuace ${env:TAO_ROOT}/TAO_ACE.mwc -workers 4
195 - name: Run mwc.pl on $(ACE_ROOT)/tests/tests.mwc
197 perl ${env:ACE_ROOT}/bin/mwc.pl -type gnuace ${env:ACE_ROOT}/tests/tests.mwc -workers 4
199 - name: Run mwc.pl on $(TAO_ROOT)/tests/IDL_Test
201 perl ${env:ACE_ROOT}/bin/mwc.pl -type gnuace ${env:TAO_ROOT}/tests/IDL_Test -workers 4
203 - name: Build TAO_ACE project
205 make -j 6 -C ${env:TAO_ROOT}
207 - name: Build ACE/tests project
209 make -j 6 -C ${env:ACE_ROOT}/tests
211 - name: Build TAO/tests/IDL_Test project
213 make -j 6 -C ${env:TAO_ROOT}/tests/IDL_Test
215 if: matrix.feature != 'CORBA/e micro'
216 - name: Perform CodeQL Analysis
217 uses: github/codeql-action/analyze@v1
218 if: matrix.feature == 'CodeQL'