Updated CodeQL GitHub Action #226
Workflow file for this run
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: | |
pull_request: | |
schedule: | |
- cron: '0 1 * * SUN' | |
workflow_dispatch: | |
concurrency: | |
group: ${{ github.workflow }}-${{ github.ref }} | |
cancel-in-progress: true | |
jobs: | |
build: | |
strategy: | |
fail-fast: false | |
matrix: | |
include: | |
- CC: gcc-7 | |
CXX: g++-7 | |
PackageDeps: g++-7 | |
platform_file: include $(ACE_ROOT)/include/makeinclude/platform_linux.GNU | |
os: ubuntu-20.04 | |
- CC: gcc-8 | |
CXX: g++-8 | |
PackageDeps: g++-8 | |
platform_file: include $(ACE_ROOT)/include/makeinclude/platform_linux.GNU | |
os: ubuntu-20.04 | |
- CC: gcc-9 | |
CXX: g++-9 | |
PackageDeps: g++-9 | |
platform_file: include $(ACE_ROOT)/include/makeinclude/platform_linux.GNU | |
os: ubuntu-22.04 | |
- CC: gcc-10 | |
CXX: g++-10 | |
PackageDeps: g++-10 | |
platform_file: include $(ACE_ROOT)/include/makeinclude/platform_linux.GNU | |
os: ubuntu-22.04 | |
- CC: gcc-11 | |
CXX: g++-11 | |
PackageDeps: g++-11 | |
platform_file: include $(ACE_ROOT)/include/makeinclude/platform_linux.GNU | |
os: ubuntu-20.04 | |
- CC: gcc-12 | |
CXX: g++-12 | |
PackageDeps: g++-12 | |
optional_macros: CCFLAGS+=-std=c++20 | |
platform_file: include $(ACE_ROOT)/include/makeinclude/platform_linux.GNU | |
os: ubuntu-22.04 | |
- CC: clang-6.0 | |
CXX: clang++-6.0 | |
PackageDeps: clang-6.0 | |
platform_file: include $(ACE_ROOT)/include/makeinclude/platform_linux_clang.GNU | |
os: ubuntu-20.04 | |
- CC: clang-7 | |
CXX: clang++-7 | |
PackageDeps: clang-7 | |
platform_file: include $(ACE_ROOT)/include/makeinclude/platform_linux_clang.GNU | |
os: ubuntu-20.04 | |
- CC: clang-8 | |
CXX: clang++-8 | |
PackageDeps: clang-8 | |
platform_file: include $(ACE_ROOT)/include/makeinclude/platform_linux_clang.GNU | |
os: ubuntu-20.04 | |
- CC: clang-9 | |
CXX: clang++-9 | |
PackageDeps: clang-9 | |
Repo: llvm-toolchain-$(lsb_release -cs)-9 | |
platform_file: include $(ACE_ROOT)/include/makeinclude/platform_linux_clang.GNU | |
os: ubuntu-20.04 | |
- CC: clang-10 | |
CXX: clang++-10 | |
PackageDeps: clang-10 | |
Repo: llvm-toolchain-$(lsb_release -cs)-10 | |
platform_file: include $(ACE_ROOT)/include/makeinclude/platform_linux_clang.GNU | |
os: ubuntu-20.04 | |
- CC: clang-11 | |
CXX: clang++-11 | |
PackageDeps: clang-11 | |
Repo: llvm-toolchain-$(lsb_release -cs)-11 | |
platform_file: include $(ACE_ROOT)/include/makeinclude/platform_linux_clang.GNU | |
os: ubuntu-20.04 | |
- feature: CORBA/e micro | |
CC: gcc-10 | |
CXX: g++-10 | |
PackageDeps: g++-10 | |
platform_file: include $(ACE_ROOT)/include/makeinclude/platform_linux.GNU | |
os: ubuntu-22.04 | |
optional_feature: corba_e_micro=1 | |
optional_macros: corba_e_micro=1 | |
- feature: CORBA/e compact | |
CC: gcc-10 | |
CXX: g++-10 | |
PackageDeps: g++-10 | |
platform_file: include $(ACE_ROOT)/include/makeinclude/platform_linux.GNU | |
os: ubuntu-22.04 | |
optional_feature: corba_e_compact=1 | |
optional_macros: corba_e_compact=1 | |
- feature: ACE for TAO | |
CC: gcc-10 | |
CXX: g++-10 | |
PackageDeps: g++-10 | |
platform_file: include $(ACE_ROOT)/include/makeinclude/platform_linux.GNU | |
os: ubuntu-20.04 | |
optional_feature: ace_for_tao=1 | |
optional_macros: ace_for_tao=1 | |
- feature: wchar | |
CC: gcc-10 | |
CXX: g++-10 | |
PackageDeps: g++-10 | |
platform_file: include $(ACE_ROOT)/include/makeinclude/platform_linux.GNU | |
os: ubuntu-20.04 | |
optional_feature: uses_wchar=1 | |
optional_macros: inline=0 | |
- feature: CodeQL | |
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@v2 | |
- name: checkout MPC | |
uses: actions/checkout@v2 | |
with: | |
repository: DOCGroup/MPC | |
path: ${{ env.MPC_ROOT }} | |
- name: Add LLVM apt repo ${{ 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" | |
if: startsWith (matrix.Repo, 'llvm-toolchain') | |
- name: Add PPA apt repo ${{ matrix.Repo }} | |
run: | | |
sudo apt-add-repository ${{ matrix.Repo }} | |
if: startsWith (matrix.Repo, 'ppa:') | |
- name: Install apt packages | |
run: | | |
sudo apt-get --yes update | |
sudo apt-get --yes install libxerces-c-dev libssl-dev ${{ matrix.PackageDeps }} | |
- name: create $ACE_ROOT/ace/config.h | |
run: | | |
'#include "ace/config-linux.h"' > ${env:ACE_ROOT}/ace/config.h | |
shell: pwsh | |
- name: create $ACE_ROOT/include/makeinclude/platform_macros.GNU | |
run: | | |
'ipv6=1' > ${env:ACE_ROOT}/include/makeinclude/platform_macros.GNU | |
'xerces3=1' >> ${env:ACE_ROOT}/include/makeinclude/platform_macros.GNU | |
'ssl=1' >> ${env:ACE_ROOT}/include/makeinclude/platform_macros.GNU | |
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: create $ACE_ROOT/bin/MakeProjectCreator/config/default.features | |
run: | | |
'ipv6=1' > ${env:ACE_ROOT}/bin/MakeProjectCreator/config/default.features | |
'xerces3=1' >> ${env:ACE_ROOT}/bin/MakeProjectCreator/config/default.features | |
'ssl=1' >> ${env:ACE_ROOT}/bin/MakeProjectCreator/config/default.features | |
'versioned_namespace=1' >> ${env:ACE_ROOT}/bin/MakeProjectCreator/config/default.features | |
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: initialize CodeQL | |
uses: github/codeql-action/analyze@v3 | |
if: matrix.feature == 'CodeQL' | |
- 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 | |
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: 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 | |
shell: pwsh | |
- name: Build TAO_ACE project | |
run: | | |
make -j 6 -C ${env:TAO_ROOT} | |
shell: pwsh | |
- name: Build ACE/tests project | |
run: | | |
make -j 6 -C ${env:ACE_ROOT}/tests | |
shell: pwsh | |
- name: Build TAO/tests/IDL_Test project | |
run: | | |
make -j 6 -C ${env:TAO_ROOT}/tests/IDL_Test | |
shell: pwsh | |
if: matrix.feature != 'CORBA/e micro' | |
- name: Perform CodeQL Analysis | |
uses: github/codeql-action/analyze@v1 | |
if: matrix.feature == 'CodeQL' |