Skip to content

linux

linux #474

Workflow file for this run

name: linux
on:
push:
branches:
- master
- v*
tags:
- AXCIOMA-v*
pull_request:
branches:
- master
- v*
schedule:
- cron: '0 1 * * SUN'
workflow_dispatch:
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
permissions:
contents: read
env:
DOC_ROOT: ${{ github.workspace }}/ACE_TAO
ACE_ROOT: ${{ github.workspace }}/ACE_TAO/ACE
MPC_ROOT: ${{ github.workspace }}/ACE_TAO/MPC
TAO_ROOT: ${{ github.workspace }}/ACE_TAO/TAO
X11_BASE_ROOT: ${{ github.workspace }}
RIDL_ROOT: ${{ github.workspace }}/ridl
TAOX11_ROOT: ${{ github.workspace }}/taox11
CIAOX11_ROOT: ${{ github.workspace }}/ciaox11
DANCEX11_ROOT: ${{ github.workspace }}/dancex11
DDS_ROOT: ${{ github.workspace }}/OpenDDS
X11_BRANCH: master
ACETAOMPC_BRANCH: Latest_ACE8TAO4_Micro
OPENDDS_BRANCH: latest-release
jobs:
build:
strategy:
fail-fast: false
matrix:
include:
- os: ubuntu-20.04
CC: gcc-8
CXX: g++-8
ruby: '2.5'
PackageDeps: g++-8
- os: ubuntu-20.04
CC: gcc-9
CXX: g++-9
ruby: '2.6'
PackageDeps: g++-9
- os: ubuntu-22.04
CC: gcc-10
CXX: g++-10
ruby: '2.7'
PackageDeps: g++-10
- os: ubuntu-22.04
CC: gcc-11
CXX: g++-11
ruby: '3.0'
PackageDeps: g++-11
- os: ubuntu-22.04
CC: gcc-12
CXX: g++-12
ruby: '3.1'
PackageDeps: g++-12
- os: ubuntu-24.04
CC: gcc-13
CXX: g++-13
ruby: '3.2'
PackageDeps: g++-13
runs-on: ${{ matrix.os }}
name: ${{ matrix.os }} ${{ matrix.CXX }} ruby-${{ matrix.ruby }}
env:
CC: ${{ matrix.CC }}
CXX: ${{ matrix.CXX }}
steps:
- if: contains(fromJson('["pull_request", "pull_request_target"]'), github.event_name) && github.repository_owner == 'RemedyIT'
run: |
echo "X11_BRANCH=${{ github.base_ref }}" >> $GITHUB_ENV
- if: contains(fromJson('["pull_request", "pull_request_target"]'), github.event_name) == false && github.repository_owner == 'RemedyIT'
run: |
echo "X11_BRANCH=${{ github.ref_name }}" >> $GITHUB_ENV
- uses: actions/checkout@v4
- name: checkout ACE_TAO
uses: actions/checkout@v4
with:
repository: DOCGroup/ACE_TAO
path: ${{ env.DOC_ROOT }}
ref: ${{ env.ACETAOMPC_BRANCH }}
- name: checkout MPC
uses: actions/checkout@v4
with:
repository: DOCGroup/MPC
path: ${{ env.MPC_ROOT }}
ref: ${{ env.ACETAOMPC_BRANCH }}
- name: checkout ridl
uses: actions/checkout@v4
with:
repository: RemedyIT/ridl
path: ${{ env.RIDL_ROOT }}
ref: ${{ env.X11_BRANCH }}
- name: checkout taox11
uses: actions/checkout@v4
with:
repository: RemedyIT/taox11
path: ${{ env.TAOX11_ROOT }}
ref: ${{ env.X11_BRANCH }}
- name: checkout ciaox11
uses: actions/checkout@v4
with:
repository: RemedyIT/ciaox11
path: ${{ env.CIAOX11_ROOT }}
ref: ${{ env.X11_BRANCH }}
- name: checkout dancex11
uses: actions/checkout@v4
with:
repository: RemedyIT/dancex11
path: ${{ env.DANCEX11_ROOT }}
ref: ${{ env.X11_BRANCH }}
- name: checkout OpenDDS
uses: actions/checkout@v4
with:
repository: OpenDDS/OpenDDS
path: ${{ env.DDS_ROOT }}
ref: ${{ env.OPENDDS_BRANCH }}
- uses: ruby/setup-ruby@v1
with:
ruby-version: ${{ matrix.ruby }}
- name: Add repository ${{ matrix.Repo }}
if: matrix.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"
- name: Add packages
run: |
sudo apt-get --yes update
sudo apt-get --yes install libxerces-c-dev libssl-dev libzmq3-dev ${{ matrix.PackageDeps }}
- name: Run brix11 configure
run: |
$X11_BASE_ROOT/bin/brix11 configure -W aceroot=$ACE_ROOT -W taoroot=$TAO_ROOT -W mpcroot=$MPC_ROOT -W openddsroot=$DDS_ROOT
- name: Print brix11 configuration
run: |
$X11_BASE_ROOT/bin/brix11 env -- configure -P
- name: Run brix11 gen build
run: |
$X11_BASE_ROOT/bin/brix11 gen build workspace.mwc -- gen build $TAOX11_ROOT/examples -- gen build $TAOX11_ROOT/orbsvcs/tests -- gen build $TAOX11_ROOT/tests -- gen build $DANCEX11_ROOT/tests
- name: Run brix11 make
run: |
$X11_BASE_ROOT/bin/brix11 make -N -d $X11_BASE_ROOT -- make -N -d $TAOX11_ROOT/examples -- make -N -d $TAOX11_ROOT/orbsvcs/tests -- make -N -d $TAOX11_ROOT/tests -- make -N -d $DANCEX11_ROOT/tests -- make -N -d -L $CIAOX11_ROOT=$CIAOX11_ROOT/bin/ciaox11_tests.lst -- make -N -d -L $CIAOX11_ROOT=$CIAOX11_ROOT/connectors/psdd4ccm/bin/psdd4ccm_tests.lst -- make -N -d -L $CIAOX11_ROOT=$CIAOX11_ROOT/ddsx11/vendors/opendds/bin/ddsx11_opendds_tests.lst -- make -N -d -L $CIAOX11_ROOT=$CIAOX11_ROOT/ddsx11/vendors/opendds/bin/dds4ccm_opendds_tests.lst -- make -N -d -L $CIAOX11_ROOT=$CIAOX11_ROOT/exf/bin/exf_tests.lst
- name: Install necessary ruby gems
run: |
gem install asciidoctor:2.0.15 coderay
- name: Run brix11 generate documentation
run: |
$X11_BASE_ROOT/bin/brix11 generate documentation
- name: Check documentation file existence
id: check_files
uses: andstor/file-existence-action@v3
with:
files: "docs/html/taox11/getting_started.html"
- name: File exists
if: steps.check_files.outputs.files_exists == 'false'
uses: actions/github-script@v7
with:
script: |
core.setFailed('Documentation not generated')