linux #474
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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') |