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