Skip to content

Build in a container in GitHub Actions #3

Build in a container in GitHub Actions

Build in a container in GitHub Actions #3

Workflow file for this run

name: linux
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:
permissions:
actions: read # for github/codeql-action/init to get workflow details
contents: read # for actions/checkout to fetch code
security-events: write # for github/codeql-action/analyze to upload SARIF results
strategy:
fail-fast: false
runs-on: ubuntu-22.04
container: alpine:3.18
name: alpine-3.18
env:
ACE_ROOT: ${{ github.workspace }}/ACE
TAO_ROOT: ${{ github.workspace }}/TAO
MPC_ROOT: ${{ github.workspace }}/MPC
CC: gcc
CXX: g++
steps:
- name: Add system packages
run: apk add --no-cache git bash make g++ perl linux-headers
- name: Checkout ACE_TAO
uses: actions/checkout@v4
- name: Checkout MPC
uses: actions/checkout@v4
with:
repository: DOCGroup/MPC
path: ${{ env.MPC_ROOT }}
- name: Create $ACE_ROOT/ace/config.h
run: |
echo '#include "ace/config-linux.h"' > ${{ env.ACE_ROOT }}/ace/config.h
- name: Create $ACE_ROOT/include/makeinclude/platform_macros.GNU
run: |
echo 'include $(ACE_ROOT)/include/makeinclude/platform_linux.GNU' > ${{ env.ACE_ROOT }}/include/makeinclude/platform_macros.GNU
- name: Run mwc.pl on $(TAO_ROOT)/TAO_ACE.mwc
run: |
perl ${{ env.ACE_ROOT }}/bin/mwc.pl -type gnuace ${{ env.TAO_ROOT }}/TAO_ACE.mwc -workers 4
- 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
- name: Run mwc.pl on $(TAO_ROOT)/tests/IDL_Test
run: |
perl ${{ env.ACE_ROOT }}/bin/mwc.pl -type gnuace ${{ env.TAO_ROOT }}/tests/IDL_Test -workers 4
- name: Run mwc.pl on $(TAO_ROOT)/tests/IDLv4
run: |
perl ${{ env.ACE_ROOT }}/bin/mwc.pl -type gnuace ${{ env.TAO_ROOT }}/tests/IDLv4 -workers 4
- name: Build TAO_ACE workspace
run: |
make -j 6 -C ${{ env.TAO_ROOT }}
- name: Build ACE/tests workspace
run: |
make -j 6 -C ${{ env.ACE_ROOT }}tests
- name: Build TAO/tests/IDL_Test project
run: |
make -j 6 -C ${{ env.TAO_ROOT }}/tests/IDL_Test
- name: Build TAO/tests/IDLv4 project
run: |
make -j 6 -C ${{ env.TAO_ROOT }}/tests/IDLv4