ACE+TAO-6_5_19
[ACE_TAO.git] / .github / workflows / macosx.yml
blob850fb8cb26d12b6c8ceb6a4af97b0ce797417c6e
1 name: macosx
3 on:
4   push:
5   pull_request:
6   schedule:
7     - cron: '0 1 * * SUN'
8   workflow_dispatch:
10 concurrency:
11   group: ${{ github.workflow }}-${{ github.ref }}
12   cancel-in-progress: true
14 jobs:
15   build:
16     strategy:
17       fail-fast: false
18       matrix:
19         cxxstd: ["03", "11", "17"]
20         os: [macos-11, macos-12]
21         include:
22           - platform_file: include $(ACE_ROOT)/include/makeinclude/platform_macosx.GNU
23     runs-on: ${{ matrix.os }}
24     name: "${{ matrix.os }}-C++${{ matrix.cxxstd }}"
25     env:
26       ACE_ROOT: ${{ github.workspace }}/ACE
27       TAO_ROOT: ${{ github.workspace }}/TAO
28       MPC_ROOT: ${{ github.workspace }}/MPC
29     steps:
30     - name: checkout ACE/TAO
31       uses: actions/checkout@v2
32     - name: checkout MPC
33       uses: actions/checkout@v2
34       with:
35         repository: DOCGroup/MPC
36         path: ${{ env.MPC_ROOT }}
37     - name: create $ACE_ROOT/ace/config.h
38       run: |
39         '#include "ace/config-macosx.h"' > ${env:ACE_ROOT}/ace/config.h
40       shell: pwsh
41     - name: Add c++${{ matrix.cxxstd }} platform_macros.GNU
42       run: |
43         'c++${{ matrix.cxxstd }}=1' > ${env:ACE_ROOT}/include/makeinclude/platform_macros.GNU
44       shell: pwsh
45     - name: create $ACE_ROOT/include/makeinclude/platform_macros.GNU
46       run: |
47         '${{ matrix.platform_file }}' >> ${env:ACE_ROOT}/include/makeinclude/platform_macros.GNU
48       shell: pwsh
49     - name: create $ACE_ROOT/bin/MakeProjectCreator/config/default.features
50       run: |
51         'ipv6=1' > ${env:ACE_ROOT}/bin/MakeProjectCreator/config/default.features
52         'versioned_namespace=1' >> ${env:ACE_ROOT}/bin/MakeProjectCreator/config/default.features
53       shell: pwsh
54     - name: Run mwc.pl on $(TAO_ROOT)/TAO_ACE.mwc
55       run: |
56         perl ${env:ACE_ROOT}/bin/mwc.pl -type gnuace ${env:TAO_ROOT}/TAO_ACE.mwc -workers 4
57       shell: pwsh
58     - name: Run mwc.pl on $(ACE_ROOT)/tests/tests.mwc
59       run: |
60         perl ${env:ACE_ROOT}/bin/mwc.pl -type gnuace ${env:ACE_ROOT}/tests/tests.mwc -workers 4
61       shell: pwsh
62     - name: Run mwc.pl on $(TAO_ROOT)/tests/IDL_Test
63       run: |
64         perl ${env:ACE_ROOT}/bin/mwc.pl -type gnuace ${env:TAO_ROOT}/tests/IDL_Test -workers 4
65       shell: pwsh
66     - name: Build TAO_ACE project
67       run: |
68         make -j 6 -C ${env:TAO_ROOT}
69       shell: pwsh
70     - name: Build ACE/tests project
71       run: |
72         make -j 6 -C ${env:ACE_ROOT}/tests
73       shell: pwsh
74     - name: Build TAO/tests/IDL_Test project
75       run: |
76         make -j 6 -C ${env:TAO_ROOT}/tests/IDL_Test
77       shell: pwsh