name: macosx

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

jobs:
  build:
    strategy:
      matrix:
        include:
          - os: macos-10.15
            platform_file: include $(ACE_ROOT)/include/makeinclude/platform_macosx.GNU
    runs-on: ${{ matrix.os }}
    name: "${{ matrix.os }}"
    env:
      DOC_ROOT: ${{ github.workspace }}/ACE_TAO
      ACE_ROOT: ${{ github.workspace }}/ACE_TAO/ACE
      TAO_ROOT: ${{ github.workspace }}/ACE_TAO/TAO
      MPC_ROOT: ${{ github.workspace }}/
      CIAO_ROOT: ${{ github.workspace }}/CIAO
      DANCE_ROOT: ${{ github.workspace }}/DAnCE
    steps:
    - name: checkout MPC
      uses: actions/checkout@v2
    - name: checkout ACE/TAO
      uses: actions/checkout@v2
      with:
        repository: DOCGroup/ACE_TAO
        path: ${{ env.DOC_ROOT }}
    - name: checkout CIAO
      uses: actions/checkout@v2
      with:
        repository: DOCGroup/CIAO
        path: ${{ env.CIAO_ROOT }}
    - name: checkout DAnCE
      uses: actions/checkout@v2
      with:
        repository: DOCGroup/DAnCE
        path: ${{ env.DANCE_ROOT }}
    - name: create $ACE_ROOT/ace/config.h
      run: |
        '#include "ace/config-macosx.h"' > ${env:ACE_ROOT}/ace/config.h
      shell: pwsh
    - name: create $ACE_ROOT/include/makeinclude/platform_macros.GNU
      run: |
        '${{ matrix.platform_file }}' >> ${env:ACE_ROOT}/include/makeinclude/platform_macros.GNU
      shell: pwsh
    - name: create $ACE_ROOT/bin/MakeProjectCreator/config/default.features
      run: |
        'ipv6=1' > ${env:ACE_ROOT}/bin/MakeProjectCreator/config/default.features
        'versioned_namespace=1' >> ${env:ACE_ROOT}/bin/MakeProjectCreator/config/default.features
      shell: pwsh
    - name: Run mwc.pl on $(CIAO_ROOT)/CIAO_TAO_DAnCE.mwc
      run: |
        perl ${env:ACE_ROOT}/bin/mwc.pl -type gnuace ${env:CIAO_ROOT}/CIAO_TAO_DAnCE.mwc -workers 4
      shell: pwsh
    - name: Build CIAO_TAO_DAnCE project
      run: |
        make -j 6 -C ${env:CIAO_ROOT}
      shell: pwsh
