summaryrefslogtreecommitdiff
path: root/.github/workflows/face.yml
blob: 5c029196cecf96b309008c04daf7a9267183825f (plain)
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
name: face

on:
  push:
  pull_request:
  schedule:
    - cron: '0 1 * * SUN'
  workflow_dispatch:

concurrency:
  group: ${{ github.workflow }}-${{ github.ref }}
  cancel-in-progress: true

permissions:
  contents: read

jobs:
  build:
    strategy:
      fail-fast: false
      matrix:
        include:
          - CC: gcc-10
            CXX: g++-10
            PackageDeps: g++-10
            platform_file: include $(ACE_ROOT)/include/makeinclude/platform_linux.GNU
            os: ubuntu-20.04
    runs-on: ${{ matrix.os }}
    name: ${{ matrix.os }} ${{ matrix.CXX }} ${{ matrix.feature }}
    env:
      ACE_ROOT: ${{ github.workspace }}/ACE
      TAO_ROOT: ${{ github.workspace }}/TAO
      MPC_ROOT: ${{ github.workspace }}/MPC
      CC: ${{ matrix.CC }}
      CXX: ${{ matrix.CXX }}
    steps:
    - name: checkout ACE/TAO
      uses: actions/checkout@v3
    - name: checkout MPC
      uses: actions/checkout@v3
      with:
        repository: DOCGroup/MPC
        path: ${{ env.MPC_ROOT }}
    - name: Add Repo
      run: |
        wget -O - https://apt.llvm.org/llvm-snapshot.gpg.key|sudo apt-key add -
        sudo apt-add-repository "deb http://apt.llvm.org/$(lsb_release -cs)/ ${{ matrix.Repo }} main"
      if: matrix.Repo != ''
    - name: Add packages
      run: |
        sudo apt-get --yes update
        sudo apt-get --yes install ${{ matrix.PackageDeps }}
    - name: create $ACE_ROOT/ace/config.h
      run: |
        '#define ACE_FACE_SAFETY_BASE' > ${env:ACE_ROOT}/ace/config.h
        '#include "ace/config-linux.h"' >> ${env:ACE_ROOT}/ace/config.h
      shell: pwsh
    - name: add optional optional macros
      run: |
        '${{ matrix.optional_macros }}' >> ${env:ACE_ROOT}/include/makeinclude/platform_macros.GNU
      shell: pwsh
      if: matrix.optional_macros != ''
    - name: extend $ACE_ROOT/include/makeinclude/platform_macros.GNU
      run: |
        '${{ matrix.platform_file }}' >>  ${env:ACE_ROOT}/include/makeinclude/platform_macros.GNU
      shell: pwsh
    - name: add optional optional feature
      run: |
        '${{ matrix.optional_feature }}' >> ${env:ACE_ROOT}/bin/MakeProjectCreator/config/default.features
      if: matrix.optional_feature != ''
      shell: pwsh
    - name: Run mwc.pl on $(ACE_ROOT)/ace/ace.mwc
      run: |
        perl ${env:ACE_ROOT}/bin/mwc.pl -type gnuace ${env:ACE_ROOT}/ace/ace.mwc -workers 4
      shell: pwsh
    - name: Run mwc.pl on $(ACE_ROOT)/tests/tests.mwc
      run: |
        perl ${env:ACE_ROOT}/bin/mwc.pl -type gnuace ${env:ACE_ROOT}/tests/tests.mwc -workers 4
      shell: pwsh
    - name: Build ace project
      run: |
        make -j 6 -C ${env:ACE_ROOT}/ace
      shell: pwsh
    - name: Build ACE/tests project
      run: |
        make -j 6 -C ${env:ACE_ROOT}/tests
      shell: pwsh