Merge pull request #1844 from jrw972/monterey
[ACE_TAO.git] / .github / workflows / face.yml
blob9556c133bdf115b257ae7d8fbb76198b1ab2993b
1 name: face
3 on:
4   push:
5   pull_request:
6   schedule:
7     - cron: '0 1 * * SUN'
9 concurrency:
10   group: ${{ github.workflow }}-${{ github.ref }}
11   cancel-in-progress: true
13 jobs:
14   build:
15     strategy:
16       fail-fast: false
17       matrix:
18         include:
19           - CC: gcc-10
20             CXX: g++-10
21             PackageDeps: g++-10
22             platform_file: include $(ACE_ROOT)/include/makeinclude/platform_linux.GNU
23             os: ubuntu-18.04
24     runs-on: ${{ matrix.os }}
25     name: ${{ matrix.os }} ${{ matrix.CXX }} ${{ matrix.feature }}
26     env:
27       ACE_ROOT: ${{ github.workspace }}/ACE
28       TAO_ROOT: ${{ github.workspace }}/TAO
29       MPC_ROOT: ${{ github.workspace }}/MPC
30       CC: ${{ matrix.CC }}
31       CXX: ${{ matrix.CXX }}
32     steps:
33     - name: checkout ACE/TAO
34       uses: actions/checkout@v2
35     - name: checkout MPC
36       uses: actions/checkout@v2
37       with:
38         repository: DOCGroup/MPC
39         path: ${{ env.MPC_ROOT }}
40     - name: Add Repo
41       run: |
42         wget -O - https://apt.llvm.org/llvm-snapshot.gpg.key|sudo apt-key add -
43         sudo apt-add-repository "deb http://apt.llvm.org/$(lsb_release -cs)/ ${{ matrix.Repo }} main"
44       if: matrix.Repo != ''
45     - name: Add packages
46       run: |
47         sudo apt-get --yes update
48         sudo apt-get --yes install ${{ matrix.PackageDeps }}
49     - name: create $ACE_ROOT/ace/config.h
50       run: |
51         '#define ACE_FACE_SAFETY_BASE' > ${env:ACE_ROOT}/ace/config.h
52         '#include "ace/config-linux.h"' >> ${env:ACE_ROOT}/ace/config.h
53       shell: pwsh
54     - name: add optional optional macros
55       run: |
56         '${{ matrix.optional_macros }}' >> ${env:ACE_ROOT}/include/makeinclude/platform_macros.GNU
57       shell: pwsh
58       if: matrix.optional_macros != ''
59     - name: extend $ACE_ROOT/include/makeinclude/platform_macros.GNU
60       run: |
61         '${{ matrix.platform_file }}' >>  ${env:ACE_ROOT}/include/makeinclude/platform_macros.GNU
62       shell: pwsh
63     - name: add optional optional feature
64       run: |
65         '${{ matrix.optional_feature }}' >> ${env:ACE_ROOT}/bin/MakeProjectCreator/config/default.features
66       if: matrix.optional_feature != ''
67       shell: pwsh
68     - name: Run mwc.pl on $(ACE_ROOT)/ace/ace.mwc
69       run: |
70         perl ${env:ACE_ROOT}/bin/mwc.pl -type gnuace ${env:ACE_ROOT}/ace/ace.mwc -workers 4
71       shell: pwsh
72     - name: Run mwc.pl on $(ACE_ROOT)/tests/tests.mwc
73       run: |
74         perl ${env:ACE_ROOT}/bin/mwc.pl -type gnuace ${env:ACE_ROOT}/tests/tests.mwc -workers 4
75       shell: pwsh
76     - name: Build ace project
77       run: |
78         make -j 6 -C ${env:ACE_ROOT}/ace
79       shell: pwsh
80     - name: Build ACE/tests project
81       run: |
82         make -j 6 -C ${env:ACE_ROOT}/tests
83       shell: pwsh