ReactorInterceptor exists #8308
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: "MPC Builds" | |
on: | |
push: | |
paths: | |
- '**' | |
# Don't run this workflow if the only files that changed are the | |
# following. Make sure this is the same as the "pull_request.paths" list. | |
- '!AUTHORS' | |
- '!PROBLEM-REPORT-FORM' | |
- '!LICENSE' | |
- '!Dockerfile**' | |
- '!.dockerignore' | |
- '!.mailmap' | |
- '!.github/workflows/lint.yml' | |
- '!.github/workflows/sphinx_strict.yml' | |
- '!etc/**' | |
- '!docs/**' | |
- '!hooks/**' | |
- '!tools/scripts/gitrelease.pl' | |
- '!tools/scripts/lint.pl' | |
- '!**.md' | |
- '!**.rst' | |
- '!**/.gitignore' | |
- '!**/.lint_config' | |
- '!**/README*' | |
pull_request: | |
paths: | |
- '**' | |
# Don't run this workflow if the only files that changed are the | |
# following. Make sure this is the same as the "push.paths" list. | |
- '!AUTHORS' | |
- '!PROBLEM-REPORT-FORM' | |
- '!LICENSE' | |
- '!Dockerfile**' | |
- '!.dockerignore' | |
- '!.mailmap' | |
- '!.github/workflows/lint.yml' | |
- '!.github/workflows/sphinx_strict.yml' | |
- '!etc/**' | |
- '!docs/**' | |
- '!hooks/**' | |
- '!tools/scripts/gitrelease.pl' | |
- '!tools/scripts/lint.pl' | |
- '!**.md' | |
- '!**.rst' | |
- '!**/.gitignore' | |
- '!**/.lint_config' | |
- '!**/README*' | |
workflow_dispatch: | |
concurrency: | |
group: ${{ github.workflow }}-${{ github.ref }} | |
cancel-in-progress: true | |
env: | |
TRIGGERING_COMMIT: ${{ github.event.pull_request.head.sha || github.sha }} | |
VCPKG_INSTALLED_DIR: ${{ github.workspace }}\vcpkg\installed | |
CTEST_OUTPUT_ON_FAILURE: ON | |
VCPKG_GIT_COMMIT: f7423ee180c4b7f40d43402c2feb3859161ef625 | |
SCOREBOARD_UPLOAD_BRANCH: refs/heads/master | |
jobs: | |
ACE_TAO_u20_i0_xer0: | |
runs-on: ubuntu-20.04 | |
steps: | |
- name: checkout OpenDDS | |
uses: actions/checkout@v4 | |
with: | |
path: OpenDDS | |
submodules: true | |
- name: checkout ACE_TAO | |
uses: actions/checkout@v4 | |
with: | |
repository: DOCGroup/ACE_TAO | |
ref: ace6tao2 | |
path: OpenDDS/ACE_TAO | |
- name: get ACE_TAO commit | |
shell: bash | |
run: | | |
cd OpenDDS/ACE_TAO | |
export ACE_COMMIT=$(git rev-parse HEAD) | |
echo "ACE_COMMIT=$ACE_COMMIT" >> $GITHUB_ENV | |
- name: get compiler version | |
shell: bash | |
run: | | |
export COMPILER_VERSION=$(c++ --version 2>&1 | head -n 1) | |
echo "COMPILER_VERSION=$COMPILER_VERSION" >> $GITHUB_ENV | |
- name: get jdk version | |
shell: bash | |
run: | | |
export JDK_VERSION=$(java -version 2>&1 | grep -i version) | |
echo "JDK_VERSION=$JDK_VERSION" >> $GITHUB_ENV | |
- name: Cache Artifact | |
id: cache-artifact | |
uses: actions/cache@v4 | |
with: | |
path: ${{ github.job }}.tar.xz | |
key: c01_${{ github.job }}_ace6tao2_${{ env.ACE_COMMIT }}_${{ env.COMPILER_VERSION }}_${{ env.JDK_VERSION }} | |
- name: checkout MPC | |
if: steps.cache-artifact.outputs.cache-hit != 'true' | |
uses: actions/checkout@v4 | |
with: | |
repository: DOCGroup/MPC | |
path: MPC | |
- name: configure OpenDDS | |
if: steps.cache-artifact.outputs.cache-hit != 'true' | |
run: | | |
cd OpenDDS | |
./configure --no-inline --tests --ace=$GITHUB_WORKSPACE/OpenDDS/ACE_TAO/ACE --mpc=$GITHUB_WORKSPACE/MPC --compile-warnings=WARNING | |
- name: build ACE and TAO | |
if: steps.cache-artifact.outputs.cache-hit != 'true' | |
run: | | |
cd OpenDDS | |
. setenv.sh | |
cd ACE_TAO/ACE | |
make -j4 | |
cd ../TAO | |
make -j4 | |
- name: create ACE_TAO tar.xz artifact | |
if: steps.cache-artifact.outputs.cache-hit != 'true' | |
shell: bash | |
run: | | |
cd OpenDDS/ACE_TAO | |
perl -ni.bak -e "print unless /opendds/" ACE/bin/MakeProjectCreator/config/default.features # remove opendds features from here, let individual build configure scripts handle those | |
find . -iname "*\.o" | xargs rm | |
tar cvf ../../${{ github.job }}.tar ACE/ace/config.h | |
git clean -xdfn | cut -d ' ' -f 3- | xargs tar uvf ../../${{ github.job }}.tar | |
xz -3 ../../${{ github.job }}.tar | |
- name: upload ACE_TAO artifact | |
uses: actions/upload-artifact@v4 | |
with: | |
name: ${{ github.job }}_artifact | |
path: ${{ github.job }}.tar.xz | |
build_u20_i0_xer0_js0_j17: | |
runs-on: ubuntu-20.04 | |
needs: ACE_TAO_u20_i0_xer0 | |
steps: | |
- name: checkout MPC | |
uses: actions/checkout@v4 | |
with: | |
repository: DOCGroup/MPC | |
path: MPC | |
- name: checkout ACE_TAO | |
uses: actions/checkout@v4 | |
with: | |
repository: DOCGroup/ACE_TAO | |
ref: ace6tao2 | |
path: ACE_TAO | |
- name: download ACE_TAO artifact | |
uses: actions/download-artifact@v4 | |
with: | |
name: ACE_TAO_u20_i0_xer0_artifact | |
path: ACE_TAO | |
- name: extract ACE_TAO artifact | |
shell: bash | |
run: | | |
cd ACE_TAO | |
tar xvfJ ACE_TAO_u20_i0_xer0.tar.xz | |
- name: checkout OpenDDS | |
uses: actions/checkout@v4 | |
with: | |
path: OpenDDS | |
submodules: true | |
- name: configure OpenDDS | |
run: | | |
cd OpenDDS | |
./configure --no-inline --tests --java=$JAVA_HOME_17_X64 --no-rapidjson --ace=$GITHUB_WORKSPACE/ACE_TAO/ACE --mpc=$GITHUB_WORKSPACE/MPC --compile-warnings=WARNING | |
- name: check build configuration | |
shell: bash | |
run: | | |
cd OpenDDS | |
. setenv.sh | |
tools/scripts/show_build_config.pl | |
- uses: ammaraskar/[email protected] | |
- name: build OpenDDS | |
shell: bash | |
run: | | |
cd OpenDDS | |
. setenv.sh | |
make -j4 | |
- name: Build CMake Tests | |
run: | | |
source OpenDDS/setenv.sh | |
mkdir OpenDDS/tests/cmake/build | |
cd OpenDDS/tests/cmake/build | |
cmake .. | |
cmake --build . -- -j4 | |
- name: gitclean | |
shell: bash | |
run: | | |
touch output.txt | |
cd OpenDDS | |
git clean -nd -e ext | tee ../output.txt | |
if [ -s ../output.txt ]; then exit 1; fi | |
- name: create OpenDDS tar.xz artifact | |
shell: bash | |
run: | | |
cd OpenDDS | |
rm -rf ACE_TAO | |
find . -iname "*\.o" | xargs rm | |
tar cvf ../${{ github.job }}.tar setenv.sh | |
git clean -xdfn | cut -d ' ' -f 3- | xargs tar uvf ../${{ github.job }}.tar | |
xz -3 ../${{ github.job }}.tar | |
- name: upload OpenDDS artifact | |
uses: actions/upload-artifact@v4 | |
with: | |
name: ${{ github.job }}_artifact | |
path: ${{ github.job }}.tar.xz | |
cmake_u20_i0_xer0_js0_j17: | |
runs-on: ubuntu-20.04 | |
needs: build_u20_i0_xer0_js0_j17 | |
permissions: | |
contents: read | |
id-token: write | |
steps: | |
- name: checkout MPC | |
uses: actions/checkout@v4 | |
with: | |
repository: DOCGroup/MPC | |
path: MPC | |
- name: checkout autobuild | |
uses: actions/checkout@v4 | |
with: | |
repository: DOCGroup/autobuild | |
path: autobuild | |
- name: checkout ACE_TAO | |
uses: actions/checkout@v4 | |
with: | |
repository: DOCGroup/ACE_TAO | |
ref: ace6tao2 | |
path: ACE_TAO | |
- name: download ACE_TAO artifact | |
uses: actions/download-artifact@v4 | |
with: | |
name: ACE_TAO_u20_i0_xer0_artifact | |
path: ACE_TAO | |
- name: extract ACE_TAO artifact | |
shell: bash | |
run: | | |
cd ACE_TAO | |
tar xvfJ ACE_TAO_u20_i0_xer0.tar.xz | |
- name: checkout OpenDDS | |
uses: actions/checkout@v4 | |
with: | |
path: OpenDDS | |
submodules: true | |
- name: download OpenDDS artifact | |
uses: actions/download-artifact@v4 | |
with: | |
name: build_u20_i0_xer0_js0_j17_artifact | |
path: OpenDDS | |
- name: extract OpenDDS artifact | |
shell: bash | |
run: | | |
cd OpenDDS | |
tar xvfJ build_u20_i0_xer0_js0_j17.tar.xz | |
- name: check build configuration | |
shell: bash | |
run: | | |
cd OpenDDS | |
. setenv.sh | |
tools/scripts/show_build_config.pl | |
- name: install gdb | |
shell: bash | |
run: | | |
sudo apt-get update | |
sudo apt-get install gdb | |
echo 0 | sudo tee /proc/sys/kernel/yama/ptrace_scope | |
- name: change core file pattern | |
shell: bash | |
run: | | |
sudo sysctl -w kernel.core_pattern=core.%e.%p | |
echo Core file pattern set to: | |
cat /proc/sys/kernel/core_pattern | |
- name: run OpenDDS tests | |
shell: bash | |
run: | | |
ulimit -c unlimited | |
cd OpenDDS | |
echo "export ACE_TEST_LOG_STUCK_STACKS=1" >> setenv.sh | |
. setenv.sh | |
mkdir ${{ github.job }}_autobuild_workspace | |
cd ${{ github.job }}_autobuild_workspace | |
echo using commit $TRIGGERING_COMMIT for SHA | |
echo $TRIGGERING_COMMIT >> ./SHA | |
cat > config.xml <<EOF | |
<autobuild> | |
<configuration> | |
<variable name="log_file" value="output"/> | |
<variable name="log_root" value="$DDS_ROOT/${{ github.job }}_autobuild_workspace/logs"/> | |
<variable name="project_root" value="$DDS_ROOT"/> | |
<variable name="root" value="$DDS_ROOT/${{ github.job }}_autobuild_workspace"/> | |
<variable name="junit_xml_output" value="Tests"/> | |
</configuration> | |
<command name="log" options="on"/> | |
<command name="print_os_version"/> | |
<command name="print_ace_config"/> | |
<command name="print_cmake_version"/> | |
<command name="print_make_version"/> | |
<command name="check_compiler" options="gcc"/> | |
<command name="print_perl_version"/> | |
<command name="print_autobuild_config"/> | |
<command name="auto_run_tests" options="script_path=tests dir=$GITHUB_WORKSPACE/OpenDDS --no-dcps --cmake"/> | |
<command name="log" options="off"/> | |
<command name="process_logs" options="move prettify index"/> | |
</autobuild> | |
EOF | |
$GITHUB_WORKSPACE/autobuild/autobuild.pl "$GITHUB_WORKSPACE/OpenDDS/${{ github.job }}_autobuild_workspace/config.xml" | |
- name: upload autobuild output | |
uses: actions/upload-artifact@v4 | |
with: | |
name: ${{ github.job }}_autobuild_output | |
path: OpenDDS/${{ github.job }}_autobuild_workspace | |
- name: Authenticate to Google Cloud | |
uses: google-github-actions/auth@v2 | |
with: | |
workload_identity_provider: projects/30587790497/locations/global/workloadIdentityPools/gha-scoreboard-upload/providers/gha-provider | |
service_account: [email protected] | |
if: ${{ github.repository == 'OpenDDS/OpenDDS' && github.ref == env.SCOREBOARD_UPLOAD_BRANCH }} | |
- name: get OpenDDS version | |
shell: bash | |
run: | | |
cd OpenDDS | |
echo "OPENDDS_MAJOR_VERSION=$(grep '#define OPENDDS_MAJOR_VERSION' dds/Version.h | cut -d' ' -f3)" >> $GITHUB_ENV | |
- name: upload to Google Cloud | |
uses: 'google-github-actions/upload-cloud-storage@v2' | |
with: | |
path: OpenDDS/${{ github.job }}_autobuild_workspace/logs | |
destination: opendds-gha-scoreboard-uploads/${{ env.OPENDDS_MAJOR_VERSION }}/${{ github.job }} | |
parent: false | |
process_gcloudignore: false | |
if: ${{ github.repository == 'OpenDDS/OpenDDS' && github.ref == env.SCOREBOARD_UPLOAD_BRANCH }} | |
- name: check results | |
shell: bash | |
run: | | |
$GITHUB_WORKSPACE/OpenDDS/tools/scripts/autobuild_brief_html_to_text.pl "$GITHUB_WORKSPACE/OpenDDS/${{ github.job }}_autobuild_workspace/logs/"*_Brief.html | |
cat "$GITHUB_WORKSPACE/OpenDDS/${{ github.job }}_autobuild_workspace/logs/latest.txt" | |
grep -q 'Failures: 0' "$GITHUB_WORKSPACE/OpenDDS/${{ github.job }}_autobuild_workspace/logs/latest.txt" | |
build_u22_o1d0v1_xer0_j11: | |
runs-on: ubuntu-22.04 | |
steps: | |
- name: checkout OpenDDS | |
uses: actions/checkout@v4 | |
with: | |
path: OpenDDS | |
submodules: true | |
- name: configure OpenDDS | |
run: | | |
cd OpenDDS | |
./configure \ | |
--ace-github-latest \ | |
--java=$JAVA_HOME_11_X64 \ | |
--rapidjson \ | |
--optimize \ | |
--no-debug \ | |
--features=versioned_namespace=1 \ | |
--tests \ | |
--compile-warnings=WARNING | |
- uses: ammaraskar/[email protected] | |
- name: make OpenDDS | |
run: | | |
cd OpenDDS | |
make -j4 | |
- name: check build configuration | |
shell: bash | |
run: | | |
cd OpenDDS | |
. setenv.sh | |
tools/scripts/show_build_config.pl | |
- name: make install OpenDDS | |
shell: bash | |
run: | | |
cd OpenDDS | |
set -e | |
export DESTDIR=$(realpath install_temp) | |
export INSTALL_PREFIX=$(realpath install_prefix) | |
export INSTALL_LIB=special-lib | |
. setenv.sh | |
cd $ACE_ROOT | |
make install | |
cd $TAO_ROOT | |
make install | |
cd $GITHUB_WORKSPACE/OpenDDS | |
make install | |
cp -r $DESTDIR/$INSTALL_PREFIX . | |
cat << EOF > install_setenv.sh | |
export OPENDDS_INSTALL_PREFIX=$INSTALL_PREFIX | |
source \$OPENDDS_INSTALL_PREFIX/share/ace/ace-devel.sh | |
source \$OPENDDS_INSTALL_PREFIX/share/tao/tao-devel.sh | |
source \$OPENDDS_INSTALL_PREFIX/share/dds/dds-devel.sh | |
export JAVA_HOME=$JAVA_HOME_11_X64 | |
export JAVA_PLATFORM=linux | |
export PATH="\$OPENDDS_INSTALL_PREFIX/bin:\$PATH" | |
export MPC_ROOT=$ACE_ROOT/MPC | |
export LD_LIBRARY_PATH="\$OPENDDS_INSTALL_PREFIX/$INSTALL_LIB:\$LD_LIBRARY_PATH" | |
export ACE_SOURCE_ROOT=$ACE_ROOT | |
export TAO_SOURCE_ROOT=$TAO_ROOT | |
export PERL5LIB=$(realpath bin):\$ACE_SOURCE_ROOT/bin | |
EOF | |
- name: delete host directories | |
shell: bash | |
run: | | |
cd OpenDDS | |
rm -rf dds java/dds java/idl2jni java/tao FACE performance-tests/bench tools/rtpsrelay tests/DCPS/RtpsRelay java/tests/hello | |
- name: build make install tests | |
shell: bash | |
run: | | |
cd OpenDDS | |
. install_setenv.sh | |
cd tests | |
git clean -dfx . | |
$ACE_ROOT/bin/mwc.pl -type gnuace -value_project includes+=$PWD/../ | |
make | |
- name: build make install cmake | |
shell: bash | |
run: | | |
cd OpenDDS | |
. install_setenv.sh | |
cd tests/cmake | |
git clean -dfx . | |
mkdir build | |
cd build | |
cmake -DCMAKE_PREFIX_PATH=$DDS_ROOT .. | |
cmake --build . | |
- name: build make install java | |
shell: bash | |
run: | | |
cd OpenDDS | |
. install_setenv.sh | |
cd java/tests | |
git clean -dfx . | |
$ACE_ROOT/bin/mwc.pl -type gnuace | |
make | |
- name: create OpenDDS tar.xz artifact | |
shell: bash | |
run: | | |
cd OpenDDS | |
tar cvf ../${{ github.job }}.tar setenv.sh install_setenv.sh ACE_TAO/ACE/bin/PerlACE | |
git clean -xdfn | cut -d ' ' -f 3- | xargs tar uvf ../${{ github.job }}.tar | |
xz -3 ../${{ github.job }}.tar | |
- name: upload OpenDDS artifact | |
uses: actions/upload-artifact@v4 | |
with: | |
name: ${{ github.job }}_artifact | |
path: ${{ github.job }}.tar.xz | |
inst_u22_o1d0v1_xer0_j11: | |
runs-on: ubuntu-22.04 | |
needs: build_u22_o1d0v1_xer0_j11 | |
steps: | |
- name: checkout MPC | |
uses: actions/checkout@v4 | |
with: | |
repository: DOCGroup/MPC | |
path: MPC | |
- name: checkout autobuild | |
uses: actions/checkout@v4 | |
with: | |
repository: DOCGroup/autobuild | |
path: autobuild | |
- name: checkout OpenDDS | |
uses: actions/checkout@v4 | |
with: | |
path: OpenDDS | |
submodules: true | |
- name: download OpenDDS artifact | |
uses: actions/download-artifact@v4 | |
with: | |
name: build_u22_o1d0v1_xer0_j11_artifact | |
path: OpenDDS | |
- name: extract OpenDDS artifact | |
shell: bash | |
run: | | |
cd OpenDDS | |
tar xvfJ build_u22_o1d0v1_xer0_j11.tar.xz | |
- name: test make install messenger | |
shell: bash | |
run: | | |
cd OpenDDS | |
. install_setenv.sh | |
cd tests/DCPS/Messenger | |
perl run_test.pl rtps | |
- name: test make install cmake | |
shell: bash | |
run: | | |
cd OpenDDS | |
. install_setenv.sh | |
cd tests/cmake/build/Messenger/Messenger_1 | |
perl run_test.pl | |
- name: remove install clutter | |
shell: bash | |
run: | | |
cd OpenDDS | |
rm build_u22_o1d0v1_xer0_j11.tar.xz | |
rm -rf install_temp install_prefix install_setenv.sh | |
- name: gitclean | |
shell: bash | |
run: | | |
touch output.txt | |
cd OpenDDS | |
git clean -nd -e ext | tee ../output.txt | |
if [ -s ../output.txt ]; then exit 1; fi | |
ACE_TAO_u22_esafe_js0: | |
runs-on: ubuntu-22.04 | |
steps: | |
- name: checkout OpenDDS | |
uses: actions/checkout@v4 | |
with: | |
path: OpenDDS | |
submodules: true | |
- name: checkout ACE_TAO | |
uses: actions/checkout@v4 | |
with: | |
repository: DOCGroup/ACE_TAO | |
ref: ace6tao2 | |
path: OpenDDS/ACE_TAO | |
- name: get ACE_TAO commit | |
shell: bash | |
run: | | |
cd OpenDDS/ACE_TAO | |
export ACE_COMMIT=$(git rev-parse HEAD) | |
echo "ACE_COMMIT=$ACE_COMMIT" >> $GITHUB_ENV | |
- name: get compiler version | |
shell: bash | |
run: | | |
export COMPILER_VERSION=$(c++ --version 2>&1 | head -n 1) | |
echo "COMPILER_VERSION=$COMPILER_VERSION" >> $GITHUB_ENV | |
- name: Cache Artifact | |
id: cache-artifact | |
uses: actions/cache@v4 | |
with: | |
path: ${{ github.job }}.tar.xz | |
key: c11_${{ github.job }}_ace6tao2_${{ env.ACE_COMMIT }}_${{ env.COMPILER_VERSION }} | |
- name: checkout MPC | |
if: steps.cache-artifact.outputs.cache-hit != 'true' | |
uses: actions/checkout@v4 | |
with: | |
repository: DOCGroup/MPC | |
path: MPC | |
- name: setup gtest | |
if: steps.cache-artifact.outputs.cache-hit != 'true' | |
run: | | |
cd OpenDDS/tests/googletest | |
git submodule init | |
git submodule update | |
mkdir build | |
cd build | |
mkdir install | |
cmake -DCMAKE_INSTALL_PREFIX=./install .. | |
cmake --build . --target install | |
- name: configure OpenDDS | |
if: steps.cache-artifact.outputs.cache-hit != 'true' | |
run: | | |
cd OpenDDS | |
./configure \ | |
--ace=$GITHUB_WORKSPACE/OpenDDS/ACE_TAO/ACE \ | |
--mpc=$GITHUB_WORKSPACE/MPC \ | |
--gtest=$GITHUB_WORKSPACE/OpenDDS/tests/googletest/build/install \ | |
--no-rapidjson \ | |
--safety-profile \ | |
--tests \ | |
--compile-warnings=WARNING | |
- name: exclude OpenDDS_Util and opendds_idl | |
if: steps.cache-artifact.outputs.cache-hit != 'true' | |
shell: bash | |
run: | | |
cd OpenDDS/build/host | |
perl -ni.bak -e "print unless /dds/" host_tools.mwc | |
. setenv.sh | |
$ACE_ROOT/bin/mwc.pl -type gnuace host_tools.mwc | |
- name: build ACE and TAO | |
if: steps.cache-artifact.outputs.cache-hit != 'true' | |
run: | | |
cd OpenDDS/build/host | |
. setenv.sh | |
make -j4 | |
cd ../target | |
. setenv.sh | |
cd ACE_TAO/ACE/ace | |
make -j4 | |
- name: create ACE_TAO tar.xz artifact | |
if: steps.cache-artifact.outputs.cache-hit != 'true' | |
shell: bash | |
run: | | |
cd OpenDDS/build/target/ACE_TAO | |
perl -ni.bak -e "print unless /opendds/" ACE/bin/MakeProjectCreator/config/default.features # remove opendds features from here, let individual build configure scripts handle those | |
cd $GITHUB_WORKSPACE/OpenDDS | |
find . -iname "*\.o" | xargs rm | |
rm -rf build/{host,target}/ACE_TAO/{ACE,TAO}/{examples,performance-tests,tests} | |
tar cvf ../${{ github.job }}.tar build/host/ACE_TAO build/target/ACE_TAO | |
xz -3 ../${{ github.job }}.tar | |
- name: upload ACE_TAO artifact | |
uses: actions/upload-artifact@v4 | |
with: | |
name: ${{ github.job }}_artifact | |
path: ${{ github.job }}.tar.xz | |
build_u22_esafe_js0: | |
runs-on: ubuntu-22.04 | |
needs: ACE_TAO_u22_esafe_js0 | |
steps: | |
- name: checkout MPC | |
uses: actions/checkout@v4 | |
with: | |
repository: DOCGroup/MPC | |
path: MPC | |
- name: checkout OpenDDS | |
uses: actions/checkout@v4 | |
with: | |
path: OpenDDS | |
submodules: true | |
- name: checkout ACE_TAO | |
uses: actions/checkout@v4 | |
with: | |
repository: DOCGroup/ACE_TAO | |
ref: ace6tao2 | |
path: OpenDDS/ACE_TAO | |
- name: install xerces | |
run: sudo apt-get -y install libxerces-c-dev | |
- name: setup gtest | |
run: | | |
cd OpenDDS/tests/googletest | |
git submodule init | |
git submodule update | |
mkdir build | |
cd build | |
mkdir install | |
cmake -DCMAKE_INSTALL_PREFIX=./install .. | |
cmake --build . --target install | |
- name: configure OpenDDS | |
run: | | |
cd OpenDDS | |
./configure \ | |
--ace=$GITHUB_WORKSPACE/OpenDDS/ACE_TAO/ACE \ | |
--mpc=$GITHUB_WORKSPACE/MPC \ | |
--gtest=$GITHUB_WORKSPACE/OpenDDS/tests/googletest/build/install \ | |
--no-rapidjson \ | |
--safety-profile \ | |
--tests \ | |
--compile-warnings=WARNING | |
- name: download ACE_TAO artifact | |
uses: actions/download-artifact@v4 | |
with: | |
name: ACE_TAO_u22_esafe_js0_artifact | |
path: OpenDDS | |
- name: extract ACE_TAO artifact | |
shell: bash | |
run: | | |
cd OpenDDS | |
tar xvfJ ACE_TAO_u22_esafe_js0.tar.xz | |
- uses: ammaraskar/[email protected] | |
- name: build OpenDDS_Util lib and opendds_idl in host | |
shell: bash | |
run: | | |
cd OpenDDS/build/host | |
cat > host_tools.mwc <<EOF | |
workspace { | |
dds/DCPS/OpenDDS_Util.mpc | |
dds/idl | |
} | |
EOF | |
. setenv.sh | |
$ACE_ROOT/bin/mwc.pl -type gnuace host_tools.mwc | |
make -j4 | |
- name: check build configuration | |
shell: bash | |
run: | | |
cd OpenDDS/build/target | |
. setenv.sh | |
tools/scripts/show_build_config.pl | |
- name: build OpenDDS | |
run: | | |
cd OpenDDS/build/target | |
. setenv.sh | |
make -j4 | |
- name: create OpenDDS artifact | |
shell: bash | |
run: | | |
cd OpenDDS/build | |
tar cvf ../../${{ github.job }}.tar host/dds/idl/opendds_idl host/bin/opendds_idl host/setenv.sh host/VERSION.txt | |
cd target | |
find . -iname "*\.o" | xargs rm | |
cd .. | |
tar --exclude='ACE_TAO' -uvf ../../${{ github.job }}.tar target | |
xz -3 ../../${{ github.job }}.tar | |
- name: upload OpenDDS artifact | |
uses: actions/upload-artifact@v4 | |
with: | |
name: ${{ github.job }}_artifact | |
path: ${{ github.job }}.tar.xz | |
test_u22_esafe_js0: | |
runs-on: ubuntu-22.04 | |
needs: build_u22_esafe_js0 | |
permissions: | |
contents: read | |
id-token: write | |
steps: | |
- name: checkout MPC | |
uses: actions/checkout@v4 | |
with: | |
repository: DOCGroup/MPC | |
path: MPC | |
- name: checkout OpenDDS | |
uses: actions/checkout@v4 | |
with: | |
path: OpenDDS | |
submodules: true | |
- name: checkout ACE_TAO | |
uses: actions/checkout@v4 | |
with: | |
repository: DOCGroup/ACE_TAO | |
ref: ace6tao2 | |
path: OpenDDS/ACE_TAO | |
- name: download ACE_TAO artifact | |
uses: actions/download-artifact@v4 | |
with: | |
name: ACE_TAO_u22_esafe_js0_artifact | |
path: OpenDDS | |
- name: extract ACE_TAO artifact | |
shell: bash | |
run: | | |
cd OpenDDS | |
tar xvfJ ACE_TAO_u22_esafe_js0.tar.xz | |
- name: download OpenDDS artifact | |
uses: actions/download-artifact@v4 | |
with: | |
name: build_u22_esafe_js0_artifact | |
path: OpenDDS/build | |
- name: extract OpenDDS artifact | |
shell: bash | |
run: | | |
cd OpenDDS/build | |
tar xvfJ build_u22_esafe_js0.tar.xz | |
- name: install xerces | |
run: sudo apt-get -y install libxerces-c-dev | |
- name: checkout autobuild | |
uses: actions/checkout@v4 | |
with: | |
repository: DOCGroup/autobuild | |
path: autobuild | |
- name: check build configuration | |
shell: bash | |
run: | | |
cd OpenDDS/build/target | |
. setenv.sh | |
tools/scripts/show_build_config.pl | |
- name: install gdb | |
shell: bash | |
run: | | |
sudo apt-get update | |
sudo apt-get install gdb | |
echo 0 | sudo tee /proc/sys/kernel/yama/ptrace_scope | |
- name: change core file pattern | |
shell: bash | |
run: | | |
sudo sysctl -w kernel.core_pattern=core.%e.%p | |
echo Core file pattern set to: | |
cat /proc/sys/kernel/core_pattern | |
- name: run OpenDDS tests | |
shell: bash | |
run: | | |
ulimit -c unlimited | |
cd OpenDDS/build/target | |
echo "export ACE_TEST_LOG_STUCK_STACKS=1" >> setenv.sh | |
. setenv.sh | |
mkdir ${{ github.job }}_autobuild_workspace | |
cd ${{ github.job }}_autobuild_workspace | |
echo using commit $TRIGGERING_COMMIT for SHA | |
echo $TRIGGERING_COMMIT >> ./SHA | |
cat > config.xml <<EOF | |
<autobuild> | |
<configuration> | |
<variable name="log_file" value="output"/> | |
<variable name="log_root" value="$DDS_ROOT/${{ github.job }}_autobuild_workspace/logs"/> | |
<variable name="project_root" value="$DDS_ROOT"/> | |
<variable name="root" value="$DDS_ROOT/${{ github.job }}_autobuild_workspace"/> | |
<variable name="junit_xml_output" value="Tests"/> | |
</configuration> | |
<command name="log" options="on"/> | |
<command name="print_os_version"/> | |
<command name="print_ace_config"/> | |
<command name="print_make_version"/> | |
<command name="check_compiler" options="gcc"/> | |
<command name="print_perl_version"/> | |
<command name="print_autobuild_config"/> | |
<command name="auto_run_tests" options="script_path=tests dir=$GITHUB_WORKSPACE/OpenDDS -Config SAFETY_EXTENDED -Config OPENDDS_SAFETY_PROFILE -Config DDS_NO_CONTENT_SUBSCRIPTION -Config DDS_NO_CONTENT_FILTERED_TOPIC -Config DDS_NO_MULTI_TOPIC -Config DDS_NO_QUERY_CONDITION -Config DDS_NO_OWNERSHIP_KIND_EXCLUSIVE -Config DDS_NO_OBJECT_MODEL_PROFILE -Config DDS_NO_PERSISTENCE_PROFILE -Config GH_ACTIONS_OPENDDS_SAFETY_PROFILE -Config NO_UNIT_TESTS"/> | |
<command name="log" options="off"/> | |
<command name="process_logs" options="move prettify index"/> | |
</autobuild> | |
EOF | |
$GITHUB_WORKSPACE/autobuild/autobuild.pl "$GITHUB_WORKSPACE/OpenDDS/build/target/${{ github.job }}_autobuild_workspace/config.xml" | |
- name: upload autobuild output | |
uses: actions/upload-artifact@v4 | |
with: | |
name: ${{ github.job }}_autobuild_output | |
path: OpenDDS/build/target/${{ github.job }}_autobuild_workspace | |
- name: Authenticate to Google Cloud | |
uses: google-github-actions/auth@v2 | |
with: | |
workload_identity_provider: projects/30587790497/locations/global/workloadIdentityPools/gha-scoreboard-upload/providers/gha-provider | |
service_account: [email protected] | |
if: ${{ github.repository == 'OpenDDS/OpenDDS' && github.ref == env.SCOREBOARD_UPLOAD_BRANCH }} | |
- name: get OpenDDS version | |
shell: bash | |
run: | | |
cd OpenDDS | |
echo "OPENDDS_MAJOR_VERSION=$(grep '#define OPENDDS_MAJOR_VERSION' dds/Version.h | cut -d' ' -f3)" >> $GITHUB_ENV | |
- name: upload to Google Cloud | |
uses: 'google-github-actions/upload-cloud-storage@v2' | |
with: | |
path: OpenDDS/build/target/${{ github.job }}_autobuild_workspace/logs | |
destination: opendds-gha-scoreboard-uploads/${{ env.OPENDDS_MAJOR_VERSION }}/${{ github.job }} | |
parent: false | |
process_gcloudignore: false | |
if: ${{ github.repository == 'OpenDDS/OpenDDS' && github.ref == env.SCOREBOARD_UPLOAD_BRANCH }} | |
- name: check results | |
shell: bash | |
run: | | |
$GITHUB_WORKSPACE/OpenDDS/tools/scripts/autobuild_brief_html_to_text.pl "$GITHUB_WORKSPACE/OpenDDS/build/target/${{ github.job }}_autobuild_workspace/logs/"*_Brief.html | |
cat "$GITHUB_WORKSPACE/OpenDDS/build/target/${{ github.job }}_autobuild_workspace/logs/latest.txt" | |
grep -q 'Failures: 0' "$GITHUB_WORKSPACE/OpenDDS/build/target/${{ github.job }}_autobuild_workspace/logs/latest.txt" | |
ACE_TAO_u22_bsafe_js0_FM-1f: | |
runs-on: ubuntu-22.04 | |
steps: | |
- name: checkout OpenDDS | |
uses: actions/checkout@v4 | |
with: | |
path: OpenDDS | |
submodules: true | |
- name: checkout ACE_TAO | |
uses: actions/checkout@v4 | |
with: | |
repository: DOCGroup/ACE_TAO | |
ref: ace6tao2 | |
path: OpenDDS/ACE_TAO | |
- name: get ACE_TAO commit | |
shell: bash | |
run: | | |
cd OpenDDS/ACE_TAO | |
export ACE_COMMIT=$(git rev-parse HEAD) | |
echo "ACE_COMMIT=$ACE_COMMIT" >> $GITHUB_ENV | |
- name: get compiler version | |
shell: bash | |
run: | | |
export COMPILER_VERSION=$(c++ --version 2>&1 | head -n 1) | |
echo "COMPILER_VERSION=$COMPILER_VERSION" >> $GITHUB_ENV | |
- name: Cache Artifact | |
id: cache-artifact | |
uses: actions/cache@v4 | |
with: | |
path: ${{ github.job }}.tar.xz | |
key: c11_${{ github.job }}_ace6tao2_${{ env.ACE_COMMIT }}_${{ env.COMPILER_VERSION }} | |
- name: checkout MPC | |
if: steps.cache-artifact.outputs.cache-hit != 'true' | |
uses: actions/checkout@v4 | |
with: | |
repository: DOCGroup/MPC | |
path: MPC | |
- name: setup gtest | |
if: steps.cache-artifact.outputs.cache-hit != 'true' | |
run: | | |
cd OpenDDS/tests/googletest | |
git submodule init | |
git submodule update | |
mkdir build | |
cd build | |
mkdir install | |
cmake -DCMAKE_INSTALL_PREFIX=./install .. | |
cmake --build . --target install | |
- name: configure OpenDDS | |
if: steps.cache-artifact.outputs.cache-hit != 'true' | |
run: | | |
cd OpenDDS | |
./configure \ | |
--ace=$GITHUB_WORKSPACE/OpenDDS/ACE_TAO/ACE \ | |
--mpc=$GITHUB_WORKSPACE/MPC \ | |
--gtest=$GITHUB_WORKSPACE/OpenDDS/tests/googletest/build/install \ | |
--no-rapidjson \ | |
--safety-profile=base \ | |
--no-built-in-topics \ | |
--tests \ | |
--compile-warnings=WARNING | |
- name: exclude OpenDDS_Util and opendds_idl | |
if: steps.cache-artifact.outputs.cache-hit != 'true' | |
shell: bash | |
run: | | |
cd OpenDDS/build/host | |
perl -ni.bak -e "print unless /dds/" host_tools.mwc | |
. setenv.sh | |
$ACE_ROOT/bin/mwc.pl -type gnuace host_tools.mwc | |
- name: build ACE and TAO | |
if: steps.cache-artifact.outputs.cache-hit != 'true' | |
run: | | |
cd OpenDDS/build/host | |
. setenv.sh | |
make -j4 | |
cd ../target | |
. setenv.sh | |
cd ACE_TAO/ACE/ace | |
make -j4 | |
- name: create ACE_TAO tar.xz artifact | |
if: steps.cache-artifact.outputs.cache-hit != 'true' | |
shell: bash | |
run: | | |
cd OpenDDS/build/target/ACE_TAO | |
perl -ni.bak -e "print unless /opendds/" ACE/bin/MakeProjectCreator/config/default.features # remove opendds features from here, let individual build configure scripts handle those | |
cd $GITHUB_WORKSPACE/OpenDDS | |
find . -iname "*\.o" | xargs rm | |
rm -rf build/{host,target}/ACE_TAO/{ACE,TAO}/{examples,performance-tests,tests} | |
tar cvf ../${{ github.job }}.tar build/host/ACE_TAO build/target/ACE_TAO | |
xz -3 ../${{ github.job }}.tar | |
- name: upload ACE_TAO artifact | |
uses: actions/upload-artifact@v4 | |
with: | |
name: ${{ github.job }}_artifact | |
path: ${{ github.job }}.tar.xz | |
build_u22_bsafe_js0_FM-1f: | |
runs-on: ubuntu-22.04 | |
needs: ACE_TAO_u22_bsafe_js0_FM-1f | |
steps: | |
- name: checkout MPC | |
uses: actions/checkout@v4 | |
with: | |
repository: DOCGroup/MPC | |
path: MPC | |
- name: checkout OpenDDS | |
uses: actions/checkout@v4 | |
with: | |
path: OpenDDS | |
submodules: true | |
- name: checkout ACE_TAO | |
uses: actions/checkout@v4 | |
with: | |
repository: DOCGroup/ACE_TAO | |
ref: ace6tao2 | |
path: OpenDDS/ACE_TAO | |
- name: install xerces | |
run: sudo apt-get -y install libxerces-c-dev | |
- name: setup gtest | |
run: | | |
cd OpenDDS/tests/googletest | |
git submodule init | |
git submodule update | |
mkdir build | |
cd build | |
mkdir install | |
cmake -DCMAKE_INSTALL_PREFIX=./install .. | |
cmake --build . --target install | |
- name: configure OpenDDS | |
run: | | |
cd OpenDDS | |
./configure \ | |
--ace=$GITHUB_WORKSPACE/OpenDDS/ACE_TAO/ACE \ | |
--mpc=$GITHUB_WORKSPACE/MPC \ | |
--gtest=$GITHUB_WORKSPACE/OpenDDS/tests/googletest/build/install \ | |
--no-rapidjson \ | |
--safety-profile=base \ | |
--no-built-in-topics \ | |
--tests \ | |
--compile-warnings=WARNING | |
- name: download ACE_TAO artifact | |
uses: actions/download-artifact@v4 | |
with: | |
name: ACE_TAO_u22_bsafe_js0_FM-1f_artifact | |
path: OpenDDS | |
- name: extract ACE_TAO artifact | |
shell: bash | |
run: | | |
cd OpenDDS | |
tar xvfJ ACE_TAO_u22_bsafe_js0_FM-1f.tar.xz | |
- uses: ammaraskar/[email protected] | |
- name: build OpenDDS_Util lib and opendds_idl in host | |
shell: bash | |
run: | | |
cd OpenDDS/build/host | |
cat > host_tools.mwc <<EOF | |
workspace { | |
dds/DCPS/OpenDDS_Util.mpc | |
dds/idl | |
} | |
EOF | |
. setenv.sh | |
$ACE_ROOT/bin/mwc.pl -type gnuace host_tools.mwc | |
make -j4 | |
- name: check build configuration | |
shell: bash | |
run: | | |
cd OpenDDS/build/target | |
. setenv.sh | |
tools/scripts/show_build_config.pl | |
- name: build OpenDDS | |
run: | | |
cd OpenDDS/build/target | |
. setenv.sh | |
make -j4 | |
- name: create OpenDDS artifact | |
shell: bash | |
run: | | |
cd OpenDDS/build | |
tar cvf ../../${{ github.job }}.tar host/dds/idl/opendds_idl host/bin/opendds_idl host/setenv.sh host/VERSION.txt | |
cd target | |
find . -iname "*\.o" | xargs rm | |
cd .. | |
tar --exclude='ACE_TAO' -uvf ../../${{ github.job }}.tar target | |
xz -3 ../../${{ github.job }}.tar | |
- name: upload OpenDDS artifact | |
uses: actions/upload-artifact@v4 | |
with: | |
name: ${{ github.job }}_artifact | |
path: ${{ github.job }}.tar.xz | |
test_u22_bsafe_js0_FM-1f: | |
runs-on: ubuntu-22.04 | |
needs: build_u22_bsafe_js0_FM-1f | |
permissions: | |
contents: read | |
id-token: write | |
steps: | |
- name: checkout MPC | |
uses: actions/checkout@v4 | |
with: | |
repository: DOCGroup/MPC | |
path: MPC | |
- name: checkout OpenDDS | |
uses: actions/checkout@v4 | |
with: | |
path: OpenDDS | |
submodules: true | |
- name: checkout ACE_TAO | |
uses: actions/checkout@v4 | |
with: | |
repository: DOCGroup/ACE_TAO | |
ref: ace6tao2 | |
path: OpenDDS/ACE_TAO | |
- name: download ACE_TAO artifact | |
uses: actions/download-artifact@v4 | |
with: | |
name: ACE_TAO_u22_bsafe_js0_FM-1f_artifact | |
path: OpenDDS | |
- name: extract ACE_TAO artifact | |
shell: bash | |
run: | | |
cd OpenDDS | |
tar xvfJ ACE_TAO_u22_bsafe_js0_FM-1f.tar.xz | |
- name: download OpenDDS artifact | |
uses: actions/download-artifact@v4 | |
with: | |
name: build_u22_bsafe_js0_FM-1f_artifact | |
path: OpenDDS/build | |
- name: extract OpenDDS artifact | |
shell: bash | |
run: | | |
cd OpenDDS/build | |
tar xvfJ build_u22_bsafe_js0_FM-1f.tar.xz | |
- name: install xerces | |
run: sudo apt-get -y install libxerces-c-dev | |
- name: checkout autobuild | |
uses: actions/checkout@v4 | |
with: | |
repository: DOCGroup/autobuild | |
path: autobuild | |
- name: check build configuration | |
shell: bash | |
run: | | |
cd OpenDDS/build/target | |
. setenv.sh | |
tools/scripts/show_build_config.pl | |
- name: install gdb | |
shell: bash | |
run: | | |
sudo apt-get update | |
sudo apt-get install gdb | |
echo 0 | sudo tee /proc/sys/kernel/yama/ptrace_scope | |
- name: change core file pattern | |
shell: bash | |
run: | | |
sudo sysctl -w kernel.core_pattern=core.%e.%p | |
echo Core file pattern set to: | |
cat /proc/sys/kernel/core_pattern | |
- name: run OpenDDS tests | |
shell: bash | |
run: | | |
ulimit -c unlimited | |
cd OpenDDS/build/target | |
echo "export ACE_TEST_LOG_STUCK_STACKS=1" >> setenv.sh | |
. setenv.sh | |
mkdir ${{ github.job }}_autobuild_workspace | |
cd ${{ github.job }}_autobuild_workspace | |
echo using commit $TRIGGERING_COMMIT for SHA | |
echo $TRIGGERING_COMMIT >> ./SHA | |
cat > config.xml <<EOF | |
<autobuild> | |
<configuration> | |
<variable name="log_file" value="output"/> | |
<variable name="log_root" value="$DDS_ROOT/${{ github.job }}_autobuild_workspace/logs"/> | |
<variable name="project_root" value="$DDS_ROOT"/> | |
<variable name="root" value="$DDS_ROOT/${{ github.job }}_autobuild_workspace"/> | |
<variable name="junit_xml_output" value="Tests"/> | |
</configuration> | |
<command name="log" options="on"/> | |
<command name="print_os_version"/> | |
<command name="print_ace_config"/> | |
<command name="print_make_version"/> | |
<command name="check_compiler" options="gcc"/> | |
<command name="print_perl_version"/> | |
<command name="print_autobuild_config"/> | |
<command name="auto_run_tests" options="script_path=tests dir=$GITHUB_WORKSPACE/OpenDDS -Config SAFETY_BASE -Config OPENDDS_SAFETY_PROFILE -Config NO_BUILT_IN_TOPICS -Config DDS_NO_CONTENT_SUBSCRIPTION -Config DDS_NO_CONTENT_FILTERED_TOPIC -Config DDS_NO_MULTI_TOPIC -Config DDS_NO_QUERY_CONDITION -Config DDS_NO_OWNERSHIP_KIND_EXCLUSIVE -Config DDS_NO_OBJECT_MODEL_PROFILE -Config DDS_NO_PERSISTENCE_PROFILE -Config GH_ACTIONS_OPENDDS_SAFETY_PROFILE -Config NO_UNIT_TESTS"/> | |
<command name="log" options="off"/> | |
<command name="process_logs" options="move prettify index"/> | |
</autobuild> | |
EOF | |
$GITHUB_WORKSPACE/autobuild/autobuild.pl "$GITHUB_WORKSPACE/OpenDDS/build/target/${{ github.job }}_autobuild_workspace/config.xml" | |
- name: upload autobuild output | |
uses: actions/upload-artifact@v4 | |
with: | |
name: ${{ github.job }}_autobuild_output | |
path: OpenDDS/build/target/${{ github.job }}_autobuild_workspace | |
- name: Authenticate to Google Cloud | |
uses: google-github-actions/auth@v2 | |
with: | |
workload_identity_provider: projects/30587790497/locations/global/workloadIdentityPools/gha-scoreboard-upload/providers/gha-provider | |
service_account: [email protected] | |
if: ${{ github.repository == 'OpenDDS/OpenDDS' && github.ref == env.SCOREBOARD_UPLOAD_BRANCH }} | |
- name: get OpenDDS version | |
shell: bash | |
run: | | |
cd OpenDDS | |
echo "OPENDDS_MAJOR_VERSION=$(grep '#define OPENDDS_MAJOR_VERSION' dds/Version.h | cut -d' ' -f3)" >> $GITHUB_ENV | |
- name: upload to Google Cloud | |
uses: 'google-github-actions/upload-cloud-storage@v2' | |
with: | |
path: OpenDDS/build/target/${{ github.job }}_autobuild_workspace/logs | |
destination: opendds-gha-scoreboard-uploads/${{ env.OPENDDS_MAJOR_VERSION }}/${{ github.job }} | |
parent: false | |
process_gcloudignore: false | |
if: ${{ github.repository == 'OpenDDS/OpenDDS' && github.ref == env.SCOREBOARD_UPLOAD_BRANCH }} | |
- name: check results | |
shell: bash | |
run: | | |
$GITHUB_WORKSPACE/OpenDDS/tools/scripts/autobuild_brief_html_to_text.pl "$GITHUB_WORKSPACE/OpenDDS/build/target/${{ github.job }}_autobuild_workspace/logs/"*_Brief.html | |
cat "$GITHUB_WORKSPACE/OpenDDS/build/target/${{ github.job }}_autobuild_workspace/logs/latest.txt" | |
grep -q 'Failures: 0' "$GITHUB_WORKSPACE/OpenDDS/build/target/${{ github.job }}_autobuild_workspace/logs/latest.txt" | |
ACE_TAO_u22_d0i0v1_sec_js0_FM-08: | |
runs-on: ubuntu-22.04 | |
steps: | |
- name: checkout OpenDDS | |
uses: actions/checkout@v4 | |
with: | |
path: OpenDDS | |
submodules: true | |
- name: checkout ACE_TAO | |
uses: actions/checkout@v4 | |
with: | |
repository: DOCGroup/ACE_TAO | |
ref: ace6tao2 | |
path: OpenDDS/ACE_TAO | |
- name: get ACE_TAO commit | |
shell: bash | |
run: | | |
cd OpenDDS/ACE_TAO | |
export ACE_COMMIT=$(git rev-parse HEAD) | |
echo "ACE_COMMIT=$ACE_COMMIT" >> $GITHUB_ENV | |
- name: get compiler version | |
shell: bash | |
run: | | |
export COMPILER_VERSION=$(c++ --version 2>&1 | head -n 1) | |
echo "COMPILER_VERSION=$COMPILER_VERSION" >> $GITHUB_ENV | |
- name: Cache Artifact | |
id: cache-artifact | |
uses: actions/cache@v4 | |
with: | |
path: ${{ github.job }}.tar.xz | |
key: c01_${{ github.job }}_ace6tao2_${{ env.ACE_COMMIT }}_${{ env.COMPILER_VERSION }} | |
- name: install xerces | |
if: steps.cache-artifact.outputs.cache-hit != 'true' | |
run: sudo apt-get -y install libxerces-c-dev | |
- name: checkout MPC | |
if: steps.cache-artifact.outputs.cache-hit != 'true' | |
uses: actions/checkout@v4 | |
with: | |
repository: DOCGroup/MPC | |
path: MPC | |
- name: configure OpenDDS | |
if: steps.cache-artifact.outputs.cache-hit != 'true' | |
run: | | |
cd OpenDDS | |
./configure --no-debug --no-inline --features=versioned_namespace=1 --tests --security --ace=$GITHUB_WORKSPACE/OpenDDS/ACE_TAO/ACE --mpc=$GITHUB_WORKSPACE/MPC --compile-warnings=WARNING | |
- name: build ACE and TAO | |
if: steps.cache-artifact.outputs.cache-hit != 'true' | |
run: | | |
cd OpenDDS | |
. setenv.sh | |
cd ACE_TAO/ACE | |
make -j4 | |
cd ../TAO | |
make -j4 | |
- name: create ACE_TAO tar.xz artifact | |
if: steps.cache-artifact.outputs.cache-hit != 'true' | |
shell: bash | |
run: | | |
cd OpenDDS/ACE_TAO | |
perl -ni.bak -e "print unless /opendds/" ACE/bin/MakeProjectCreator/config/default.features # remove opendds features from here, let individual build configure scripts handle those | |
find . -iname "*\.o" | xargs rm | |
tar cvf ../../${{ github.job }}.tar ACE/ace/config.h | |
git clean -xdfn | cut -d ' ' -f 3- | xargs tar uvf ../../${{ github.job }}.tar | |
xz -3 ../../${{ github.job }}.tar | |
- name: upload ACE_TAO artifact | |
uses: actions/upload-artifact@v4 | |
with: | |
name: ${{ github.job }}_artifact | |
path: ${{ github.job }}.tar.xz | |
build_u22_d0i0v1_sec_js0_FM-08: | |
runs-on: ubuntu-22.04 | |
needs: ACE_TAO_u22_d0i0v1_sec_js0_FM-08 | |
steps: | |
- name: install xerces | |
run: sudo apt-get -y install libxerces-c-dev | |
- name: checkout MPC | |
uses: actions/checkout@v4 | |
with: | |
repository: DOCGroup/MPC | |
path: MPC | |
- name: checkout ACE_TAO | |
uses: actions/checkout@v4 | |
with: | |
repository: DOCGroup/ACE_TAO | |
ref: ace6tao2 | |
path: ACE_TAO | |
- name: download ACE_TAO artifact | |
uses: actions/download-artifact@v4 | |
with: | |
name: ACE_TAO_u22_d0i0v1_sec_js0_FM-08_artifact | |
path: ACE_TAO | |
- name: extract ACE_TAO artifact | |
shell: bash | |
run: | | |
cd ACE_TAO | |
tar xvfJ ACE_TAO_u22_d0i0v1_sec_js0_FM-08.tar.xz | |
- name: checkout OpenDDS | |
uses: actions/checkout@v4 | |
with: | |
path: OpenDDS | |
submodules: true | |
- name: configure OpenDDS | |
run: | | |
cd OpenDDS | |
./configure --no-debug --no-inline --features=versioned_namespace=1 --tests --security --no-rapidjson --no-built-in-topics --no-content-subscription --no-ownership-profile --no-object-model-profile --no-persistence-profile --ace=$GITHUB_WORKSPACE/ACE_TAO/ACE --mpc=$GITHUB_WORKSPACE/MPC --compile-warnings=WARNING | |
- name: check build configuration | |
shell: bash | |
run: | | |
cd OpenDDS | |
. setenv.sh | |
tools/scripts/show_build_config.pl | |
- uses: ammaraskar/[email protected] | |
- name: build OpenDDS | |
shell: bash | |
run: | | |
cd OpenDDS | |
. setenv.sh | |
make -j4 | |
- name: Build CMake Tests | |
run: | | |
source OpenDDS/setenv.sh | |
mkdir OpenDDS/tests/cmake/build | |
cd OpenDDS/tests/cmake/build | |
cmake .. | |
cmake --build . -- -j4 | |
- name: create OpenDDS tar.xz artifact | |
shell: bash | |
run: | | |
cd OpenDDS | |
rm -rf ACE_TAO | |
find . -iname "*\.o" | xargs rm | |
tar cvf ../${{ github.job }}.tar setenv.sh | |
git clean -xdfn | cut -d ' ' -f 3- | xargs tar uvf ../${{ github.job }}.tar | |
xz -3 ../${{ github.job }}.tar | |
- name: upload OpenDDS artifact | |
uses: actions/upload-artifact@v4 | |
with: | |
name: ${{ github.job }}_artifact | |
path: ${{ github.job }}.tar.xz | |
test_u22_d0i0v1_sec_js0_FM-08: | |
runs-on: ubuntu-22.04 | |
needs: build_u22_d0i0v1_sec_js0_FM-08 | |
permissions: | |
contents: read | |
id-token: write | |
steps: | |
- name: install xerces | |
run: sudo apt-get -y install libxerces-c-dev | |
- name: checkout MPC | |
uses: actions/checkout@v4 | |
with: | |
repository: DOCGroup/MPC | |
path: MPC | |
- name: checkout autobuild | |
uses: actions/checkout@v4 | |
with: | |
repository: DOCGroup/autobuild | |
path: autobuild | |
- name: checkout ACE_TAO | |
uses: actions/checkout@v4 | |
with: | |
repository: DOCGroup/ACE_TAO | |
ref: ace6tao2 | |
path: ACE_TAO | |
- name: download ACE_TAO artifact | |
uses: actions/download-artifact@v4 | |
with: | |
name: ACE_TAO_u22_d0i0v1_sec_js0_FM-08_artifact | |
path: ACE_TAO | |
- name: extract ACE_TAO artifact | |
shell: bash | |
run: | | |
cd ACE_TAO | |
tar xvfJ ACE_TAO_u22_d0i0v1_sec_js0_FM-08.tar.xz | |
- name: checkout OpenDDS | |
uses: actions/checkout@v4 | |
with: | |
path: OpenDDS | |
submodules: true | |
- name: download OpenDDS artifact | |
uses: actions/download-artifact@v4 | |
with: | |
name: build_u22_d0i0v1_sec_js0_FM-08_artifact | |
path: OpenDDS | |
- name: extract OpenDDS artifact | |
shell: bash | |
run: | | |
cd OpenDDS | |
tar xvfJ build_u22_d0i0v1_sec_js0_FM-08.tar.xz | |
- name: check build configuration | |
shell: bash | |
run: | | |
cd OpenDDS | |
. setenv.sh | |
tools/scripts/show_build_config.pl | |
- name: install gdb | |
shell: bash | |
run: | | |
sudo apt-get update | |
sudo apt-get install gdb | |
echo 0 | sudo tee /proc/sys/kernel/yama/ptrace_scope | |
- name: change core file pattern | |
shell: bash | |
run: | | |
sudo sysctl -w kernel.core_pattern=core.%e.%p | |
echo Core file pattern set to: | |
cat /proc/sys/kernel/core_pattern | |
- name: run OpenDDS tests | |
shell: bash | |
run: | | |
ulimit -c unlimited | |
cd OpenDDS | |
echo "export ACE_TEST_LOG_STUCK_STACKS=1" >> setenv.sh | |
. setenv.sh | |
mkdir ${{ github.job }}_autobuild_workspace | |
cd ${{ github.job }}_autobuild_workspace | |
echo using commit $TRIGGERING_COMMIT for SHA | |
echo $TRIGGERING_COMMIT >> ./SHA | |
cat > config.xml <<EOF | |
<autobuild> | |
<configuration> | |
<variable name="log_file" value="output"/> | |
<variable name="log_root" value="$DDS_ROOT/${{ github.job }}_autobuild_workspace/logs"/> | |
<variable name="project_root" value="$DDS_ROOT"/> | |
<variable name="root" value="$DDS_ROOT/${{ github.job }}_autobuild_workspace"/> | |
<variable name="junit_xml_output" value="Tests"/> | |
</configuration> | |
<command name="log" options="on"/> | |
<command name="print_os_version"/> | |
<command name="print_ace_config"/> | |
<command name="print_cmake_version"/> | |
<command name="print_make_version"/> | |
<command name="check_compiler" options="gcc"/> | |
<command name="print_perl_version"/> | |
<command name="print_autobuild_config"/> | |
<command name="auto_run_tests" options="script_path=tests dir=$GITHUB_WORKSPACE/OpenDDS -Config XERCES3 -Config WCHAR -Config CXX11 -Config OPENDDS_SECURITY -Config NO_BUILT_IN_TOPICS -Config DDS_NO_CONTENT_SUBSCRIPTION -Config DDS_NO_OWNERSHIP_PROFILE -Config DDS_NO_OBJECT_MODEL_PROFILE -Config DDS_NO_PERSISTENCE_PROFILE -Config NO_UNIT_TESTS --security --cmake"/> | |
<command name="log" options="off"/> | |
<command name="process_logs" options="move prettify index"/> | |
</autobuild> | |
EOF | |
$GITHUB_WORKSPACE/autobuild/autobuild.pl "$GITHUB_WORKSPACE/OpenDDS/${{ github.job }}_autobuild_workspace/config.xml" | |
- name: upload autobuild output | |
uses: actions/upload-artifact@v4 | |
with: | |
name: ${{ github.job }}_autobuild_output | |
path: OpenDDS/${{ github.job }}_autobuild_workspace | |
- name: Authenticate to Google Cloud | |
uses: google-github-actions/auth@v2 | |
with: | |
workload_identity_provider: projects/30587790497/locations/global/workloadIdentityPools/gha-scoreboard-upload/providers/gha-provider | |
service_account: [email protected] | |
if: ${{ github.repository == 'OpenDDS/OpenDDS' && github.ref == env.SCOREBOARD_UPLOAD_BRANCH }} | |
- name: get OpenDDS version | |
shell: bash | |
run: | | |
cd OpenDDS | |
echo "OPENDDS_MAJOR_VERSION=$(grep '#define OPENDDS_MAJOR_VERSION' dds/Version.h | cut -d' ' -f3)" >> $GITHUB_ENV | |
- name: upload to Google Cloud | |
uses: 'google-github-actions/upload-cloud-storage@v2' | |
with: | |
path: OpenDDS/${{ github.job }}_autobuild_workspace/logs | |
destination: opendds-gha-scoreboard-uploads/${{ env.OPENDDS_MAJOR_VERSION }}/${{ github.job }} | |
parent: false | |
process_gcloudignore: false | |
if: ${{ github.repository == 'OpenDDS/OpenDDS' && github.ref == env.SCOREBOARD_UPLOAD_BRANCH }} | |
- name: check results | |
shell: bash | |
run: | | |
$GITHUB_WORKSPACE/OpenDDS/tools/scripts/autobuild_brief_html_to_text.pl "$GITHUB_WORKSPACE/OpenDDS/${{ github.job }}_autobuild_workspace/logs/"*_Brief.html | |
cat "$GITHUB_WORKSPACE/OpenDDS/${{ github.job }}_autobuild_workspace/logs/latest.txt" | |
grep -q 'Failures: 0' "$GITHUB_WORKSPACE/OpenDDS/${{ github.job }}_autobuild_workspace/logs/latest.txt" | |
ACE_TAO_u20_clang12_i0w1_sec: | |
runs-on: ubuntu-20.04 | |
steps: | |
- name: checkout OpenDDS | |
uses: actions/checkout@v4 | |
with: | |
path: OpenDDS | |
submodules: true | |
- name: checkout ACE_TAO | |
uses: actions/checkout@v4 | |
with: | |
repository: DOCGroup/ACE_TAO | |
ref: ace6tao2 | |
path: OpenDDS/ACE_TAO | |
- name: get ACE_TAO commit | |
shell: bash | |
run: | | |
cd OpenDDS/ACE_TAO | |
export ACE_COMMIT=$(git rev-parse HEAD) | |
echo "ACE_COMMIT=$ACE_COMMIT" >> $GITHUB_ENV | |
- name: get compiler version | |
shell: bash | |
run: | | |
export COMPILER_VERSION=$(clang++-12 --version 2>&1 | head -n 1) | |
echo "COMPILER_VERSION=$COMPILER_VERSION" >> $GITHUB_ENV | |
- name: Cache Artifact | |
id: cache-artifact | |
uses: actions/cache@v4 | |
with: | |
path: ${{ github.job }}.tar.xz | |
key: c02_${{ github.job }}_ace6tao2_${{ env.ACE_COMMIT }}_${{ env.COMPILER_VERSION }} | |
- name: install xerces | |
if: steps.cache-artifact.outputs.cache-hit != 'true' | |
run: sudo apt-get -y install libxerces-c-dev | |
- name: checkout MPC | |
if: steps.cache-artifact.outputs.cache-hit != 'true' | |
uses: actions/checkout@v4 | |
with: | |
repository: DOCGroup/MPC | |
path: MPC | |
- name: configure OpenDDS | |
if: steps.cache-artifact.outputs.cache-hit != 'true' | |
run: | | |
cd OpenDDS | |
./configure \ | |
--ace=$GITHUB_WORKSPACE/OpenDDS/ACE_TAO/ACE \ | |
--mpc=$GITHUB_WORKSPACE/MPC \ | |
--compiler=clang++-12 \ | |
--std=c++11 \ | |
--no-inline \ | |
--features=uses_wchar=1 \ | |
--macros=SOFLAGS+=-Wl,-h,\$\(SONAME\) \ | |
--tests \ | |
--security \ | |
--compile-warnings=WARNING | |
- name: build ACE and TAO | |
if: steps.cache-artifact.outputs.cache-hit != 'true' | |
run: | | |
cd OpenDDS | |
. setenv.sh | |
cd ACE_TAO/ACE | |
make -j4 | |
cd ../TAO | |
make -j4 | |
- name: create ACE_TAO tar.xz artifact | |
if: steps.cache-artifact.outputs.cache-hit != 'true' | |
shell: bash | |
run: | | |
cd OpenDDS/ACE_TAO | |
perl -ni.bak -e "print unless /opendds/" ACE/bin/MakeProjectCreator/config/default.features # remove opendds features from here, let individual build configure scripts handle those | |
find . -iname "*\.o" | xargs rm | |
tar cvf ../../${{ github.job }}.tar ACE/ace/config.h | |
git clean -xdfn | cut -d ' ' -f 3- | xargs tar uvf ../../${{ github.job }}.tar | |
xz -3 ../../${{ github.job }}.tar | |
- name: upload ACE_TAO artifact | |
uses: actions/upload-artifact@v4 | |
with: | |
name: ${{ github.job }}_artifact | |
path: ${{ github.job }}.tar.xz | |
build_u20_clang12_i0w1_sec: | |
runs-on: ubuntu-20.04 | |
needs: ACE_TAO_u20_clang12_i0w1_sec | |
steps: | |
- name: Update apt indexes | |
run: sudo apt-get -y update | |
- name: install xerces | |
run: sudo apt-get -y install libxerces-c-dev | |
- name: checkout MPC | |
uses: actions/checkout@v4 | |
with: | |
repository: DOCGroup/MPC | |
path: MPC | |
- name: checkout ACE_TAO | |
uses: actions/checkout@v4 | |
with: | |
repository: DOCGroup/ACE_TAO | |
ref: ace6tao2 | |
path: ACE_TAO | |
- name: download ACE_TAO artifact | |
uses: actions/download-artifact@v4 | |
with: | |
name: ACE_TAO_u20_clang12_i0w1_sec_artifact | |
path: ACE_TAO | |
- name: extract ACE_TAO artifact | |
shell: bash | |
run: | | |
cd ACE_TAO | |
tar xvfJ ACE_TAO_u20_clang12_i0w1_sec.tar.xz | |
- name: checkout OpenDDS | |
uses: actions/checkout@v4 | |
with: | |
path: OpenDDS | |
submodules: true | |
- name: configure OpenDDS | |
run: | | |
cd OpenDDS | |
./configure \ | |
--ace=$GITHUB_WORKSPACE/ACE_TAO/ACE \ | |
--mpc=$GITHUB_WORKSPACE/MPC \ | |
--compiler=clang++-12 \ | |
--std=c++11 \ | |
--no-inline \ | |
--features=uses_wchar=1 \ | |
--macros=SOFLAGS+=-Wl,-h,\$\(SONAME\) \ | |
--tests \ | |
--security \ | |
--rapidjson \ | |
--compile-warnings=WARNING | |
- name: check build configuration | |
shell: bash | |
run: | | |
cd OpenDDS | |
. setenv.sh | |
tools/scripts/show_build_config.pl | |
- uses: ammaraskar/[email protected] | |
- name: build OpenDDS | |
shell: bash | |
run: | | |
cd OpenDDS | |
. setenv.sh | |
make -j4 | |
- name: Build CMake Tests | |
run: | | |
source OpenDDS/setenv.sh | |
mkdir OpenDDS/tests/cmake/build | |
cd OpenDDS/tests/cmake/build | |
cmake -DCMAKE_CXX_STANDARD=11 -DCMAKE_CXX_COMPILER=clang++-12 .. | |
cmake --build . -- -j4 | |
- name: create OpenDDS tar.xz artifact | |
shell: bash | |
run: | | |
cd OpenDDS | |
rm -rf ACE_TAO | |
find . -iname "*\.o" | xargs rm | |
tar cvf ../${{ github.job }}.tar setenv.sh | |
git clean -xdfn | cut -d ' ' -f 3- | xargs tar uvf ../${{ github.job }}.tar | |
xz -3 ../${{ github.job }}.tar | |
- name: upload OpenDDS artifact | |
uses: actions/upload-artifact@v4 | |
with: | |
name: ${{ github.job }}_artifact | |
path: ${{ github.job }}.tar.xz | |
cmake_u20_clang12_i0w1_sec: | |
runs-on: ubuntu-20.04 | |
needs: build_u20_clang12_i0w1_sec | |
permissions: | |
contents: read | |
id-token: write | |
steps: | |
- name: Update apt indexes | |
run: sudo apt-get -y update | |
- name: install xerces | |
run: sudo apt-get -y install libxerces-c-dev | |
- name: checkout MPC | |
uses: actions/checkout@v4 | |
with: | |
repository: DOCGroup/MPC | |
path: MPC | |
- name: checkout autobuild | |
uses: actions/checkout@v4 | |
with: | |
repository: DOCGroup/autobuild | |
path: autobuild | |
- name: checkout ACE_TAO | |
uses: actions/checkout@v4 | |
with: | |
repository: DOCGroup/ACE_TAO | |
ref: ace6tao2 | |
path: ACE_TAO | |
- name: download ACE_TAO artifact | |
uses: actions/download-artifact@v4 | |
with: | |
name: ACE_TAO_u20_clang12_i0w1_sec_artifact | |
path: ACE_TAO | |
- name: extract ACE_TAO artifact | |
shell: bash | |
run: | | |
cd ACE_TAO | |
tar xvfJ ACE_TAO_u20_clang12_i0w1_sec.tar.xz | |
- name: checkout OpenDDS | |
uses: actions/checkout@v4 | |
with: | |
path: OpenDDS | |
submodules: true | |
- name: download OpenDDS artifact | |
uses: actions/download-artifact@v4 | |
with: | |
name: build_u20_clang12_i0w1_sec_artifact | |
path: OpenDDS | |
- name: extract OpenDDS artifact | |
shell: bash | |
run: | | |
cd OpenDDS | |
tar xvfJ build_u20_clang12_i0w1_sec.tar.xz | |
- name: check build configuration | |
shell: bash | |
run: | | |
cd OpenDDS | |
. setenv.sh | |
tools/scripts/show_build_config.pl | |
- name: install lldb | |
shell: bash | |
run: | | |
sudo apt-get update | |
sudo apt-get install lldb | |
echo 0 | sudo tee /proc/sys/kernel/yama/ptrace_scope | |
- name: change core file pattern | |
shell: bash | |
run: | | |
sudo sysctl -w kernel.core_pattern=core.%e.%p | |
echo Core file pattern set to: | |
cat /proc/sys/kernel/core_pattern | |
- name: run OpenDDS tests | |
shell: bash | |
run: | | |
ulimit -c unlimited | |
cd OpenDDS | |
echo "export ACE_TEST_LOG_STUCK_STACKS=1" >> setenv.sh | |
echo "export ACE_TEST_DEBUGGER=lldb" >> setenv.sh | |
. setenv.sh | |
mkdir ${{ github.job }}_autobuild_workspace | |
cd ${{ github.job }}_autobuild_workspace | |
echo using commit $TRIGGERING_COMMIT for SHA | |
echo $TRIGGERING_COMMIT >> ./SHA | |
cat > config.xml <<EOF | |
<autobuild> | |
<configuration> | |
<variable name="log_file" value="output"/> | |
<variable name="log_root" value="$DDS_ROOT/${{ github.job }}_autobuild_workspace/logs"/> | |
<variable name="project_root" value="$DDS_ROOT"/> | |
<variable name="root" value="$DDS_ROOT/${{ github.job }}_autobuild_workspace"/> | |
<variable name="junit_xml_output" value="Tests"/> | |
</configuration> | |
<command name="log" options="on"/> | |
<command name="print_os_version"/> | |
<command name="print_ace_config"/> | |
<command name="print_cmake_version"/> | |
<command name="print_make_version"/> | |
<command name="check_compiler" options="gcc"/> | |
<command name="print_perl_version"/> | |
<command name="print_autobuild_config"/> | |
<command name="auto_run_tests" options="script_path=tests dir=$GITHUB_WORKSPACE/OpenDDS --no-dcps --cmake"/> | |
<command name="log" options="off"/> | |
<command name="process_logs" options="move prettify index"/> | |
</autobuild> | |
EOF | |
$GITHUB_WORKSPACE/autobuild/autobuild.pl "$GITHUB_WORKSPACE/OpenDDS/${{ github.job }}_autobuild_workspace/config.xml" | |
- name: upload autobuild output | |
uses: actions/upload-artifact@v4 | |
with: | |
name: ${{ github.job }}_autobuild_output | |
path: OpenDDS/${{ github.job }}_autobuild_workspace | |
- name: Authenticate to Google Cloud | |
uses: google-github-actions/auth@v2 | |
with: | |
workload_identity_provider: projects/30587790497/locations/global/workloadIdentityPools/gha-scoreboard-upload/providers/gha-provider | |
service_account: [email protected] | |
if: ${{ github.repository == 'OpenDDS/OpenDDS' && github.ref == env.SCOREBOARD_UPLOAD_BRANCH }} | |
- name: get OpenDDS version | |
shell: bash | |
run: | | |
cd OpenDDS | |
echo "OPENDDS_MAJOR_VERSION=$(grep '#define OPENDDS_MAJOR_VERSION' dds/Version.h | cut -d' ' -f3)" >> $GITHUB_ENV | |
- name: upload to Google Cloud | |
uses: 'google-github-actions/upload-cloud-storage@v2' | |
with: | |
path: OpenDDS/${{ github.job }}_autobuild_workspace/logs | |
destination: opendds-gha-scoreboard-uploads/${{ env.OPENDDS_MAJOR_VERSION }}/${{ github.job }} | |
parent: false | |
process_gcloudignore: false | |
if: ${{ github.repository == 'OpenDDS/OpenDDS' && github.ref == env.SCOREBOARD_UPLOAD_BRANCH }} | |
- name: check results | |
shell: bash | |
run: | | |
$GITHUB_WORKSPACE/OpenDDS/tools/scripts/autobuild_brief_html_to_text.pl "$GITHUB_WORKSPACE/OpenDDS/${{ github.job }}_autobuild_workspace/logs/"*_Brief.html | |
cat "$GITHUB_WORKSPACE/OpenDDS/${{ github.job }}_autobuild_workspace/logs/latest.txt" | |
grep -q 'Failures: 0' "$GITHUB_WORKSPACE/OpenDDS/${{ github.job }}_autobuild_workspace/logs/latest.txt" | |
ACE_TAO_u20_clang10_sec_js0: | |
runs-on: ubuntu-20.04 | |
steps: | |
- name: checkout OpenDDS | |
uses: actions/checkout@v4 | |
with: | |
path: OpenDDS | |
submodules: true | |
- name: checkout ACE_TAO | |
uses: actions/checkout@v4 | |
with: | |
repository: DOCGroup/ACE_TAO | |
ref: ace6tao2 | |
path: OpenDDS/ACE_TAO | |
- name: get ACE_TAO commit | |
shell: bash | |
run: | | |
cd OpenDDS/ACE_TAO | |
export ACE_COMMIT=$(git rev-parse HEAD) | |
echo "ACE_COMMIT=$ACE_COMMIT" >> $GITHUB_ENV | |
- name: get compiler version | |
shell: bash | |
run: | | |
export COMPILER_VERSION=$(clang++-10 --version 2>&1 | head -n 1) | |
echo "COMPILER_VERSION=$COMPILER_VERSION" >> $GITHUB_ENV | |
- name: Cache Artifact | |
id: cache-artifact | |
uses: actions/cache@v4 | |
with: | |
path: ${{ github.job }}.tar.xz | |
key: c02_${{ github.job }}_ace6tao2_${{ env.ACE_COMMIT }}_${{ env.COMPILER_VERSION }} | |
- name: install xerces | |
if: steps.cache-artifact.outputs.cache-hit != 'true' | |
run: sudo apt-get -y install libxerces-c-dev | |
- name: checkout MPC | |
if: steps.cache-artifact.outputs.cache-hit != 'true' | |
uses: actions/checkout@v4 | |
with: | |
repository: DOCGroup/MPC | |
path: MPC | |
- name: configure OpenDDS | |
if: steps.cache-artifact.outputs.cache-hit != 'true' | |
run: | | |
cd OpenDDS | |
./configure \ | |
--ace=$GITHUB_WORKSPACE/OpenDDS/ACE_TAO/ACE \ | |
--mpc=$GITHUB_WORKSPACE/MPC \ | |
--compiler=clang++-10 \ | |
--std=c++11 \ | |
--macros=SOFLAGS+=-Wl,-h,\$\(SONAME\) \ | |
--tests \ | |
--security \ | |
--no-rapidjson \ | |
--compile-warnings=WARNING | |
- name: build ACE and TAO | |
if: steps.cache-artifact.outputs.cache-hit != 'true' | |
run: | | |
cd OpenDDS | |
. setenv.sh | |
cd ACE_TAO/ACE | |
make -j4 | |
cd ../TAO | |
make -j4 | |
- name: create ACE_TAO tar.xz artifact | |
if: steps.cache-artifact.outputs.cache-hit != 'true' | |
shell: bash | |
run: | | |
cd OpenDDS/ACE_TAO | |
perl -ni.bak -e "print unless /opendds/" ACE/bin/MakeProjectCreator/config/default.features # remove opendds features from here, let individual build configure scripts handle those | |
find . -iname "*\.o" | xargs rm | |
tar cvf ../../${{ github.job }}.tar ACE/ace/config.h | |
git clean -xdfn | cut -d ' ' -f 3- | xargs tar uvf ../../${{ github.job }}.tar | |
xz -3 ../../${{ github.job }}.tar | |
- name: upload ACE_TAO artifact | |
uses: actions/upload-artifact@v4 | |
with: | |
name: ${{ github.job }}_artifact | |
path: ${{ github.job }}.tar.xz | |
build_u20_clang10_sec_js0: | |
runs-on: ubuntu-20.04 | |
needs: ACE_TAO_u20_clang10_sec_js0 | |
steps: | |
- name: Update apt indexes | |
run: sudo apt-get -y update | |
- name: install xerces | |
run: sudo apt-get -y install libxerces-c-dev | |
- name: checkout MPC | |
uses: actions/checkout@v4 | |
with: | |
repository: DOCGroup/MPC | |
path: MPC | |
- name: checkout ACE_TAO | |
uses: actions/checkout@v4 | |
with: | |
repository: DOCGroup/ACE_TAO | |
ref: ace6tao2 | |
path: ACE_TAO | |
- name: download ACE_TAO artifact | |
uses: actions/download-artifact@v4 | |
with: | |
name: ACE_TAO_u20_clang10_sec_js0_artifact | |
path: ACE_TAO | |
- name: extract ACE_TAO artifact | |
shell: bash | |
run: | | |
cd ACE_TAO | |
tar xvfJ ACE_TAO_u20_clang10_sec_js0.tar.xz | |
- name: checkout OpenDDS | |
uses: actions/checkout@v4 | |
with: | |
path: OpenDDS | |
submodules: true | |
- name: configure OpenDDS | |
run: | | |
cd OpenDDS | |
./configure \ | |
--ace=$GITHUB_WORKSPACE/ACE_TAO/ACE \ | |
--mpc=$GITHUB_WORKSPACE/MPC \ | |
--compiler=clang++-10 \ | |
--std=c++11 \ | |
--macros=SOFLAGS+=-Wl,-h,\$\(SONAME\) \ | |
--tests \ | |
--security \ | |
--no-rapidjson \ | |
--features no_opendds_testing_features=0 \ | |
--compile-warnings=WARNING | |
- name: check build configuration | |
shell: bash | |
run: | | |
cd OpenDDS | |
. setenv.sh | |
tools/scripts/show_build_config.pl | |
- uses: ammaraskar/[email protected] | |
- name: build OpenDDS | |
shell: bash | |
run: | | |
cd OpenDDS | |
. setenv.sh | |
make -j4 | |
- name: Build CMake Tests | |
run: | | |
source OpenDDS/setenv.sh | |
mkdir OpenDDS/tests/cmake/build | |
cd OpenDDS/tests/cmake/build | |
cmake -DCMAKE_CXX_STANDARD=11 -DCMAKE_CXX_COMPILER=clang++-10 .. | |
cmake --build . -- -j4 | |
- name: create OpenDDS tar.xz artifact | |
shell: bash | |
run: | | |
cd OpenDDS | |
rm -rf ACE_TAO | |
find . -iname "*\.o" | xargs rm | |
tar cvf ../${{ github.job }}.tar setenv.sh | |
git clean -xdfn | cut -d ' ' -f 3- | xargs tar uvf ../${{ github.job }}.tar | |
xz -3 ../${{ github.job }}.tar | |
- name: upload OpenDDS artifact | |
uses: actions/upload-artifact@v4 | |
with: | |
name: ${{ github.job }}_artifact | |
path: ${{ github.job }}.tar.xz | |
cmake_u20_clang10_sec_js0: | |
runs-on: ubuntu-20.04 | |
needs: build_u20_clang10_sec_js0 | |
permissions: | |
contents: read | |
id-token: write | |
steps: | |
- name: Update apt indexes | |
run: sudo apt-get -y update | |
- name: install xerces | |
run: sudo apt-get -y install libxerces-c-dev | |
- name: checkout MPC | |
uses: actions/checkout@v4 | |
with: | |
repository: DOCGroup/MPC | |
path: MPC | |
- name: checkout autobuild | |
uses: actions/checkout@v4 | |
with: | |
repository: DOCGroup/autobuild | |
path: autobuild | |
- name: checkout ACE_TAO | |
uses: actions/checkout@v4 | |
with: | |
repository: DOCGroup/ACE_TAO | |
ref: ace6tao2 | |
path: ACE_TAO | |
- name: download ACE_TAO artifact | |
uses: actions/download-artifact@v4 | |
with: | |
name: ACE_TAO_u20_clang10_sec_js0_artifact | |
path: ACE_TAO | |
- name: extract ACE_TAO artifact | |
shell: bash | |
run: | | |
cd ACE_TAO | |
tar xvfJ ACE_TAO_u20_clang10_sec_js0.tar.xz | |
- name: checkout OpenDDS | |
uses: actions/checkout@v4 | |
with: | |
path: OpenDDS | |
submodules: true | |
- name: download OpenDDS artifact | |
uses: actions/download-artifact@v4 | |
with: | |
name: build_u20_clang10_sec_js0_artifact | |
path: OpenDDS | |
- name: extract OpenDDS artifact | |
shell: bash | |
run: | | |
cd OpenDDS | |
tar xvfJ build_u20_clang10_sec_js0.tar.xz | |
- name: check build configuration | |
shell: bash | |
run: | | |
cd OpenDDS | |
. setenv.sh | |
tools/scripts/show_build_config.pl | |
- name: install lldb | |
shell: bash | |
run: | | |
sudo apt-get update | |
sudo apt-get install lldb | |
echo 0 | sudo tee /proc/sys/kernel/yama/ptrace_scope | |
- name: change core file pattern | |
shell: bash | |
run: | | |
sudo sysctl -w kernel.core_pattern=core.%e.%p | |
echo Core file pattern set to: | |
cat /proc/sys/kernel/core_pattern | |
- name: run OpenDDS tests | |
shell: bash | |
run: | | |
ulimit -c unlimited | |
cd OpenDDS | |
echo "export ACE_TEST_LOG_STUCK_STACKS=1" >> setenv.sh | |
echo "export ACE_TEST_DEBUGGER=lldb" >> setenv.sh | |
. setenv.sh | |
mkdir ${{ github.job }}_autobuild_workspace | |
cd ${{ github.job }}_autobuild_workspace | |
echo using commit $TRIGGERING_COMMIT for SHA | |
echo $TRIGGERING_COMMIT >> ./SHA | |
cat > config.xml <<EOF | |
<autobuild> | |
<configuration> | |
<variable name="log_file" value="output"/> | |
<variable name="log_root" value="$DDS_ROOT/${{ github.job }}_autobuild_workspace/logs"/> | |
<variable name="project_root" value="$DDS_ROOT"/> | |
<variable name="root" value="$DDS_ROOT/${{ github.job }}_autobuild_workspace"/> | |
<variable name="junit_xml_output" value="Tests"/> | |
</configuration> | |
<command name="log" options="on"/> | |
<command name="print_os_version"/> | |
<command name="print_ace_config"/> | |
<command name="print_cmake_version"/> | |
<command name="print_make_version"/> | |
<command name="check_compiler" options="gcc"/> | |
<command name="print_perl_version"/> | |
<command name="print_autobuild_config"/> | |
<command name="auto_run_tests" options="script_path=tests dir=$GITHUB_WORKSPACE/OpenDDS --no-dcps --cmake -Config OPENDDS_TESTING_FEATURES"/> | |
<command name="log" options="off"/> | |
<command name="process_logs" options="move prettify index"/> | |
</autobuild> | |
EOF | |
$GITHUB_WORKSPACE/autobuild/autobuild.pl "$GITHUB_WORKSPACE/OpenDDS/${{ github.job }}_autobuild_workspace/config.xml" | |
- name: upload autobuild output | |
uses: actions/upload-artifact@v4 | |
with: | |
name: ${{ github.job }}_autobuild_output | |
path: OpenDDS/${{ github.job }}_autobuild_workspace | |
- name: Authenticate to Google Cloud | |
uses: google-github-actions/auth@v2 | |
with: | |
workload_identity_provider: projects/30587790497/locations/global/workloadIdentityPools/gha-scoreboard-upload/providers/gha-provider | |
service_account: [email protected] | |
if: ${{ github.repository == 'OpenDDS/OpenDDS' && github.ref == env.SCOREBOARD_UPLOAD_BRANCH }} | |
- name: get OpenDDS version | |
shell: bash | |
run: | | |
cd OpenDDS | |
echo "OPENDDS_MAJOR_VERSION=$(grep '#define OPENDDS_MAJOR_VERSION' dds/Version.h | cut -d' ' -f3)" >> $GITHUB_ENV | |
- name: upload to Google Cloud | |
uses: 'google-github-actions/upload-cloud-storage@v2' | |
with: | |
path: OpenDDS/${{ github.job }}_autobuild_workspace/logs | |
destination: opendds-gha-scoreboard-uploads/${{ env.OPENDDS_MAJOR_VERSION }}/${{ github.job }} | |
parent: false | |
process_gcloudignore: false | |
if: ${{ github.repository == 'OpenDDS/OpenDDS' && github.ref == env.SCOREBOARD_UPLOAD_BRANCH }} | |
- name: check results | |
shell: bash | |
run: | | |
$GITHUB_WORKSPACE/OpenDDS/tools/scripts/autobuild_brief_html_to_text.pl "$GITHUB_WORKSPACE/OpenDDS/${{ github.job }}_autobuild_workspace/logs/"*_Brief.html | |
cat "$GITHUB_WORKSPACE/OpenDDS/${{ github.job }}_autobuild_workspace/logs/latest.txt" | |
grep -q 'Failures: 0' "$GITHUB_WORKSPACE/OpenDDS/${{ github.job }}_autobuild_workspace/logs/latest.txt" | |
ACE_TAO_u20_gcc9_d0w1_cpp03: | |
runs-on: ubuntu-20.04 | |
steps: | |
- name: checkout OpenDDS | |
uses: actions/checkout@v4 | |
with: | |
path: OpenDDS | |
submodules: false # Otherwise this would conflict with --force-clone-submodules | |
- name: checkout ACE_TAO | |
uses: actions/checkout@v4 | |
with: | |
repository: DOCGroup/ACE_TAO | |
ref: ace6tao2 | |
path: OpenDDS/ACE_TAO | |
- name: get ACE_TAO commit | |
shell: bash | |
run: | | |
cd OpenDDS/ACE_TAO | |
export ACE_COMMIT=$(git rev-parse HEAD) | |
echo "ACE_COMMIT=$ACE_COMMIT" >> $GITHUB_ENV | |
- name: get compiler version | |
shell: bash | |
run: | | |
export COMPILER_VERSION=$(g++-9 --version 2>&1 | head -n 1) | |
echo "COMPILER_VERSION=$COMPILER_VERSION" >> $GITHUB_ENV | |
- name: Cache Artifact | |
id: cache-artifact | |
uses: actions/cache@v4 | |
with: | |
path: ${{ github.job }}.tar.xz | |
key: c01_${{ github.job }}_ace6tao2_${{ env.ACE_COMMIT }}_${{ env.COMPILER_VERSION }} | |
- name: install xerces | |
if: steps.cache-artifact.outputs.cache-hit != 'true' | |
run: sudo apt-get -y install libxerces-c-dev | |
- name: checkout MPC | |
if: steps.cache-artifact.outputs.cache-hit != 'true' | |
uses: actions/checkout@v4 | |
with: | |
repository: DOCGroup/MPC | |
path: MPC | |
- name: configure OpenDDS | |
if: steps.cache-artifact.outputs.cache-hit != 'true' | |
run: | | |
cd OpenDDS | |
./configure \ | |
--force-clone-submodules \ | |
--compiler=g++-9 \ | |
--no-debug \ | |
--features=uses_wchar=1 \ | |
--std=c++03 \ | |
--tests \ | |
--ace=$GITHUB_WORKSPACE/OpenDDS/ACE_TAO/ACE \ | |
--mpc=$GITHUB_WORKSPACE/MPC \ | |
--compile-warnings=WARNING | |
- name: build ACE and TAO | |
if: steps.cache-artifact.outputs.cache-hit != 'true' | |
run: | | |
cd OpenDDS | |
. setenv.sh | |
cd ACE_TAO/ACE | |
make -j4 | |
cd ../TAO | |
make -j4 | |
- name: create ACE_TAO tar.xz artifact | |
if: steps.cache-artifact.outputs.cache-hit != 'true' | |
shell: bash | |
run: | | |
cd OpenDDS/ACE_TAO | |
perl -ni.bak -e "print unless /opendds/" ACE/bin/MakeProjectCreator/config/default.features # remove opendds features from here, let individual build configure scripts handle those | |
find . -iname "*\.o" | xargs rm | |
tar cvf ../../${{ github.job }}.tar ACE/ace/config.h | |
git clean -xdfn | cut -d ' ' -f 3- | xargs tar uvf ../../${{ github.job }}.tar | |
xz -3 ../../${{ github.job }}.tar | |
- name: upload ACE_TAO artifact | |
uses: actions/upload-artifact@v4 | |
with: | |
name: ${{ github.job }}_artifact | |
path: ${{ github.job }}.tar.xz | |
build_u20_gcc9_d0w1_cpp03: | |
runs-on: ubuntu-20.04 | |
needs: ACE_TAO_u20_gcc9_d0w1_cpp03 | |
steps: | |
- name: Update apt indexes | |
run: sudo apt-get -y update | |
- name: install xerces | |
run: sudo apt-get -y install libxerces-c-dev | |
- name: checkout MPC | |
uses: actions/checkout@v4 | |
with: | |
repository: DOCGroup/MPC | |
path: MPC | |
- name: checkout ACE_TAO | |
uses: actions/checkout@v4 | |
with: | |
repository: DOCGroup/ACE_TAO | |
ref: ace6tao2 | |
path: ACE_TAO | |
- name: download ACE_TAO artifact | |
uses: actions/download-artifact@v4 | |
with: | |
name: ACE_TAO_u20_gcc9_d0w1_cpp03_artifact | |
path: ACE_TAO | |
- name: extract ACE_TAO artifact | |
shell: bash | |
run: | | |
cd ACE_TAO | |
tar xvfJ ACE_TAO_u20_gcc9_d0w1_cpp03.tar.xz | |
- name: checkout OpenDDS | |
uses: actions/checkout@v4 | |
with: | |
path: OpenDDS | |
submodules: false # Otherwise this would conflict with --force-clone-submodules | |
- name: configure OpenDDS | |
run: | | |
cd OpenDDS | |
./configure \ | |
--force-clone-submodules \ | |
--compiler=g++-9 \ | |
--no-debug \ | |
--features=uses_wchar=1 \ | |
--std=c++03 \ | |
--tests \ | |
--rapidjson \ | |
--ace=$GITHUB_WORKSPACE/ACE_TAO/ACE \ | |
--mpc=$GITHUB_WORKSPACE/MPC \ | |
--compile-warnings=WARNING | |
- name: check build configuration | |
shell: bash | |
run: | | |
cd OpenDDS | |
. setenv.sh | |
tools/scripts/show_build_config.pl | |
- uses: ammaraskar/[email protected] | |
- name: build OpenDDS | |
shell: bash | |
run: | | |
cd OpenDDS | |
. setenv.sh | |
make -j4 | |
- name: Build CMake Tests | |
run: | | |
source OpenDDS/setenv.sh | |
mkdir OpenDDS/tests/cmake/build | |
cd OpenDDS/tests/cmake/build | |
cmake -DCMAKE_CXX_STANDARD=98 -DCMAKE_CXX_COMPILER=g++-9 .. | |
cmake --build . -- -j4 | |
- name: create OpenDDS tar.xz artifact | |
shell: bash | |
run: | | |
cd OpenDDS | |
rm -rf ACE_TAO | |
find . -iname "*\.o" | xargs rm | |
tar cvf ../${{ github.job }}.tar setenv.sh | |
git clean -xdfn | cut -d ' ' -f 3- | xargs tar uvf ../${{ github.job }}.tar | |
xz -3 ../${{ github.job }}.tar | |
- name: upload OpenDDS artifact | |
uses: actions/upload-artifact@v4 | |
with: | |
name: ${{ github.job }}_artifact | |
path: ${{ github.job }}.tar.xz | |
cmake_u20_gcc9_d0w1_cpp03: | |
runs-on: ubuntu-20.04 | |
needs: build_u20_gcc9_d0w1_cpp03 | |
permissions: | |
contents: read | |
id-token: write | |
steps: | |
- name: checkout MPC | |
uses: actions/checkout@v4 | |
with: | |
repository: DOCGroup/MPC | |
path: MPC | |
- name: checkout autobuild | |
uses: actions/checkout@v4 | |
with: | |
repository: DOCGroup/autobuild | |
path: autobuild | |
- name: checkout ACE_TAO | |
uses: actions/checkout@v4 | |
with: | |
repository: DOCGroup/ACE_TAO | |
ref: ace6tao2 | |
path: ACE_TAO | |
- name: download ACE_TAO artifact | |
uses: actions/download-artifact@v4 | |
with: | |
name: ACE_TAO_u20_gcc9_d0w1_cpp03_artifact | |
path: ACE_TAO | |
- name: extract ACE_TAO artifact | |
shell: bash | |
run: | | |
cd ACE_TAO | |
tar xvfJ ACE_TAO_u20_gcc9_d0w1_cpp03.tar.xz | |
- name: checkout OpenDDS | |
uses: actions/checkout@v4 | |
with: | |
path: OpenDDS | |
submodules: true | |
- name: download OpenDDS artifact | |
uses: actions/download-artifact@v4 | |
with: | |
name: build_u20_gcc9_d0w1_cpp03_artifact | |
path: OpenDDS | |
- name: extract OpenDDS artifact | |
shell: bash | |
run: | | |
cd OpenDDS | |
tar xvfJ build_u20_gcc9_d0w1_cpp03.tar.xz | |
- name: check build configuration | |
shell: bash | |
run: | | |
cd OpenDDS | |
. setenv.sh | |
tools/scripts/show_build_config.pl | |
- name: install gdb | |
shell: bash | |
run: | | |
sudo apt-get update | |
sudo apt-get install gdb | |
echo 0 | sudo tee /proc/sys/kernel/yama/ptrace_scope | |
- name: change core file pattern | |
shell: bash | |
run: | | |
sudo sysctl -w kernel.core_pattern=core.%e.%p | |
echo Core file pattern set to: | |
cat /proc/sys/kernel/core_pattern | |
- name: run OpenDDS tests | |
shell: bash | |
run: | | |
ulimit -c unlimited | |
cd OpenDDS | |
echo "export ACE_TEST_LOG_STUCK_STACKS=1" >> setenv.sh | |
. setenv.sh | |
mkdir ${{ github.job }}_autobuild_workspace | |
cd ${{ github.job }}_autobuild_workspace | |
echo using commit $TRIGGERING_COMMIT for SHA | |
echo $TRIGGERING_COMMIT >> ./SHA | |
cat > config.xml <<EOF | |
<autobuild> | |
<configuration> | |
<variable name="log_file" value="output"/> | |
<variable name="log_root" value="$DDS_ROOT/${{ github.job }}_autobuild_workspace/logs"/> | |
<variable name="project_root" value="$DDS_ROOT"/> | |
<variable name="root" value="$DDS_ROOT/${{ github.job }}_autobuild_workspace"/> | |
<variable name="junit_xml_output" value="Tests"/> | |
</configuration> | |
<command name="log" options="on"/> | |
<command name="print_os_version"/> | |
<command name="print_ace_config"/> | |
<command name="print_cmake_version"/> | |
<command name="print_make_version"/> | |
<command name="check_compiler" options="gcc"/> | |
<command name="print_perl_version"/> | |
<command name="print_autobuild_config"/> | |
<command name="auto_run_tests" options="script_path=tests dir=$GITHUB_WORKSPACE/OpenDDS --no-dcps --cmake"/> | |
<command name="log" options="off"/> | |
<command name="process_logs" options="move prettify index"/> | |
</autobuild> | |
EOF | |
$GITHUB_WORKSPACE/autobuild/autobuild.pl "$GITHUB_WORKSPACE/OpenDDS/${{ github.job }}_autobuild_workspace/config.xml" | |
- name: upload autobuild output | |
uses: actions/upload-artifact@v4 | |
with: | |
name: ${{ github.job }}_autobuild_output | |
path: OpenDDS/${{ github.job }}_autobuild_workspace | |
- name: Authenticate to Google Cloud | |
uses: google-github-actions/auth@v2 | |
with: | |
workload_identity_provider: projects/30587790497/locations/global/workloadIdentityPools/gha-scoreboard-upload/providers/gha-provider | |
service_account: [email protected] | |
if: ${{ github.repository == 'OpenDDS/OpenDDS' && github.ref == env.SCOREBOARD_UPLOAD_BRANCH }} | |
- name: get OpenDDS version | |
shell: bash | |
run: | | |
cd OpenDDS | |
echo "OPENDDS_MAJOR_VERSION=$(grep '#define OPENDDS_MAJOR_VERSION' dds/Version.h | cut -d' ' -f3)" >> $GITHUB_ENV | |
- name: upload to Google Cloud | |
uses: 'google-github-actions/upload-cloud-storage@v2' | |
with: | |
path: OpenDDS/${{ github.job }}_autobuild_workspace/logs | |
destination: opendds-gha-scoreboard-uploads/${{ env.OPENDDS_MAJOR_VERSION }}/${{ github.job }} | |
parent: false | |
process_gcloudignore: false | |
if: ${{ github.repository == 'OpenDDS/OpenDDS' && github.ref == env.SCOREBOARD_UPLOAD_BRANCH }} | |
- name: check results | |
shell: bash | |
run: | | |
$GITHUB_WORKSPACE/OpenDDS/tools/scripts/autobuild_brief_html_to_text.pl "$GITHUB_WORKSPACE/OpenDDS/${{ github.job }}_autobuild_workspace/logs/"*_Brief.html | |
cat "$GITHUB_WORKSPACE/OpenDDS/${{ github.job }}_autobuild_workspace/logs/latest.txt" | |
grep -q 'Failures: 0' "$GITHUB_WORKSPACE/OpenDDS/${{ github.job }}_autobuild_workspace/logs/latest.txt" | |
ACE_TAO_u20_gcc8_i0_js0_j: | |
runs-on: ubuntu-20.04 | |
steps: | |
- name: install gcc and g++ | |
run: | | |
sudo apt-get install g++-8 | |
- name: checkout OpenDDS | |
uses: actions/checkout@v4 | |
with: | |
path: OpenDDS | |
submodules: true | |
- name: checkout ACE_TAO | |
uses: actions/checkout@v4 | |
with: | |
repository: DOCGroup/ACE_TAO | |
ref: ace6tao2 | |
path: OpenDDS/ACE_TAO | |
- name: get ACE_TAO commit | |
shell: bash | |
run: | | |
cd OpenDDS/ACE_TAO | |
export ACE_COMMIT=$(git rev-parse HEAD) | |
echo "ACE_COMMIT=$ACE_COMMIT" >> $GITHUB_ENV | |
- name: get compiler version | |
shell: bash | |
run: | | |
export COMPILER_VERSION=$(g++-8 --version 2>&1 | head -n 1) | |
echo "COMPILER_VERSION=$COMPILER_VERSION" >> $GITHUB_ENV | |
- name: get jdk version | |
shell: bash | |
run: | | |
export JDK_VERSION=$(java -version 2>&1 | grep -i version) | |
echo "JDK_VERSION=$JDK_VERSION" >> $GITHUB_ENV | |
- name: Cache Artifact | |
id: cache-artifact | |
uses: actions/cache@v4 | |
with: | |
path: ${{ github.job }}.tar.xz | |
key: c01_${{ github.job }}_ace6tao2_${{ env.ACE_COMMIT }}_${{ env.COMPILER_VERSION }}_${{ env.JDK_VERSION }} | |
- name: install xerces | |
if: steps.cache-artifact.outputs.cache-hit != 'true' | |
run: sudo apt-get -y install libxerces-c-dev | |
- name: checkout MPC | |
if: steps.cache-artifact.outputs.cache-hit != 'true' | |
uses: actions/checkout@v4 | |
with: | |
repository: DOCGroup/MPC | |
path: MPC | |
- name: configure OpenDDS | |
if: steps.cache-artifact.outputs.cache-hit != 'true' | |
run: | | |
cd OpenDDS | |
./configure --compiler=g++-8 --no-inline --no-rapidjson --tests --java --ace=$GITHUB_WORKSPACE/OpenDDS/ACE_TAO/ACE --mpc=$GITHUB_WORKSPACE/MPC --compile-warnings=WARNING | |
- name: build ACE and TAO | |
if: steps.cache-artifact.outputs.cache-hit != 'true' | |
run: | | |
cd OpenDDS | |
. setenv.sh | |
cd ACE_TAO/ACE | |
make -j4 | |
cd ../TAO | |
make -j4 | |
- name: create ACE_TAO tar.xz artifact | |
if: steps.cache-artifact.outputs.cache-hit != 'true' | |
shell: bash | |
run: | | |
cd OpenDDS/ACE_TAO | |
perl -ni.bak -e "print unless /opendds/" ACE/bin/MakeProjectCreator/config/default.features # remove opendds features from here, let individual build configure scripts handle those | |
find . -iname "*\.o" | xargs rm | |
tar cvf ../../${{ github.job }}.tar ACE/ace/config.h | |
git clean -xdfn | cut -d ' ' -f 3- | xargs tar uvf ../../${{ github.job }}.tar | |
xz -3 ../../${{ github.job }}.tar | |
- name: upload ACE_TAO artifact | |
uses: actions/upload-artifact@v4 | |
with: | |
name: ${{ github.job }}_artifact | |
path: ${{ github.job }}.tar.xz | |
build_u20_gcc8_i0_js0_j: | |
runs-on: ubuntu-20.04 | |
needs: ACE_TAO_u20_gcc8_i0_js0_j | |
steps: | |
- name: Update apt indexes | |
run: sudo apt-get -y update | |
- name: install gcc and g++ | |
run: | | |
sudo apt-get install g++-8 | |
- name: install xerces | |
run: sudo apt-get -y install libxerces-c-dev | |
- name: checkout MPC | |
uses: actions/checkout@v4 | |
with: | |
repository: DOCGroup/MPC | |
path: MPC | |
- name: checkout ACE_TAO | |
uses: actions/checkout@v4 | |
with: | |
repository: DOCGroup/ACE_TAO | |
ref: ace6tao2 | |
path: ACE_TAO | |
- name: download ACE_TAO artifact | |
uses: actions/download-artifact@v4 | |
with: | |
name: ACE_TAO_u20_gcc8_i0_js0_j_artifact | |
path: ACE_TAO | |
- name: extract ACE_TAO artifact | |
shell: bash | |
run: | | |
cd ACE_TAO | |
tar xvfJ ACE_TAO_u20_gcc8_i0_js0_j.tar.xz | |
- name: checkout OpenDDS | |
uses: actions/checkout@v4 | |
with: | |
path: OpenDDS | |
submodules: true | |
- name: configure OpenDDS | |
run: | | |
cd OpenDDS | |
./configure --compiler=g++-8 --no-inline --no-rapidjson --tests --java --ace=$GITHUB_WORKSPACE/ACE_TAO/ACE --mpc=$GITHUB_WORKSPACE/MPC --compile-warnings=WARNING | |
- name: check build configuration | |
shell: bash | |
run: | | |
cd OpenDDS | |
. setenv.sh | |
tools/scripts/show_build_config.pl | |
- uses: ammaraskar/[email protected] | |
- name: build OpenDDS | |
shell: bash | |
run: | | |
cd OpenDDS | |
. setenv.sh | |
make -j4 | |
- name: Build CMake Tests | |
run: | | |
source OpenDDS/setenv.sh | |
mkdir OpenDDS/tests/cmake/build | |
cd OpenDDS/tests/cmake/build | |
cmake -DCMAKE_CXX_COMPILER=g++-8 .. | |
cmake --build . -- -j4 | |
- name: create OpenDDS tar.xz artifact | |
shell: bash | |
run: | | |
cd OpenDDS | |
rm -rf ACE_TAO | |
find . -iname "*\.o" | xargs rm | |
tar cvf ../${{ github.job }}.tar setenv.sh | |
git clean -xdfn | cut -d ' ' -f 3- | xargs tar uvf ../${{ github.job }}.tar | |
xz -3 ../${{ github.job }}.tar | |
- name: upload OpenDDS artifact | |
uses: actions/upload-artifact@v4 | |
with: | |
name: ${{ github.job }}_artifact | |
path: ${{ github.job }}.tar.xz | |
cmake_u20_gcc8_i0_js0_j: | |
runs-on: ubuntu-20.04 | |
needs: build_u20_gcc8_i0_js0_j | |
permissions: | |
contents: read | |
id-token: write | |
steps: | |
- name: checkout MPC | |
uses: actions/checkout@v4 | |
with: | |
repository: DOCGroup/MPC | |
path: MPC | |
- name: checkout autobuild | |
uses: actions/checkout@v4 | |
with: | |
repository: DOCGroup/autobuild | |
path: autobuild | |
- name: checkout ACE_TAO | |
uses: actions/checkout@v4 | |
with: | |
repository: DOCGroup/ACE_TAO | |
ref: ace6tao2 | |
path: ACE_TAO | |
- name: download ACE_TAO artifact | |
uses: actions/download-artifact@v4 | |
with: | |
name: ACE_TAO_u20_gcc8_i0_js0_j_artifact | |
path: ACE_TAO | |
- name: extract ACE_TAO artifact | |
shell: bash | |
run: | | |
cd ACE_TAO | |
tar xvfJ ACE_TAO_u20_gcc8_i0_js0_j.tar.xz | |
- name: checkout OpenDDS | |
uses: actions/checkout@v4 | |
with: | |
path: OpenDDS | |
submodules: true | |
- name: download OpenDDS artifact | |
uses: actions/download-artifact@v4 | |
with: | |
name: build_u20_gcc8_i0_js0_j_artifact | |
path: OpenDDS | |
- name: extract OpenDDS artifact | |
shell: bash | |
run: | | |
cd OpenDDS | |
tar xvfJ build_u20_gcc8_i0_js0_j.tar.xz | |
- name: check build configuration | |
shell: bash | |
run: | | |
cd OpenDDS | |
. setenv.sh | |
tools/scripts/show_build_config.pl | |
- name: install gdb | |
shell: bash | |
run: | | |
sudo apt-get update | |
sudo apt-get install gdb | |
echo 0 | sudo tee /proc/sys/kernel/yama/ptrace_scope | |
- name: change core file pattern | |
shell: bash | |
run: | | |
sudo sysctl -w kernel.core_pattern=core.%e.%p | |
echo Core file pattern set to: | |
cat /proc/sys/kernel/core_pattern | |
- name: run OpenDDS tests | |
shell: bash | |
run: | | |
ulimit -c unlimited | |
cd OpenDDS | |
echo "export ACE_TEST_LOG_STUCK_STACKS=1" >> setenv.sh | |
. setenv.sh | |
mkdir ${{ github.job }}_autobuild_workspace | |
cd ${{ github.job }}_autobuild_workspace | |
echo using commit $TRIGGERING_COMMIT for SHA | |
echo $TRIGGERING_COMMIT >> ./SHA | |
cat > config.xml <<EOF | |
<autobuild> | |
<configuration> | |
<variable name="log_file" value="output"/> | |
<variable name="log_root" value="$DDS_ROOT/${{ github.job }}_autobuild_workspace/logs"/> | |
<variable name="project_root" value="$DDS_ROOT"/> | |
<variable name="root" value="$DDS_ROOT/${{ github.job }}_autobuild_workspace"/> | |
<variable name="junit_xml_output" value="Tests"/> | |
</configuration> | |
<command name="log" options="on"/> | |
<command name="print_os_version"/> | |
<command name="print_ace_config"/> | |
<command name="print_cmake_version"/> | |
<command name="print_make_version"/> | |
<command name="check_compiler" options="gcc"/> | |
<command name="print_perl_version"/> | |
<command name="print_autobuild_config"/> | |
<command name="auto_run_tests" options="script_path=tests dir=$GITHUB_WORKSPACE/OpenDDS --no-dcps --cmake"/> | |
<command name="log" options="off"/> | |
<command name="process_logs" options="move prettify index"/> | |
</autobuild> | |
EOF | |
$GITHUB_WORKSPACE/autobuild/autobuild.pl "$GITHUB_WORKSPACE/OpenDDS/${{ github.job }}_autobuild_workspace/config.xml" | |
- name: upload autobuild output | |
uses: actions/upload-artifact@v4 | |
with: | |
name: ${{ github.job }}_autobuild_output | |
path: OpenDDS/${{ github.job }}_autobuild_workspace | |
- name: Authenticate to Google Cloud | |
uses: google-github-actions/auth@v2 | |
with: | |
workload_identity_provider: projects/30587790497/locations/global/workloadIdentityPools/gha-scoreboard-upload/providers/gha-provider | |
service_account: [email protected] | |
if: ${{ github.repository == 'OpenDDS/OpenDDS' && github.ref == env.SCOREBOARD_UPLOAD_BRANCH }} | |
- name: get OpenDDS version | |
shell: bash | |
run: | | |
cd OpenDDS | |
echo "OPENDDS_MAJOR_VERSION=$(grep '#define OPENDDS_MAJOR_VERSION' dds/Version.h | cut -d' ' -f3)" >> $GITHUB_ENV | |
- name: upload to Google Cloud | |
uses: 'google-github-actions/upload-cloud-storage@v2' | |
with: | |
path: OpenDDS/${{ github.job }}_autobuild_workspace/logs | |
destination: opendds-gha-scoreboard-uploads/${{ env.OPENDDS_MAJOR_VERSION }}/${{ github.job }} | |
parent: false | |
process_gcloudignore: false | |
if: ${{ github.repository == 'OpenDDS/OpenDDS' && github.ref == env.SCOREBOARD_UPLOAD_BRANCH }} | |
- name: check results | |
shell: bash | |
run: | | |
$GITHUB_WORKSPACE/OpenDDS/tools/scripts/autobuild_brief_html_to_text.pl "$GITHUB_WORKSPACE/OpenDDS/${{ github.job }}_autobuild_workspace/logs/"*_Brief.html | |
cat "$GITHUB_WORKSPACE/OpenDDS/${{ github.job }}_autobuild_workspace/logs/latest.txt" | |
grep -q 'Failures: 0' "$GITHUB_WORKSPACE/OpenDDS/${{ github.job }}_autobuild_workspace/logs/latest.txt" | |
ACE_TAO_u22_i0_xer0: | |
runs-on: ubuntu-22.04 | |
steps: | |
- name: checkout OpenDDS | |
uses: actions/checkout@v4 | |
with: | |
path: OpenDDS | |
submodules: true | |
- name: checkout ACE_TAO | |
uses: actions/checkout@v4 | |
with: | |
repository: DOCGroup/ACE_TAO | |
ref: ace6tao2 | |
path: OpenDDS/ACE_TAO | |
- name: get ACE_TAO commit | |
shell: bash | |
run: | | |
cd OpenDDS/ACE_TAO | |
export ACE_COMMIT=$(git rev-parse HEAD) | |
echo "ACE_COMMIT=$ACE_COMMIT" >> $GITHUB_ENV | |
- name: get compiler version | |
shell: bash | |
run: | | |
export COMPILER_VERSION=$(g++ --version 2>&1 | head -n 1) | |
echo "COMPILER_VERSION=$COMPILER_VERSION" >> $GITHUB_ENV | |
- name: Cache Artifact | |
id: cache-artifact | |
uses: actions/cache@v4 | |
with: | |
path: ${{ github.job }}.tar.xz | |
key: c02_${{ github.job }}_ace6tao2_${{ env.ACE_COMMIT }}_${{ env.COMPILER_VERSION }} | |
- name: checkout MPC | |
if: steps.cache-artifact.outputs.cache-hit != 'true' | |
uses: actions/checkout@v4 | |
with: | |
repository: DOCGroup/MPC | |
path: MPC | |
- name: configure OpenDDS | |
if: steps.cache-artifact.outputs.cache-hit != 'true' | |
run: | | |
cd OpenDDS | |
./configure --std=c++20 --no-inline --tests --ace=$GITHUB_WORKSPACE/OpenDDS/ACE_TAO/ACE --mpc=$GITHUB_WORKSPACE/MPC --compile-warnings=WARNING | |
- name: build ACE and TAO | |
if: steps.cache-artifact.outputs.cache-hit != 'true' | |
run: | | |
cd OpenDDS | |
. setenv.sh | |
cd ACE_TAO/ACE | |
make -j4 | |
cd ../TAO | |
make -j4 | |
- name: create ACE_TAO tar.xz artifact | |
if: steps.cache-artifact.outputs.cache-hit != 'true' | |
shell: bash | |
run: | | |
cd OpenDDS/ACE_TAO | |
perl -ni.bak -e "print unless /opendds/" ACE/bin/MakeProjectCreator/config/default.features # remove opendds features from here, let individual build configure scripts handle those | |
find . -iname "*\.o" | xargs rm | |
tar cvf ../../${{ github.job }}.tar ACE/ace/config.h | |
git clean -xdfn | cut -d ' ' -f 3- | xargs tar uvf ../../${{ github.job }}.tar | |
xz -3 ../../${{ github.job }}.tar | |
- name: upload ACE_TAO artifact | |
uses: actions/upload-artifact@v4 | |
with: | |
name: ${{ github.job }}_artifact | |
path: ${{ github.job }}.tar.xz | |
build_u22_i0_xer0: | |
runs-on: ubuntu-22.04 | |
needs: ACE_TAO_u22_i0_xer0 | |
steps: | |
- name: checkout MPC | |
uses: actions/checkout@v4 | |
with: | |
repository: DOCGroup/MPC | |
path: MPC | |
- name: checkout ACE_TAO | |
uses: actions/checkout@v4 | |
with: | |
repository: DOCGroup/ACE_TAO | |
ref: ace6tao2 | |
path: ACE_TAO | |
- name: download ACE_TAO artifact | |
uses: actions/download-artifact@v4 | |
with: | |
name: ACE_TAO_u22_i0_xer0_artifact | |
path: ACE_TAO | |
- name: extract ACE_TAO artifact | |
shell: bash | |
run: | | |
cd ACE_TAO | |
tar xvfJ ACE_TAO_u22_i0_xer0.tar.xz | |
- name: checkout OpenDDS | |
uses: actions/checkout@v4 | |
with: | |
path: OpenDDS | |
submodules: true | |
- name: configure OpenDDS | |
run: | | |
cd OpenDDS | |
./configure --std=c++20 --no-inline --tests --rapidjson --boottime --ace=$GITHUB_WORKSPACE/ACE_TAO/ACE --mpc=$GITHUB_WORKSPACE/MPC --compile-warnings=WARNING | |
- name: check build configuration | |
shell: bash | |
run: | | |
cd OpenDDS | |
. setenv.sh | |
tools/scripts/show_build_config.pl | |
- uses: ammaraskar/[email protected] | |
- name: build OpenDDS | |
shell: bash | |
run: | | |
cd OpenDDS | |
. setenv.sh | |
make -j4 | |
- name: Build CMake Tests | |
run: | | |
source OpenDDS/setenv.sh | |
mkdir OpenDDS/tests/cmake/build | |
cd OpenDDS/tests/cmake/build | |
cmake .. | |
cmake --build . -- -j4 | |
- name: create OpenDDS tar.xz artifact | |
shell: bash | |
run: | | |
cd OpenDDS | |
rm -rf ACE_TAO | |
find . -iname "*\.o" | xargs rm | |
tar cvf ../${{ github.job }}.tar setenv.sh | |
git clean -xdfn | cut -d ' ' -f 3- | xargs tar uvf ../${{ github.job }}.tar | |
xz -3 ../${{ github.job }}.tar | |
- name: upload OpenDDS artifact | |
uses: actions/upload-artifact@v4 | |
with: | |
name: ${{ github.job }}_artifact | |
path: ${{ github.job }}.tar.xz | |
test_u22_i0_xer0: | |
runs-on: ubuntu-22.04 | |
needs: build_u22_i0_xer0 | |
permissions: | |
contents: read | |
id-token: write | |
steps: | |
- name: checkout MPC | |
uses: actions/checkout@v4 | |
with: | |
repository: DOCGroup/MPC | |
path: MPC | |
- name: checkout autobuild | |
uses: actions/checkout@v4 | |
with: | |
repository: DOCGroup/autobuild | |
path: autobuild | |
- name: checkout ACE_TAO | |
uses: actions/checkout@v4 | |
with: | |
repository: DOCGroup/ACE_TAO | |
ref: ace6tao2 | |
path: ACE_TAO | |
- name: download ACE_TAO artifact | |
uses: actions/download-artifact@v4 | |
with: | |
name: ACE_TAO_u22_i0_xer0_artifact | |
path: ACE_TAO | |
- name: extract ACE_TAO artifact | |
shell: bash | |
run: | | |
cd ACE_TAO | |
tar xvfJ ACE_TAO_u22_i0_xer0.tar.xz | |
- name: checkout OpenDDS | |
uses: actions/checkout@v4 | |
with: | |
path: OpenDDS | |
submodules: true | |
- name: download OpenDDS artifact | |
uses: actions/download-artifact@v4 | |
with: | |
name: build_u22_i0_xer0_artifact | |
path: OpenDDS | |
- name: extract OpenDDS artifact | |
shell: bash | |
run: | | |
cd OpenDDS | |
tar xvfJ build_u22_i0_xer0.tar.xz | |
- name: check build configuration | |
shell: bash | |
run: | | |
cd OpenDDS | |
. setenv.sh | |
tools/scripts/show_build_config.pl | |
- name: install gdb | |
shell: bash | |
run: | | |
sudo apt-get update | |
sudo apt-get install gdb | |
echo 0 | sudo tee /proc/sys/kernel/yama/ptrace_scope | |
- name: change core file pattern | |
shell: bash | |
run: | | |
sudo sysctl -w kernel.core_pattern=core.%e.%p | |
echo Core file pattern set to: | |
cat /proc/sys/kernel/core_pattern | |
- name: run OpenDDS tests | |
shell: bash | |
run: | | |
ulimit -c unlimited | |
cd OpenDDS | |
echo "export ACE_TEST_LOG_STUCK_STACKS=1" >> setenv.sh | |
. setenv.sh | |
mkdir ${{ github.job }}_autobuild_workspace | |
cd ${{ github.job }}_autobuild_workspace | |
echo using commit $TRIGGERING_COMMIT for SHA | |
echo $TRIGGERING_COMMIT >> ./SHA | |
cat > config.xml <<EOF | |
<autobuild> | |
<configuration> | |
<variable name="log_file" value="output"/> | |
<variable name="log_root" value="$DDS_ROOT/${{ github.job }}_autobuild_workspace/logs"/> | |
<variable name="project_root" value="$DDS_ROOT"/> | |
<variable name="root" value="$DDS_ROOT/${{ github.job }}_autobuild_workspace"/> | |
<variable name="junit_xml_output" value="Tests"/> | |
</configuration> | |
<command name="log" options="on"/> | |
<command name="print_os_version"/> | |
<command name="print_ace_config"/> | |
<command name="print_cmake_version"/> | |
<command name="print_make_version"/> | |
<command name="check_compiler" options="gcc"/> | |
<command name="print_perl_version"/> | |
<command name="print_autobuild_config"/> | |
<command name="auto_run_tests" options="script_path=tests dir=$GITHUB_WORKSPACE/OpenDDS -Config CXX11 -Config RAPIDJSON -Config BOOTTIME_TIMERS"/> | |
<command name="log" options="off"/> | |
<command name="process_logs" options="move prettify index"/> | |
</autobuild> | |
EOF | |
$GITHUB_WORKSPACE/autobuild/autobuild.pl "$GITHUB_WORKSPACE/OpenDDS/${{ github.job }}_autobuild_workspace/config.xml" | |
- name: upload autobuild output | |
uses: actions/upload-artifact@v4 | |
with: | |
name: ${{ github.job }}_autobuild_output | |
path: OpenDDS/${{ github.job }}_autobuild_workspace | |
- name: Authenticate to Google Cloud | |
uses: google-github-actions/auth@v2 | |
with: | |
workload_identity_provider: projects/30587790497/locations/global/workloadIdentityPools/gha-scoreboard-upload/providers/gha-provider | |
service_account: [email protected] | |
if: ${{ github.repository == 'OpenDDS/OpenDDS' && github.ref == env.SCOREBOARD_UPLOAD_BRANCH }} | |
- name: get OpenDDS version | |
shell: bash | |
run: | | |
cd OpenDDS | |
echo "OPENDDS_MAJOR_VERSION=$(grep '#define OPENDDS_MAJOR_VERSION' dds/Version.h | cut -d' ' -f3)" >> $GITHUB_ENV | |
- name: upload to Google Cloud | |
uses: 'google-github-actions/upload-cloud-storage@v2' | |
with: | |
path: OpenDDS/${{ github.job }}_autobuild_workspace/logs | |
destination: opendds-gha-scoreboard-uploads/${{ env.OPENDDS_MAJOR_VERSION }}/${{ github.job }} | |
parent: false | |
process_gcloudignore: false | |
if: ${{ github.repository == 'OpenDDS/OpenDDS' && github.ref == env.SCOREBOARD_UPLOAD_BRANCH }} | |
- name: check results | |
shell: bash | |
run: | | |
$GITHUB_WORKSPACE/OpenDDS/tools/scripts/autobuild_brief_html_to_text.pl "$GITHUB_WORKSPACE/OpenDDS/${{ github.job }}_autobuild_workspace/logs/"*_Brief.html | |
cat "$GITHUB_WORKSPACE/OpenDDS/${{ github.job }}_autobuild_workspace/logs/latest.txt" | |
grep -q 'Failures: 0' "$GITHUB_WORKSPACE/OpenDDS/${{ github.job }}_autobuild_workspace/logs/latest.txt" | |
ACE_TAO_u20_gcc10_bsafe_js0_FM-2c: | |
runs-on: ubuntu-20.04 | |
steps: | |
- name: Update apt indexes | |
run: sudo apt-get -y update | |
- name: install xerces | |
run: sudo apt-get -y install libxerces-c-dev | |
- name: checkout OpenDDS | |
uses: actions/checkout@v4 | |
with: | |
path: OpenDDS | |
submodules: true | |
- name: checkout ACE_TAO | |
uses: actions/checkout@v4 | |
with: | |
repository: DOCGroup/ACE_TAO | |
ref: ace6tao2 | |
path: OpenDDS/ACE_TAO | |
- name: get ACE_TAO commit | |
shell: bash | |
run: | | |
cd OpenDDS/ACE_TAO | |
export ACE_COMMIT=$(git rev-parse HEAD) | |
echo "ACE_COMMIT=$ACE_COMMIT" >> $GITHUB_ENV | |
- name: get compiler version | |
shell: bash | |
run: | | |
export COMPILER_VERSION=$(c++ --version 2>&1 | head -n 1) | |
echo "COMPILER_VERSION=$COMPILER_VERSION" >> $GITHUB_ENV | |
- name: Cache Artifact | |
id: cache-artifact | |
uses: actions/cache@v4 | |
with: | |
path: ${{ github.job }}.tar.xz | |
key: c10_${{ github.job }}_ace6tao2_${{ env.ACE_COMMIT }}_${{ env.COMPILER_VERSION }} | |
- name: checkout MPC | |
if: steps.cache-artifact.outputs.cache-hit != 'true' | |
uses: actions/checkout@v4 | |
with: | |
repository: DOCGroup/MPC | |
path: MPC | |
- name: setup gtest | |
if: steps.cache-artifact.outputs.cache-hit != 'true' | |
run: | | |
cd OpenDDS/tests/googletest | |
git submodule init | |
git submodule update | |
mkdir build | |
cd build | |
mkdir install | |
cmake -DCMAKE_INSTALL_PREFIX=./install .. | |
cmake --build . --target install | |
- name: configure OpenDDS | |
if: steps.cache-artifact.outputs.cache-hit != 'true' | |
run: | | |
cd OpenDDS | |
./configure \ | |
--compiler=g++-10 \ | |
--ace=$GITHUB_WORKSPACE/OpenDDS/ACE_TAO/ACE \ | |
--mpc=$GITHUB_WORKSPACE/MPC \ | |
--gtest=$GITHUB_WORKSPACE/OpenDDS/tests/googletest/build/install \ | |
--no-rapidjson \ | |
--safety-profile=base \ | |
--no-content-subscription \ | |
--no-object-model-profile \ | |
--no-persistence-profile \ | |
--tests \ | |
--compile-warnings=WARNING | |
- name: exclude OpenDDS_Util and opendds_idl | |
if: steps.cache-artifact.outputs.cache-hit != 'true' | |
shell: bash | |
run: | | |
cd OpenDDS/build/host | |
perl -ni.bak -e "print unless /dds/" host_tools.mwc | |
. setenv.sh | |
$ACE_ROOT/bin/mwc.pl -type gnuace host_tools.mwc | |
- name: build ACE and TAO | |
if: steps.cache-artifact.outputs.cache-hit != 'true' | |
run: | | |
cd OpenDDS/build/host | |
. setenv.sh | |
make -j4 | |
cd ../target | |
. setenv.sh | |
cd ACE_TAO/ACE/ace | |
make -j4 | |
- name: create ACE_TAO tar.xz artifact | |
if: steps.cache-artifact.outputs.cache-hit != 'true' | |
shell: bash | |
run: | | |
cd OpenDDS/build/target/ACE_TAO | |
perl -ni.bak -e "print unless /opendds/" ACE/bin/MakeProjectCreator/config/default.features # remove opendds features from here, let individual build configure scripts handle those | |
cd $GITHUB_WORKSPACE/OpenDDS | |
find . -iname "*\.o" | xargs rm | |
tar cvf ../${{ github.job }}.tar build/host/ACE_TAO build/target/ACE_TAO build/host/setenv.sh build/host/VERSION.txt | |
xz -3 ../${{ github.job }}.tar | |
- name: upload ACE_TAO artifact | |
uses: actions/upload-artifact@v4 | |
with: | |
name: ${{ github.job }}_artifact | |
path: ${{ github.job }}.tar.xz | |
build_u20_gcc10_bsafe_js0_FM-2c: | |
runs-on: ubuntu-20.04 | |
needs: ACE_TAO_u20_gcc10_bsafe_js0_FM-2c | |
steps: | |
- name: Update apt indexes | |
run: sudo apt-get -y update | |
- name: install xerces | |
run: sudo apt-get -y install libxerces-c-dev | |
- name: checkout MPC | |
uses: actions/checkout@v4 | |
with: | |
repository: DOCGroup/MPC | |
path: MPC | |
- name: checkout OpenDDS | |
uses: actions/checkout@v4 | |
with: | |
path: OpenDDS | |
submodules: true | |
- name: checkout ACE_TAO | |
uses: actions/checkout@v4 | |
with: | |
repository: DOCGroup/ACE_TAO | |
ref: ace6tao2 | |
path: OpenDDS/ACE_TAO | |
- name: setup gtest | |
run: | | |
cd OpenDDS/tests/googletest | |
git submodule init | |
git submodule update | |
mkdir build | |
cd build | |
mkdir install | |
cmake -DCMAKE_INSTALL_PREFIX=./install .. | |
cmake --build . --target install | |
- name: configure OpenDDS | |
run: | | |
cd OpenDDS | |
./configure \ | |
--compiler=g++-10 \ | |
--ace=$GITHUB_WORKSPACE/OpenDDS/ACE_TAO/ACE \ | |
--mpc=$GITHUB_WORKSPACE/MPC \ | |
--gtest=$GITHUB_WORKSPACE/OpenDDS/tests/googletest/build/install \ | |
--no-rapidjson \ | |
--safety-profile=base \ | |
--no-content-subscription \ | |
--no-object-model-profile \ | |
--no-persistence-profile \ | |
--tests \ | |
--compile-warnings=WARNING | |
- name: download ACE_TAO artifact | |
uses: actions/download-artifact@v4 | |
with: | |
name: ACE_TAO_u20_gcc10_bsafe_js0_FM-2c_artifact | |
path: OpenDDS | |
- name: extract ACE_TAO artifact | |
shell: bash | |
run: | | |
cd OpenDDS | |
tar xvfJ ACE_TAO_u20_gcc10_bsafe_js0_FM-2c.tar.xz | |
- uses: ammaraskar/[email protected] | |
- name: build OpenDDS_Util lib and opendds_idl in host | |
shell: bash | |
run: | | |
cd OpenDDS/build/host | |
cat > host_tools.mwc <<EOF | |
workspace { | |
dds/DCPS/OpenDDS_Util.mpc | |
dds/idl | |
} | |
EOF | |
. setenv.sh | |
$ACE_ROOT/bin/mwc.pl -type gnuace host_tools.mwc | |
make -j4 | |
- name: check build configuration | |
shell: bash | |
run: | | |
cd OpenDDS/build/target | |
. setenv.sh | |
tools/scripts/show_build_config.pl | |
- name: build OpenDDS | |
run: | | |
cd OpenDDS/build/target | |
. setenv.sh | |
make -j4 | |
- name: create OpenDDS artifact | |
shell: bash | |
run: | | |
cd OpenDDS/build | |
tar cvf ../../${{ github.job }}.tar host/dds/idl/opendds_idl | |
tar uvf ../../${{ github.job }}.tar host/bin/opendds_idl | |
tar uvf ../../${{ github.job }}.tar host/dds/DCPS/libOpenDDS_Util* | |
tar uvf ../../${{ github.job }}.tar host/lib/libOpenDDS_Util* | |
cd target | |
find . -iname "*\.o" | xargs rm | |
cd .. | |
tar --exclude='ACE_TAO' -uvf ../../${{ github.job }}.tar target | |
xz -3 ../../${{ github.job }}.tar | |
- name: upload OpenDDS artifact | |
uses: actions/upload-artifact@v4 | |
with: | |
name: ${{ github.job }}_artifact | |
path: ${{ github.job }}.tar.xz | |
ACE_TAO_u20_acem_j_qt_ws_sec: | |
runs-on: ubuntu-20.04 | |
steps: | |
- name: checkout OpenDDS | |
uses: actions/checkout@v4 | |
with: | |
path: OpenDDS | |
submodules: false # Test that the configure script can download Google Test and RapidJSON | |
- name: checkout ACE_TAO | |
uses: actions/checkout@v4 | |
with: | |
repository: DOCGroup/ACE_TAO | |
path: OpenDDS/ACE_TAO | |
- name: get ACE_TAO commit | |
shell: bash | |
run: | | |
cd OpenDDS/ACE_TAO | |
export ACE_COMMIT=$(git rev-parse HEAD) | |
echo "ACE_COMMIT=$ACE_COMMIT" >> $GITHUB_ENV | |
- name: get compiler version | |
shell: bash | |
run: | | |
export COMPILER_VERSION=$(c++ --version 2>&1 | head -n 1) | |
echo "COMPILER_VERSION=$COMPILER_VERSION" >> $GITHUB_ENV | |
- name: get jdk version | |
shell: bash | |
run: | | |
export JDK_VERSION=$(java -version 2>&1 | grep -i version) | |
echo "JDK_VERSION=$JDK_VERSION" >> $GITHUB_ENV | |
- name: Cache Artifact | |
id: cache-artifact | |
uses: actions/cache@v4 | |
with: | |
path: ${{ github.job }}.tar.xz | |
key: c01_${{ github.job }}_master_${{ env.ACE_COMMIT }}_${{ env.COMPILER_VERSION }}_${{ env.JDK_VERSION }} | |
- name: install xerces | |
if: steps.cache-artifact.outputs.cache-hit != 'true' | |
run: sudo apt-get -y install libxerces-c-dev | |
- name: checkout MPC | |
if: steps.cache-artifact.outputs.cache-hit != 'true' | |
uses: actions/checkout@v4 | |
with: | |
repository: DOCGroup/MPC | |
path: MPC | |
- name: configure OpenDDS | |
if: steps.cache-artifact.outputs.cache-hit != 'true' | |
run: | | |
cd OpenDDS | |
./configure --tests --security --ace=$GITHUB_WORKSPACE/OpenDDS/ACE_TAO/ACE --mpc=$GITHUB_WORKSPACE/MPC --compile-warnings=WARNING | |
- name: build ACE and TAO | |
if: steps.cache-artifact.outputs.cache-hit != 'true' | |
run: | | |
cd OpenDDS | |
. setenv.sh | |
cd ACE_TAO/ACE | |
make -j4 | |
cd ../TAO | |
make -j4 | |
- name: create ACE_TAO tar.xz artifact | |
if: steps.cache-artifact.outputs.cache-hit != 'true' | |
shell: bash | |
run: | | |
cd OpenDDS/ACE_TAO | |
perl -ni.bak -e "print unless /opendds/" ACE/bin/MakeProjectCreator/config/default.features # remove opendds features from here, let individual build configure scripts handle those | |
find . -iname "*\.o" | xargs rm | |
tar cvf ../../${{ github.job }}.tar ACE/ace/config.h | |
git clean -xdfn | cut -d ' ' -f 3- | xargs tar uvf ../../${{ github.job }}.tar | |
xz -3 ../../${{ github.job }}.tar | |
- name: upload ACE_TAO artifact | |
uses: actions/upload-artifact@v4 | |
with: | |
name: ${{ github.job }}_artifact | |
path: ${{ github.job }}.tar.xz | |
build_u20_acem_j_qt_ws_sec: | |
runs-on: ubuntu-20.04 | |
needs: ACE_TAO_u20_acem_j_qt_ws_sec | |
steps: | |
- name: update apt | |
run: sudo apt-get update | |
- name: install dependencies | |
run: sudo apt-get -y install libxerces-c-dev wireshark-dev qtbase5-dev | |
- name: checkout MPC | |
uses: actions/checkout@v4 | |
with: | |
repository: DOCGroup/MPC | |
path: MPC | |
- name: checkout ACE_TAO | |
uses: actions/checkout@v4 | |
with: | |
repository: DOCGroup/ACE_TAO | |
path: ACE_TAO | |
- name: download ACE_TAO artifact | |
uses: actions/download-artifact@v4 | |
with: | |
name: ACE_TAO_u20_acem_j_qt_ws_sec_artifact | |
path: ACE_TAO | |
- name: extract ACE_TAO artifact | |
shell: bash | |
run: | | |
cd ACE_TAO | |
tar xvfJ ACE_TAO_u20_acem_j_qt_ws_sec.tar.xz | |
- name: checkout OpenDDS | |
uses: actions/checkout@v4 | |
with: | |
path: OpenDDS | |
submodules: false # Test that the configure script can download Google Test and RapidJSON | |
- name: configure OpenDDS | |
run: | | |
cd OpenDDS | |
./configure --qt --wireshark --tests --security --java --rapidjson --ace=$GITHUB_WORKSPACE/ACE_TAO/ACE --mpc=$GITHUB_WORKSPACE/MPC --compile-warnings=WARNING | |
- name: check build configuration | |
shell: bash | |
run: | | |
cd OpenDDS | |
. setenv.sh | |
tools/scripts/show_build_config.pl | |
- uses: ammaraskar/[email protected] | |
- name: build OpenDDS | |
shell: bash | |
run: | | |
cd OpenDDS | |
. setenv.sh | |
make -j4 | |
- name: set up Modeling tests | |
shell: bash | |
run: | | |
cd OpenDDS | |
. setenv.sh | |
cd tools/modeling/tests | |
./setup.pl | |
cd - | |
mwc.pl -type gnuace -workers 4 -features no_opendds_security=0 tools/modeling/tests/modeling_tests.mwc | |
- name: build Modeling tests | |
shell: bash | |
run: | | |
cd OpenDDS | |
. setenv.sh | |
make -j4 -C tools/modeling/tests | |
- name: Build CMake Tests | |
run: | | |
source OpenDDS/setenv.sh | |
mkdir OpenDDS/tests/cmake/build | |
cd OpenDDS/tests/cmake/build | |
cmake .. | |
cmake --build . -- -j4 | |
- name: create OpenDDS tar.xz artifact | |
shell: bash | |
run: | | |
cd OpenDDS | |
rm -rf ACE_TAO | |
find . -iname "*\.o" | xargs rm | |
tar cvf ../${{ github.job }}.tar setenv.sh | |
git clean -xdfn | cut -d ' ' -f 3- | xargs tar uvf ../${{ github.job }}.tar | |
xz -3 ../${{ github.job }}.tar | |
- name: upload OpenDDS artifact | |
uses: actions/upload-artifact@v4 | |
with: | |
name: ${{ github.job }}_artifact | |
path: ${{ github.job }}.tar.xz | |
test_u20_acem_j_qt_ws_sec: | |
runs-on: ubuntu-20.04 | |
needs: build_u20_acem_j_qt_ws_sec | |
permissions: | |
contents: read | |
id-token: write | |
steps: | |
- name: update apt | |
run: sudo apt-get update | |
- name: install dependencies | |
run: sudo apt-get -y install libxerces-c-dev wireshark-dev tshark qtbase5-dev | |
- name: checkout MPC | |
uses: actions/checkout@v4 | |
with: | |
repository: DOCGroup/MPC | |
path: MPC | |
- name: checkout autobuild | |
uses: actions/checkout@v4 | |
with: | |
repository: DOCGroup/autobuild | |
path: autobuild | |
- name: checkout ACE_TAO | |
uses: actions/checkout@v4 | |
with: | |
repository: DOCGroup/ACE_TAO | |
path: ACE_TAO | |
- name: download ACE_TAO artifact | |
uses: actions/download-artifact@v4 | |
with: | |
name: ACE_TAO_u20_acem_j_qt_ws_sec_artifact | |
path: ACE_TAO | |
- name: extract ACE_TAO artifact | |
shell: bash | |
run: | | |
cd ACE_TAO | |
tar xvfJ ACE_TAO_u20_acem_j_qt_ws_sec.tar.xz | |
- name: checkout OpenDDS | |
uses: actions/checkout@v4 | |
with: | |
path: OpenDDS | |
submodules: true | |
- name: download OpenDDS artifact | |
uses: actions/download-artifact@v4 | |
with: | |
name: build_u20_acem_j_qt_ws_sec_artifact | |
path: OpenDDS | |
- name: extract OpenDDS artifact | |
shell: bash | |
run: | | |
cd OpenDDS | |
tar xvfJ build_u20_acem_j_qt_ws_sec.tar.xz | |
- name: check build configuration | |
shell: bash | |
run: | | |
cd OpenDDS | |
. setenv.sh | |
tools/scripts/show_build_config.pl | |
- name: install gdb | |
shell: bash | |
run: | | |
sudo apt-get update | |
sudo apt-get install gdb | |
echo 0 | sudo tee /proc/sys/kernel/yama/ptrace_scope | |
- name: change core file pattern | |
shell: bash | |
run: | | |
sudo sysctl -w kernel.core_pattern=core.%e.%p | |
echo Core file pattern set to: | |
cat /proc/sys/kernel/core_pattern | |
- name: run OpenDDS tests | |
shell: bash | |
run: | | |
ulimit -c unlimited | |
cd OpenDDS | |
echo "export ACE_TEST_LOG_STUCK_STACKS=1" >> setenv.sh | |
. setenv.sh | |
mkdir ${{ github.job }}_autobuild_workspace | |
cd ${{ github.job }}_autobuild_workspace | |
echo using commit $TRIGGERING_COMMIT for SHA | |
echo $TRIGGERING_COMMIT >> ./SHA | |
cat > config.xml <<EOF | |
<autobuild> | |
<configuration> | |
<variable name="log_file" value="output"/> | |
<variable name="log_root" value="$DDS_ROOT/${{ github.job }}_autobuild_workspace/logs"/> | |
<variable name="project_root" value="$DDS_ROOT"/> | |
<variable name="root" value="$DDS_ROOT/${{ github.job }}_autobuild_workspace"/> | |
<variable name="junit_xml_output" value="Tests"/> | |
</configuration> | |
<command name="log" options="on"/> | |
<command name="print_os_version"/> | |
<command name="print_ace_config"/> | |
<command name="print_cmake_version"/> | |
<command name="print_make_version"/> | |
<command name="check_compiler" options="gcc"/> | |
<command name="print_perl_version"/> | |
<command name="print_autobuild_config"/> | |
<command name="auto_run_tests" options="script_path=tests dir=$GITHUB_WORKSPACE/OpenDDS -Config XERCES3 -Config CXX11 -Config RAPIDJSON -Config WIRESHARK --java --modeling --cmake"/> | |
<command name="log" options="off"/> | |
<command name="process_logs" options="move prettify index"/> | |
</autobuild> | |
EOF | |
$GITHUB_WORKSPACE/autobuild/autobuild.pl "$GITHUB_WORKSPACE/OpenDDS/${{ github.job }}_autobuild_workspace/config.xml" | |
- name: upload autobuild output | |
uses: actions/upload-artifact@v4 | |
with: | |
name: ${{ github.job }}_autobuild_output | |
path: OpenDDS/${{ github.job }}_autobuild_workspace | |
- name: Authenticate to Google Cloud | |
uses: google-github-actions/auth@v2 | |
with: | |
workload_identity_provider: projects/30587790497/locations/global/workloadIdentityPools/gha-scoreboard-upload/providers/gha-provider | |
service_account: [email protected] | |
if: ${{ github.repository == 'OpenDDS/OpenDDS' && github.ref == env.SCOREBOARD_UPLOAD_BRANCH }} | |
- name: get OpenDDS version | |
shell: bash | |
run: | | |
cd OpenDDS | |
echo "OPENDDS_MAJOR_VERSION=$(grep '#define OPENDDS_MAJOR_VERSION' dds/Version.h | cut -d' ' -f3)" >> $GITHUB_ENV | |
- name: upload to Google Cloud | |
uses: 'google-github-actions/upload-cloud-storage@v2' | |
with: | |
path: OpenDDS/${{ github.job }}_autobuild_workspace/logs | |
destination: opendds-gha-scoreboard-uploads/${{ env.OPENDDS_MAJOR_VERSION }}/${{ github.job }} | |
parent: false | |
process_gcloudignore: false | |
if: ${{ github.repository == 'OpenDDS/OpenDDS' && github.ref == env.SCOREBOARD_UPLOAD_BRANCH }} | |
- name: check results | |
shell: bash | |
run: | | |
$GITHUB_WORKSPACE/OpenDDS/tools/scripts/autobuild_brief_html_to_text.pl "$GITHUB_WORKSPACE/OpenDDS/${{ github.job }}_autobuild_workspace/logs/"*_Brief.html | |
cat "$GITHUB_WORKSPACE/OpenDDS/${{ github.job }}_autobuild_workspace/logs/latest.txt" | |
grep -q 'Failures: 0' "$GITHUB_WORKSPACE/OpenDDS/${{ github.job }}_autobuild_workspace/logs/latest.txt" | |
ACE_TAO_u20_p1_asan: | |
runs-on: ubuntu-20.04 | |
steps: | |
- name: checkout OpenDDS | |
uses: actions/checkout@v4 | |
with: | |
path: OpenDDS | |
submodules: true | |
- name: checkout ACE_TAO | |
uses: actions/checkout@v4 | |
with: | |
repository: DOCGroup/ACE_TAO | |
ref: ace6tao2 | |
path: OpenDDS/ACE_TAO | |
- name: get ACE_TAO commit | |
shell: bash | |
run: | | |
cd OpenDDS/ACE_TAO | |
export ACE_COMMIT=$(git rev-parse HEAD) | |
echo "ACE_COMMIT=$ACE_COMMIT" >> $GITHUB_ENV | |
- name: get compiler version | |
shell: bash | |
run: | | |
export COMPILER_VERSION=$(c++ --version 2>&1 | head -n 1) | |
echo "COMPILER_VERSION=$COMPILER_VERSION" >> $GITHUB_ENV | |
- name: Cache Artifact | |
id: cache-artifact | |
uses: actions/cache@v4 | |
with: | |
path: ${{ github.job }}.tar.xz | |
key: c11_${{ github.job }}_ace6tao2_${{ env.ACE_COMMIT }}_${{ env.COMPILER_VERSION }} | |
- name: install xerces | |
if: steps.cache-artifact.outputs.cache-hit != 'true' | |
run: sudo apt-get -y install libxerces-c-dev | |
- name: checkout MPC | |
if: steps.cache-artifact.outputs.cache-hit != 'true' | |
uses: actions/checkout@v4 | |
with: | |
repository: DOCGroup/MPC | |
path: MPC | |
- name: configure OpenDDS | |
if: steps.cache-artifact.outputs.cache-hit != 'true' | |
run: | | |
cd OpenDDS | |
./configure \ | |
--ace=$GITHUB_WORKSPACE/OpenDDS/ACE_TAO/ACE \ | |
--mpc=$GITHUB_WORKSPACE/MPC \ | |
--compiler=clang++-12 \ | |
--std=c++11 \ | |
--sanitize asan \ | |
--macros=SOFLAGS+=-Wl,-h,\$\(SONAME\) \ | |
--ipv6 \ | |
--tests \ | |
--security \ | |
--compile-warnings=WARNING | |
- name: build ACE and TAO | |
if: steps.cache-artifact.outputs.cache-hit != 'true' | |
run: | | |
cd OpenDDS | |
. setenv.sh | |
export ASAN_OPTIONS=detect_leaks=0 | |
cd ACE_TAO/ACE | |
make -j4 | |
cd ../TAO | |
make -j4 | |
- name: create ACE_TAO tar.xz artifact | |
if: steps.cache-artifact.outputs.cache-hit != 'true' | |
shell: bash | |
run: | | |
cd OpenDDS/ACE_TAO | |
perl -ni.bak -e "print unless /opendds/" ACE/bin/MakeProjectCreator/config/default.features # remove opendds features from here, let individual build configure scripts handle those | |
find . -iname "*\.o" | xargs rm | |
tar cvf ../../${{ github.job }}.tar ACE/ace/config.h | |
git clean -xdfn | cut -d ' ' -f 3- | xargs tar uvf ../../${{ github.job }}.tar | |
xz -3 ../../${{ github.job }}.tar | |
- name: upload ACE_TAO artifact | |
uses: actions/upload-artifact@v4 | |
with: | |
name: ${{ github.job }}_artifact | |
path: ${{ github.job }}.tar.xz | |
build_u20_p1_asan_sec: | |
runs-on: ubuntu-20.04 | |
needs: ACE_TAO_u20_p1_asan | |
steps: | |
- name: Update apt indexes | |
run: sudo apt-get -y update | |
- name: install xerces | |
run: sudo apt-get -y install libxerces-c-dev | |
- name: checkout MPC | |
uses: actions/checkout@v4 | |
with: | |
repository: DOCGroup/MPC | |
path: MPC | |
- name: checkout ACE_TAO | |
uses: actions/checkout@v4 | |
with: | |
repository: DOCGroup/ACE_TAO | |
ref: ace6tao2 | |
path: ACE_TAO | |
- name: download ACE_TAO artifact | |
uses: actions/download-artifact@v4 | |
with: | |
name: ACE_TAO_u20_p1_asan_artifact | |
path: ACE_TAO | |
- name: extract ACE_TAO artifact | |
shell: bash | |
run: | | |
cd ACE_TAO | |
tar xvfJ ACE_TAO_u20_p1_asan.tar.xz | |
- name: checkout OpenDDS | |
uses: actions/checkout@v4 | |
with: | |
path: OpenDDS | |
submodules: true | |
- name: configure OpenDDS | |
run: | | |
cd OpenDDS | |
./configure \ | |
--ace=$GITHUB_WORKSPACE/ACE_TAO/ACE \ | |
--mpc=$GITHUB_WORKSPACE/MPC \ | |
--compiler=clang++-12 \ | |
--std=c++11 \ | |
--sanitize asan \ | |
--macros=SOFLAGS+=-Wl,-h,\$\(SONAME\) \ | |
--ipv6 \ | |
--tests \ | |
--security \ | |
--rapidjson \ | |
--compile-warnings=WARNING | |
- name: check build configuration | |
shell: bash | |
run: | | |
cd OpenDDS | |
. setenv.sh | |
tools/scripts/show_build_config.pl | |
- uses: ammaraskar/[email protected] | |
- name: build OpenDDS | |
shell: bash | |
run: | | |
cd OpenDDS | |
. setenv.sh | |
export ASAN_OPTIONS=detect_leaks=0 | |
make -j4 | |
- name: Build CMake Tests | |
run: | | |
source OpenDDS/setenv.sh | |
cd OpenDDS/tests/cmake | |
cmake -DCMAKE_CXX_COMPILER=clang++-12 -DCMAKE_CXX_STANDARD=11 -S . -B build | |
ASAN_OPTIONS=detect_leaks=0 cmake --build build -- -j4 | |
- name: create OpenDDS tar.xz artifact | |
shell: bash | |
run: | | |
cd OpenDDS | |
rm -rf ACE_TAO | |
find . -iname "*\.o" | xargs rm | |
tar cvf ../${{ github.job }}.tar setenv.sh | |
git clean -xdfn | cut -d ' ' -f 3- | xargs tar uvf ../${{ github.job }}.tar | |
xz -3 ../${{ github.job }}.tar | |
- name: upload OpenDDS artifact | |
uses: actions/upload-artifact@v4 | |
with: | |
name: ${{ github.job }}_artifact | |
path: ${{ github.job }}.tar.xz | |
test_u20_p1_asan_sec: | |
runs-on: ubuntu-20.04 | |
needs: build_u20_p1_asan_sec | |
permissions: | |
contents: read | |
id-token: write | |
steps: | |
- name: Update apt indexes | |
run: sudo apt-get -y update | |
- name: install xerces | |
run: sudo apt-get -y install libxerces-c-dev | |
- name: checkout MPC | |
uses: actions/checkout@v4 | |
with: | |
repository: DOCGroup/MPC | |
path: MPC | |
- name: checkout autobuild | |
uses: actions/checkout@v4 | |
with: | |
repository: DOCGroup/autobuild | |
path: autobuild | |
- name: checkout ACE_TAO | |
uses: actions/checkout@v4 | |
with: | |
repository: DOCGroup/ACE_TAO | |
ref: ace6tao2 | |
path: ACE_TAO | |
- name: download ACE_TAO artifact | |
uses: actions/download-artifact@v4 | |
with: | |
name: ACE_TAO_u20_p1_asan_artifact | |
path: ACE_TAO | |
- name: extract ACE_TAO artifact | |
shell: bash | |
run: | | |
cd ACE_TAO | |
tar xvfJ ACE_TAO_u20_p1_asan.tar.xz | |
- name: checkout OpenDDS | |
uses: actions/checkout@v4 | |
with: | |
path: OpenDDS | |
submodules: true | |
- name: download OpenDDS artifact | |
uses: actions/download-artifact@v4 | |
with: | |
name: build_u20_p1_asan_sec_artifact | |
path: OpenDDS | |
- name: extract OpenDDS artifact | |
shell: bash | |
run: | | |
cd OpenDDS | |
tar xvfJ build_u20_p1_asan_sec.tar.xz | |
- name: check build configuration | |
shell: bash | |
run: | | |
cd OpenDDS | |
. setenv.sh | |
tools/scripts/show_build_config.pl | |
- name: install lldb | |
shell: bash | |
run: | | |
sudo apt-get update | |
sudo apt-get install lldb | |
echo 0 | sudo tee /proc/sys/kernel/yama/ptrace_scope | |
- name: change core file pattern | |
shell: bash | |
run: | | |
sudo sysctl -w kernel.core_pattern=core.%e.%p | |
echo Core file pattern set to: | |
cat /proc/sys/kernel/core_pattern | |
- name: run OpenDDS tests | |
shell: bash | |
run: | | |
ulimit -c unlimited | |
cd OpenDDS | |
echo "export ACE_TEST_LOG_STUCK_STACKS=1" >> setenv.sh | |
echo "export ACE_TEST_DEBUGGER=lldb" >> setenv.sh | |
. setenv.sh | |
mkdir ${{ github.job }}_autobuild_workspace | |
cd ${{ github.job }}_autobuild_workspace | |
echo using commit $TRIGGERING_COMMIT for SHA | |
echo $TRIGGERING_COMMIT >> ./SHA | |
cat > config.xml <<EOF | |
<autobuild> | |
<configuration> | |
<variable name="log_file" value="output"/> | |
<variable name="log_root" value="$DDS_ROOT/${{ github.job }}_autobuild_workspace/logs"/> | |
<variable name="project_root" value="$DDS_ROOT"/> | |
<variable name="root" value="$DDS_ROOT/${{ github.job }}_autobuild_workspace"/> | |
<variable name="junit_xml_output" value="Tests"/> | |
</configuration> | |
<command name="log" options="on"/> | |
<command name="print_os_version"/> | |
<command name="print_ace_config"/> | |
<command name="print_cmake_version"/> | |
<command name="print_make_version"/> | |
<command name="check_compiler" options="gcc"/> | |
<command name="print_perl_version"/> | |
<command name="print_autobuild_config"/> | |
<command name="auto_run_tests" options="script_path=tests dir=$GITHUB_WORKSPACE/OpenDDS -Config IPV6 -Config XERCES3 -Config OPENDDS_SECURITY -Config CXX11 -Config RAPIDJSON --security -Config GH_ACTIONS_ASAN --cmake"/> | |
<command name="log" options="off"/> | |
<command name="process_logs" options="move prettify index"/> | |
</autobuild> | |
EOF | |
$GITHUB_WORKSPACE/autobuild/autobuild.pl "$GITHUB_WORKSPACE/OpenDDS/${{ github.job }}_autobuild_workspace/config.xml" | |
- name: upload autobuild output | |
uses: actions/upload-artifact@v4 | |
with: | |
name: ${{ github.job }}_autobuild_output | |
path: OpenDDS/${{ github.job }}_autobuild_workspace | |
- name: Authenticate to Google Cloud | |
uses: google-github-actions/auth@v2 | |
with: | |
workload_identity_provider: projects/30587790497/locations/global/workloadIdentityPools/gha-scoreboard-upload/providers/gha-provider | |
service_account: [email protected] | |
if: ${{ github.repository == 'OpenDDS/OpenDDS' && github.ref == env.SCOREBOARD_UPLOAD_BRANCH }} | |
- name: get OpenDDS version | |
shell: bash | |
run: | | |
cd OpenDDS | |
echo "OPENDDS_MAJOR_VERSION=$(grep '#define OPENDDS_MAJOR_VERSION' dds/Version.h | cut -d' ' -f3)" >> $GITHUB_ENV | |
- name: upload to Google Cloud | |
uses: 'google-github-actions/upload-cloud-storage@v2' | |
with: | |
path: OpenDDS/${{ github.job }}_autobuild_workspace/logs | |
destination: opendds-gha-scoreboard-uploads/${{ env.OPENDDS_MAJOR_VERSION }}/${{ github.job }} | |
parent: false | |
process_gcloudignore: false | |
if: ${{ github.repository == 'OpenDDS/OpenDDS' && github.ref == env.SCOREBOARD_UPLOAD_BRANCH }} | |
- name: check results | |
shell: bash | |
run: | | |
$GITHUB_WORKSPACE/OpenDDS/tools/scripts/autobuild_brief_html_to_text.pl "$GITHUB_WORKSPACE/OpenDDS/${{ github.job }}_autobuild_workspace/logs/"*_Brief.html | |
cat "$GITHUB_WORKSPACE/OpenDDS/${{ github.job }}_autobuild_workspace/logs/latest.txt" | |
grep -q 'Failures: 0' "$GITHUB_WORKSPACE/OpenDDS/${{ github.job }}_autobuild_workspace/logs/latest.txt" | |
ACE_TAO_u20_p1_tsan: | |
runs-on: ubuntu-20.04 | |
steps: | |
- name: checkout OpenDDS | |
uses: actions/checkout@v4 | |
with: | |
path: OpenDDS | |
submodules: true | |
- name: checkout ACE_TAO | |
uses: actions/checkout@v4 | |
with: | |
repository: DOCGroup/ACE_TAO | |
ref: ace6tao2 | |
path: OpenDDS/ACE_TAO | |
- name: get ACE_TAO commit | |
shell: bash | |
run: | | |
cd OpenDDS/ACE_TAO | |
export ACE_COMMIT=$(git rev-parse HEAD) | |
echo "ACE_COMMIT=$ACE_COMMIT" >> $GITHUB_ENV | |
- name: get compiler version | |
shell: bash | |
run: | | |
export COMPILER_VERSION=$(c++ --version 2>&1 | head -n 1) | |
echo "COMPILER_VERSION=$COMPILER_VERSION" >> $GITHUB_ENV | |
- name: Cache Artifact | |
id: cache-artifact | |
uses: actions/cache@v4 | |
with: | |
path: ${{ github.job }}.tar.xz | |
key: c11_${{ github.job }}_ace6tao2_${{ env.ACE_COMMIT }}_${{ env.COMPILER_VERSION }} | |
- name: install xerces | |
if: steps.cache-artifact.outputs.cache-hit != 'true' | |
run: sudo apt-get -y install libxerces-c-dev | |
- name: checkout MPC | |
if: steps.cache-artifact.outputs.cache-hit != 'true' | |
uses: actions/checkout@v4 | |
with: | |
repository: DOCGroup/MPC | |
path: MPC | |
- name: configure OpenDDS | |
if: steps.cache-artifact.outputs.cache-hit != 'true' | |
run: | | |
cd OpenDDS | |
./configure \ | |
--ace=$GITHUB_WORKSPACE/OpenDDS/ACE_TAO/ACE \ | |
--mpc=$GITHUB_WORKSPACE/MPC \ | |
--compiler=clang++-12 \ | |
--std=c++11 \ | |
--sanitize tsan \ | |
--ipv6 \ | |
--tests \ | |
--security \ | |
--compile-warnings=WARNING | |
- name: build ACE and TAO | |
if: steps.cache-artifact.outputs.cache-hit != 'true' | |
run: | | |
cd OpenDDS | |
. setenv.sh | |
cd ACE_TAO/ACE | |
make -j4 | |
cd ../TAO | |
make -j4 | |
- name: create ACE_TAO tar.xz artifact | |
if: steps.cache-artifact.outputs.cache-hit != 'true' | |
shell: bash | |
run: | | |
cd OpenDDS/ACE_TAO | |
perl -ni.bak -e "print unless /opendds/" ACE/bin/MakeProjectCreator/config/default.features # remove opendds features from here, let individual build configure scripts handle those | |
find . -iname "*\.o" | xargs rm | |
tar cvf ../../${{ github.job }}.tar ACE/ace/config.h | |
git clean -xdfn | cut -d ' ' -f 3- | xargs tar uvf ../../${{ github.job }}.tar | |
xz -3 ../../${{ github.job }}.tar | |
- name: upload ACE_TAO artifact | |
uses: actions/upload-artifact@v4 | |
with: | |
name: ${{ github.job }}_artifact | |
path: ${{ github.job }}.tar.xz | |
build_u20_p1_tsan_sec: | |
runs-on: ubuntu-20.04 | |
needs: ACE_TAO_u20_p1_tsan | |
steps: | |
- name: Update apt indexes | |
run: sudo apt-get -y update | |
- name: install xerces | |
run: sudo apt-get -y install libxerces-c-dev | |
- name: checkout MPC | |
uses: actions/checkout@v4 | |
with: | |
repository: DOCGroup/MPC | |
path: MPC | |
- name: checkout ACE_TAO | |
uses: actions/checkout@v4 | |
with: | |
repository: DOCGroup/ACE_TAO | |
ref: ace6tao2 | |
path: ACE_TAO | |
- name: download ACE_TAO artifact | |
uses: actions/download-artifact@v4 | |
with: | |
name: ACE_TAO_u20_p1_tsan_artifact | |
path: ACE_TAO | |
- name: extract ACE_TAO artifact | |
shell: bash | |
run: | | |
cd ACE_TAO | |
tar xvfJ ACE_TAO_u20_p1_tsan.tar.xz | |
- name: checkout OpenDDS | |
uses: actions/checkout@v4 | |
with: | |
path: OpenDDS | |
submodules: true | |
- name: configure OpenDDS | |
run: | | |
cd OpenDDS | |
./configure \ | |
--ace=$GITHUB_WORKSPACE/ACE_TAO/ACE \ | |
--mpc=$GITHUB_WORKSPACE/MPC \ | |
--compiler=clang++-12 \ | |
--std=c++11 \ | |
--sanitize tsan \ | |
--ipv6 \ | |
--tests \ | |
--security \ | |
--rapidjson \ | |
--compile-warnings=WARNING | |
- name: check build configuration | |
shell: bash | |
run: | | |
cd OpenDDS | |
. setenv.sh | |
tools/scripts/show_build_config.pl | |
- uses: ammaraskar/[email protected] | |
- name: build OpenDDS | |
shell: bash | |
run: | | |
cd OpenDDS | |
. setenv.sh | |
make -j4 | |
- name: create OpenDDS tar.xz artifact | |
shell: bash | |
run: | | |
cd OpenDDS | |
rm -rf ACE_TAO | |
find . -iname "*\.o" | xargs rm | |
tar cvf ../${{ github.job }}.tar setenv.sh | |
git clean -xdfn | cut -d ' ' -f 3- | xargs tar uvf ../${{ github.job }}.tar | |
xz -3 ../${{ github.job }}.tar | |
- name: upload OpenDDS artifact | |
uses: actions/upload-artifact@v4 | |
with: | |
name: ${{ github.job }}_artifact | |
path: ${{ github.job }}.tar.xz | |
test_u20_p1_tsan_sec: | |
runs-on: ubuntu-20.04 | |
needs: build_u20_p1_tsan_sec | |
permissions: | |
contents: read | |
id-token: write | |
steps: | |
- name: Update apt indexes | |
run: sudo apt-get -y update | |
- name: install xerces | |
run: sudo apt-get -y install libxerces-c-dev | |
- name: checkout MPC | |
uses: actions/checkout@v4 | |
with: | |
repository: DOCGroup/MPC | |
path: MPC | |
- name: checkout autobuild | |
uses: actions/checkout@v4 | |
with: | |
repository: DOCGroup/autobuild | |
path: autobuild | |
- name: checkout ACE_TAO | |
uses: actions/checkout@v4 | |
with: | |
repository: DOCGroup/ACE_TAO | |
ref: ace6tao2 | |
path: ACE_TAO | |
- name: download ACE_TAO artifact | |
uses: actions/download-artifact@v4 | |
with: | |
name: ACE_TAO_u20_p1_tsan_artifact | |
path: ACE_TAO | |
- name: extract ACE_TAO artifact | |
shell: bash | |
run: | | |
cd ACE_TAO | |
tar xvfJ ACE_TAO_u20_p1_tsan.tar.xz | |
- name: checkout OpenDDS | |
uses: actions/checkout@v4 | |
with: | |
path: OpenDDS | |
submodules: true | |
- name: download OpenDDS artifact | |
uses: actions/download-artifact@v4 | |
with: | |
name: build_u20_p1_tsan_sec_artifact | |
path: OpenDDS | |
- name: extract OpenDDS artifact | |
shell: bash | |
run: | | |
cd OpenDDS | |
tar xvfJ build_u20_p1_tsan_sec.tar.xz | |
- name: check build configuration | |
shell: bash | |
run: | | |
cd OpenDDS | |
. setenv.sh | |
tools/scripts/show_build_config.pl | |
- name: install lldb | |
shell: bash | |
run: | | |
sudo apt-get update | |
sudo apt-get install lldb | |
echo 0 | sudo tee /proc/sys/kernel/yama/ptrace_scope | |
- name: change core file pattern | |
shell: bash | |
run: | | |
sudo sysctl -w kernel.core_pattern=core.%e.%p | |
echo Core file pattern set to: | |
cat /proc/sys/kernel/core_pattern | |
- name: run OpenDDS tests | |
shell: bash | |
run: | | |
ulimit -c unlimited | |
cd OpenDDS | |
echo "export ACE_TEST_LOG_STUCK_STACKS=1" >> setenv.sh | |
echo "export ACE_TEST_DEBUGGER=lldb" >> setenv.sh | |
. setenv.sh | |
mkdir ${{ github.job }}_autobuild_workspace | |
cd ${{ github.job }}_autobuild_workspace | |
echo using commit $TRIGGERING_COMMIT for SHA | |
echo $TRIGGERING_COMMIT >> ./SHA | |
cat > config.xml <<EOF | |
<autobuild> | |
<configuration> | |
<variable name="log_file" value="output"/> | |
<variable name="log_root" value="$DDS_ROOT/${{ github.job }}_autobuild_workspace/logs"/> | |
<variable name="project_root" value="$DDS_ROOT"/> | |
<variable name="root" value="$DDS_ROOT/${{ github.job }}_autobuild_workspace"/> | |
<variable name="junit_xml_output" value="Tests"/> | |
</configuration> | |
<command name="log" options="on"/> | |
<command name="print_os_version"/> | |
<command name="print_ace_config"/> | |
<command name="print_cmake_version"/> | |
<command name="print_make_version"/> | |
<command name="check_compiler" options="gcc"/> | |
<command name="print_perl_version"/> | |
<command name="print_autobuild_config"/> | |
<command name="auto_run_tests" options="script_path=tests dir=$GITHUB_WORKSPACE/OpenDDS -Config IPV6 -Config XERCES3 -Config OPENDDS_SECURITY -Config CXX11 -Config RAPIDJSON --no-dcps tests/tsan_tests.lst"/> | |
<command name="log" options="off"/> | |
<command name="process_logs" options="move prettify index"/> | |
</autobuild> | |
EOF | |
$GITHUB_WORKSPACE/autobuild/autobuild.pl "$GITHUB_WORKSPACE/OpenDDS/${{ github.job }}_autobuild_workspace/config.xml" | |
- name: upload autobuild output | |
uses: actions/upload-artifact@v4 | |
with: | |
name: ${{ github.job }}_autobuild_output | |
path: OpenDDS/${{ github.job }}_autobuild_workspace | |
- name: Authenticate to Google Cloud | |
uses: google-github-actions/auth@v2 | |
with: | |
workload_identity_provider: projects/30587790497/locations/global/workloadIdentityPools/gha-scoreboard-upload/providers/gha-provider | |
service_account: [email protected] | |
if: ${{ github.repository == 'OpenDDS/OpenDDS' && github.ref == env.SCOREBOARD_UPLOAD_BRANCH }} | |
- name: get OpenDDS version | |
shell: bash | |
run: | | |
cd OpenDDS | |
echo "OPENDDS_MAJOR_VERSION=$(grep '#define OPENDDS_MAJOR_VERSION' dds/Version.h | cut -d' ' -f3)" >> $GITHUB_ENV | |
- name: upload to Google Cloud | |
uses: 'google-github-actions/upload-cloud-storage@v2' | |
with: | |
path: OpenDDS/${{ github.job }}_autobuild_workspace/logs | |
destination: opendds-gha-scoreboard-uploads/${{ env.OPENDDS_MAJOR_VERSION }}/${{ github.job }} | |
parent: false | |
process_gcloudignore: false | |
if: ${{ github.repository == 'OpenDDS/OpenDDS' && github.ref == env.SCOREBOARD_UPLOAD_BRANCH }} | |
- name: check results | |
shell: bash | |
run: | | |
$GITHUB_WORKSPACE/OpenDDS/tools/scripts/autobuild_brief_html_to_text.pl "$GITHUB_WORKSPACE/OpenDDS/${{ github.job }}_autobuild_workspace/logs/"*_Brief.html | |
cat "$GITHUB_WORKSPACE/OpenDDS/${{ github.job }}_autobuild_workspace/logs/latest.txt" | |
grep -q 'Failures: 0' "$GITHUB_WORKSPACE/OpenDDS/${{ github.job }}_autobuild_workspace/logs/latest.txt" | |
ACE_TAO_u20_p1_ubsan: | |
runs-on: ubuntu-20.04 | |
steps: | |
- name: checkout OpenDDS | |
uses: actions/checkout@v4 | |
with: | |
path: OpenDDS | |
submodules: true | |
- name: checkout ACE_TAO | |
uses: actions/checkout@v4 | |
with: | |
repository: DOCGroup/ACE_TAO | |
ref: ace6tao2 | |
path: OpenDDS/ACE_TAO | |
- name: get ACE_TAO commit | |
shell: bash | |
run: | | |
cd OpenDDS/ACE_TAO | |
export ACE_COMMIT=$(git rev-parse HEAD) | |
echo "ACE_COMMIT=$ACE_COMMIT" >> $GITHUB_ENV | |
- name: get compiler version | |
shell: bash | |
run: | | |
export COMPILER_VERSION=$(c++ --version 2>&1 | head -n 1) | |
echo "COMPILER_VERSION=$COMPILER_VERSION" >> $GITHUB_ENV | |
- name: Cache Artifact | |
id: cache-artifact | |
uses: actions/cache@v4 | |
with: | |
path: ${{ github.job }}.tar.xz | |
key: c11_${{ github.job }}_ace6tao2_${{ env.ACE_COMMIT }}_${{ env.COMPILER_VERSION }} | |
- name: install xerces | |
if: steps.cache-artifact.outputs.cache-hit != 'true' | |
run: sudo apt-get -y install libxerces-c-dev | |
- name: checkout MPC | |
if: steps.cache-artifact.outputs.cache-hit != 'true' | |
uses: actions/checkout@v4 | |
with: | |
repository: DOCGroup/MPC | |
path: MPC | |
- name: configure OpenDDS | |
if: steps.cache-artifact.outputs.cache-hit != 'true' | |
run: | | |
cd OpenDDS | |
./configure \ | |
--ace=$GITHUB_WORKSPACE/OpenDDS/ACE_TAO/ACE \ | |
--mpc=$GITHUB_WORKSPACE/MPC \ | |
--compiler=clang++-12 \ | |
--std=c++11 \ | |
--sanitize ubsan \ | |
--features=no_hidden_visibility=1 \ | |
--macros=SOFLAGS+=-Wl,-h,\$\(SONAME\) \ | |
--ipv6 \ | |
--tests \ | |
--security \ | |
--compile-warnings=WARNING | |
- name: build ACE and TAO | |
if: steps.cache-artifact.outputs.cache-hit != 'true' | |
run: | | |
cd OpenDDS | |
. setenv.sh | |
cd ACE_TAO/ACE | |
make -j2 | |
cd ../TAO | |
make -j2 | |
- name: create ACE_TAO tar.xz artifact | |
if: steps.cache-artifact.outputs.cache-hit != 'true' | |
shell: bash | |
run: | | |
cd OpenDDS/ACE_TAO | |
perl -ni.bak -e "print unless /opendds/" ACE/bin/MakeProjectCreator/config/default.features # remove opendds features from here, let individual build configure scripts handle those | |
find . -iname "*\.o" | xargs rm | |
tar cvf ../../${{ github.job }}.tar ACE/ace/config.h | |
git clean -xdfn | cut -d ' ' -f 3- | xargs tar uvf ../../${{ github.job }}.tar | |
xz -3 ../../${{ github.job }}.tar | |
- name: upload ACE_TAO artifact | |
uses: actions/upload-artifact@v4 | |
with: | |
name: ${{ github.job }}_artifact | |
path: ${{ github.job }}.tar.xz | |
build_u20_p1_ubsan_sec: | |
runs-on: ubuntu-20.04 | |
needs: ACE_TAO_u20_p1_ubsan | |
steps: | |
- name: Update apt indexes | |
run: sudo apt-get -y update | |
- name: install xerces | |
run: sudo apt-get -y install libxerces-c-dev | |
- name: checkout MPC | |
uses: actions/checkout@v4 | |
with: | |
repository: DOCGroup/MPC | |
path: MPC | |
- name: checkout ACE_TAO | |
uses: actions/checkout@v4 | |
with: | |
repository: DOCGroup/ACE_TAO | |
ref: ace6tao2 | |
path: ACE_TAO | |
- name: download ACE_TAO artifact | |
uses: actions/download-artifact@v4 | |
with: | |
name: ACE_TAO_u20_p1_ubsan_artifact | |
path: ACE_TAO | |
- name: extract ACE_TAO artifact | |
shell: bash | |
run: | | |
cd ACE_TAO | |
tar xvfJ ACE_TAO_u20_p1_ubsan.tar.xz | |
- name: checkout OpenDDS | |
uses: actions/checkout@v4 | |
with: | |
path: OpenDDS | |
submodules: true | |
- name: configure OpenDDS | |
run: | | |
cd OpenDDS | |
sed -i 's/DevGuideExamples/tests\/unit-tests/' DDS_no_tests.mwc | |
./configure \ | |
--ace=$GITHUB_WORKSPACE/ACE_TAO/ACE \ | |
--mpc=$GITHUB_WORKSPACE/MPC \ | |
--compiler=clang++-12 \ | |
--std=c++11 \ | |
--gtest \ | |
--sanitize ubsan \ | |
--features=no_hidden_visibility=1 \ | |
--macros=SOFLAGS+=-Wl,-h,\$\(SONAME\) \ | |
--ipv6 \ | |
--security \ | |
--rapidjson \ | |
--compile-warnings=WARNING | |
- name: check build configuration | |
shell: bash | |
run: | | |
cd OpenDDS | |
. setenv.sh | |
tools/scripts/show_build_config.pl | |
- uses: ammaraskar/[email protected] | |
- name: build OpenDDS | |
shell: bash | |
run: | | |
cd OpenDDS | |
. setenv.sh | |
make -j2 | |
- name: Build CMake Tests | |
run: | | |
source OpenDDS/setenv.sh | |
cd OpenDDS/tests/cmake | |
cmake -DCMAKE_CXX_COMPILER=clang++-12 -DCMAKE_CXX_STANDARD=11 -S . -B build | |
cmake --build build -- -j2 | |
- name: create OpenDDS tar.xz artifact | |
shell: bash | |
run: | | |
cd OpenDDS | |
rm -rf ACE_TAO | |
find . -iname "*\.o" | xargs rm | |
tar cvf ../${{ github.job }}.tar setenv.sh | |
git clean -xdfn | cut -d ' ' -f 3- | xargs tar uvf ../${{ github.job }}.tar | |
xz -3 ../${{ github.job }}.tar | |
- name: upload OpenDDS artifact | |
uses: actions/upload-artifact@v4 | |
with: | |
name: ${{ github.job }}_artifact | |
path: ${{ github.job }}.tar.xz | |
test_u20_p1_ubsan_sec: | |
runs-on: ubuntu-20.04 | |
needs: build_u20_p1_ubsan_sec | |
permissions: | |
contents: read | |
id-token: write | |
steps: | |
- name: Update apt indexes | |
run: sudo apt-get -y update | |
- name: install xerces | |
run: sudo apt-get -y install libxerces-c-dev | |
- name: checkout MPC | |
uses: actions/checkout@v4 | |
with: | |
repository: DOCGroup/MPC | |
path: MPC | |
- name: checkout autobuild | |
uses: actions/checkout@v4 | |
with: | |
repository: DOCGroup/autobuild | |
path: autobuild | |
- name: checkout ACE_TAO | |
uses: actions/checkout@v4 | |
with: | |
repository: DOCGroup/ACE_TAO | |
ref: ace6tao2 | |
path: ACE_TAO | |
- name: download ACE_TAO artifact | |
uses: actions/download-artifact@v4 | |
with: | |
name: ACE_TAO_u20_p1_ubsan_artifact | |
path: ACE_TAO | |
- name: extract ACE_TAO artifact | |
shell: bash | |
run: | | |
cd ACE_TAO | |
tar xvfJ ACE_TAO_u20_p1_ubsan.tar.xz | |
- name: checkout OpenDDS | |
uses: actions/checkout@v4 | |
with: | |
path: OpenDDS | |
submodules: true | |
- name: download OpenDDS artifact | |
uses: actions/download-artifact@v4 | |
with: | |
name: build_u20_p1_ubsan_sec_artifact | |
path: OpenDDS | |
- name: extract OpenDDS artifact | |
shell: bash | |
run: | | |
cd OpenDDS | |
tar xvfJ build_u20_p1_ubsan_sec.tar.xz | |
- name: check build configuration | |
shell: bash | |
run: | | |
cd OpenDDS | |
. setenv.sh | |
tools/scripts/show_build_config.pl | |
- name: install lldb | |
shell: bash | |
run: | | |
sudo apt-get update | |
sudo apt-get install lldb | |
echo 0 | sudo tee /proc/sys/kernel/yama/ptrace_scope | |
- name: change core file pattern | |
shell: bash | |
run: | | |
sudo sysctl -w kernel.core_pattern=core.%e.%p | |
echo Core file pattern set to: | |
cat /proc/sys/kernel/core_pattern | |
- name: run OpenDDS tests | |
shell: bash | |
run: | | |
ulimit -c unlimited | |
cd OpenDDS | |
echo "export ACE_TEST_LOG_STUCK_STACKS=1" >> setenv.sh | |
echo "export ACE_TEST_DEBUGGER=lldb" >> setenv.sh | |
. setenv.sh | |
mkdir ${{ github.job }}_autobuild_workspace | |
cd ${{ github.job }}_autobuild_workspace | |
echo using commit $TRIGGERING_COMMIT for SHA | |
echo $TRIGGERING_COMMIT >> ./SHA | |
cat > config.xml <<EOF | |
<autobuild> | |
<configuration> | |
<variable name="log_file" value="output"/> | |
<variable name="log_root" value="$DDS_ROOT/${{ github.job }}_autobuild_workspace/logs"/> | |
<variable name="project_root" value="$DDS_ROOT"/> | |
<variable name="root" value="$DDS_ROOT/${{ github.job }}_autobuild_workspace"/> | |
<variable name="junit_xml_output" value="Tests"/> | |
</configuration> | |
<command name="log" options="on"/> | |
<command name="print_os_version"/> | |
<command name="print_ace_config"/> | |
<command name="print_cmake_version"/> | |
<command name="print_make_version"/> | |
<command name="check_compiler" options="gcc"/> | |
<command name="print_perl_version"/> | |
<command name="print_autobuild_config"/> | |
<command name="auto_run_tests" options="script_path=tests dir=$GITHUB_WORKSPACE/OpenDDS -Config IPV6 -Config XERCES3 -Config OPENDDS_SECURITY -Config CXX11 -Config RAPIDJSON --no-dcps tests/ubsan_tests.lst"/> | |
<command name="log" options="off"/> | |
<command name="process_logs" options="move prettify index"/> | |
</autobuild> | |
EOF | |
$GITHUB_WORKSPACE/autobuild/autobuild.pl "$GITHUB_WORKSPACE/OpenDDS/${{ github.job }}_autobuild_workspace/config.xml" | |
- name: upload autobuild output | |
uses: actions/upload-artifact@v4 | |
with: | |
name: ${{ github.job }}_autobuild_output | |
path: OpenDDS/${{ github.job }}_autobuild_workspace | |
- name: Authenticate to Google Cloud | |
uses: google-github-actions/auth@v2 | |
with: | |
workload_identity_provider: projects/30587790497/locations/global/workloadIdentityPools/gha-scoreboard-upload/providers/gha-provider | |
service_account: [email protected] | |
if: ${{ github.repository == 'OpenDDS/OpenDDS' && github.ref == env.SCOREBOARD_UPLOAD_BRANCH }} | |
- name: get OpenDDS version | |
shell: bash | |
run: | | |
cd OpenDDS | |
echo "OPENDDS_MAJOR_VERSION=$(grep '#define OPENDDS_MAJOR_VERSION' dds/Version.h | cut -d' ' -f3)" >> $GITHUB_ENV | |
- name: upload to Google Cloud | |
uses: 'google-github-actions/upload-cloud-storage@v2' | |
with: | |
path: OpenDDS/${{ github.job }}_autobuild_workspace/logs | |
destination: opendds-gha-scoreboard-uploads/${{ env.OPENDDS_MAJOR_VERSION }}/${{ github.job }} | |
parent: false | |
process_gcloudignore: false | |
if: ${{ github.repository == 'OpenDDS/OpenDDS' && github.ref == env.SCOREBOARD_UPLOAD_BRANCH }} | |
- name: check results | |
shell: bash | |
run: | | |
$GITHUB_WORKSPACE/OpenDDS/tools/scripts/autobuild_brief_html_to_text.pl "$GITHUB_WORKSPACE/OpenDDS/${{ github.job }}_autobuild_workspace/logs/"*_Brief.html | |
cat "$GITHUB_WORKSPACE/OpenDDS/${{ github.job }}_autobuild_workspace/logs/latest.txt" | |
grep -q 'Failures: 0' "$GITHUB_WORKSPACE/OpenDDS/${{ github.job }}_autobuild_workspace/logs/latest.txt" | |
ACE_TAO_u20_p1: | |
runs-on: ubuntu-20.04 | |
needs: openssl3_u20 | |
steps: | |
- name: download openssl artifact | |
uses: actions/download-artifact@v4 | |
with: | |
name: openssl3_u20_artifact | |
- name: extract openssl artifact | |
shell: bash | |
run: | | |
tar xvJf openssl3_u20.tar.xz | |
rm -f openssl3_u20.tar.xz | |
- name: checkout OpenDDS | |
uses: actions/checkout@v4 | |
with: | |
path: OpenDDS | |
submodules: true | |
- name: checkout ACE_TAO | |
uses: actions/checkout@v4 | |
with: | |
repository: DOCGroup/ACE_TAO | |
ref: ace6tao2 | |
path: OpenDDS/ACE_TAO | |
- name: get ACE_TAO commit | |
shell: bash | |
run: | | |
cd OpenDDS/ACE_TAO | |
export ACE_COMMIT=$(git rev-parse HEAD) | |
echo "ACE_COMMIT=$ACE_COMMIT" >> $GITHUB_ENV | |
- name: get compiler version | |
shell: bash | |
run: | | |
export COMPILER_VERSION=$(c++ --version 2>&1 | head -n 1) | |
echo "COMPILER_VERSION=$COMPILER_VERSION" >> $GITHUB_ENV | |
- name: get jdk version | |
shell: bash | |
run: | | |
export JDK_VERSION=$(java -version 2>&1 | grep -i version) | |
echo "JDK_VERSION=$JDK_VERSION" >> $GITHUB_ENV | |
- name: Cache Artifact | |
id: cache-artifact | |
uses: actions/cache@v4 | |
with: | |
path: ${{ github.job }}.tar.xz | |
key: c06_${{ github.job }}_ace6tao2_${{ env.ACE_COMMIT }}_${{ env.COMPILER_VERSION }}_${{ env.JDK_VERSION }} | |
- name: install xerces | |
if: steps.cache-artifact.outputs.cache-hit != 'true' | |
run: sudo apt-get -y install libxerces-c-dev | |
- name: checkout MPC | |
if: steps.cache-artifact.outputs.cache-hit != 'true' | |
uses: actions/checkout@v4 | |
with: | |
repository: DOCGroup/MPC | |
path: MPC | |
- name: configure OpenDDS | |
if: steps.cache-artifact.outputs.cache-hit != 'true' | |
run: | | |
SSL_DIR=$PWD/openssl_install | |
cd OpenDDS | |
./configure --ipv6 --tests --security --openssl=$SSL_DIR --ace=$GITHUB_WORKSPACE/OpenDDS/ACE_TAO/ACE --mpc=$GITHUB_WORKSPACE/MPC --compile-warnings=WARNING | |
- name: build ACE and TAO | |
if: steps.cache-artifact.outputs.cache-hit != 'true' | |
run: | | |
cd OpenDDS | |
. setenv.sh | |
cd ACE_TAO/ACE | |
make -j4 | |
cd ../TAO | |
make -j4 | |
- name: create ACE_TAO tar.xz artifact | |
if: steps.cache-artifact.outputs.cache-hit != 'true' | |
shell: bash | |
run: | | |
cd OpenDDS/ACE_TAO | |
perl -ni.bak -e "print unless /opendds/" ACE/bin/MakeProjectCreator/config/default.features # remove opendds features from here, let individual build configure scripts handle those | |
find . -iname "*\.o" | xargs rm | |
tar cvf ../../${{ github.job }}.tar ACE/ace/config.h | |
git clean -xdfn | cut -d ' ' -f 3- | xargs tar uvf ../../${{ github.job }}.tar | |
xz -3 ../../${{ github.job }}.tar | |
- name: upload ACE_TAO artifact | |
uses: actions/upload-artifact@v4 | |
with: | |
name: ${{ github.job }}_artifact | |
path: ${{ github.job }}.tar.xz | |
build_u20_p1_sec: | |
runs-on: ubuntu-20.04 | |
needs: ACE_TAO_u20_p1 | |
steps: | |
- name: download openssl artifact | |
uses: actions/download-artifact@v4 | |
with: | |
name: openssl3_u20_artifact | |
- name: extract openssl artifact | |
shell: bash | |
run: | | |
tar xvJf openssl3_u20.tar.xz | |
rm -f openssl3_u20.tar.xz | |
- name: Update apt indexes | |
run: sudo apt-get -y update | |
- name: install xerces | |
run: sudo apt-get -y install libxerces-c-dev | |
- name: checkout MPC | |
uses: actions/checkout@v4 | |
with: | |
repository: DOCGroup/MPC | |
path: MPC | |
- name: checkout ACE_TAO | |
uses: actions/checkout@v4 | |
with: | |
repository: DOCGroup/ACE_TAO | |
ref: ace6tao2 | |
path: ACE_TAO | |
- name: download ACE_TAO artifact | |
uses: actions/download-artifact@v4 | |
with: | |
name: ACE_TAO_u20_p1_artifact | |
path: ACE_TAO | |
- name: extract ACE_TAO artifact | |
shell: bash | |
run: | | |
cd ACE_TAO | |
tar xvfJ ACE_TAO_u20_p1.tar.xz | |
- name: checkout OpenDDS | |
uses: actions/checkout@v4 | |
with: | |
path: OpenDDS | |
submodules: true | |
- name: configure OpenDDS | |
run: | | |
SSL_DIR=$PWD/openssl_install | |
export SSL_LIBDIR=$SSL_DIR/lib64 | |
cd OpenDDS | |
./configure --ipv6 --tests --security --openssl=$SSL_DIR --rapidjson --ace=$GITHUB_WORKSPACE/ACE_TAO/ACE --mpc=$GITHUB_WORKSPACE/MPC --compile-warnings=WARNING | |
echo "export SSL_LIBDIR=$SSL_LIBDIR" >> setenv.sh | |
- name: check build configuration | |
shell: bash | |
run: | | |
cd OpenDDS | |
. setenv.sh | |
tools/scripts/show_build_config.pl | |
- uses: ammaraskar/[email protected] | |
- name: build OpenDDS | |
shell: bash | |
run: | | |
cd OpenDDS | |
. setenv.sh | |
make -j4 | |
- name: Build CMake Tests | |
run: | | |
source OpenDDS/setenv.sh | |
mkdir OpenDDS/tests/cmake/build | |
cd OpenDDS/tests/cmake/build | |
cmake .. | |
cmake --build . -- -j4 | |
- name: create OpenDDS tar.xz artifact | |
shell: bash | |
run: | | |
cd OpenDDS | |
rm -rf ACE_TAO | |
find . -iname "*\.o" | xargs rm | |
tar cvf ../${{ github.job }}.tar setenv.sh | |
git clean -xdfn | cut -d ' ' -f 3- | xargs tar uvf ../${{ github.job }}.tar | |
xz -3 ../${{ github.job }}.tar | |
- name: upload OpenDDS artifact | |
uses: actions/upload-artifact@v4 | |
with: | |
name: ${{ github.job }}_artifact | |
path: ${{ github.job }}.tar.xz | |
test_u20_p1_sec: | |
runs-on: ubuntu-20.04 | |
needs: build_u20_p1_sec | |
permissions: | |
contents: read | |
id-token: write | |
steps: | |
- name: download openssl artifact | |
uses: actions/download-artifact@v4 | |
with: | |
name: openssl3_u20_artifact | |
- name: extract openssl artifact | |
shell: bash | |
run: | | |
tar xvJf openssl3_u20.tar.xz | |
rm -f openssl3_u20.tar.xz | |
- name: Update apt indexes | |
run: sudo apt-get -y update | |
- name: install xerces | |
run: sudo apt-get -y install libxerces-c-dev | |
- name: checkout MPC | |
uses: actions/checkout@v4 | |
with: | |
repository: DOCGroup/MPC | |
path: MPC | |
- name: checkout autobuild | |
uses: actions/checkout@v4 | |
with: | |
repository: DOCGroup/autobuild | |
path: autobuild | |
- name: checkout ACE_TAO | |
uses: actions/checkout@v4 | |
with: | |
repository: DOCGroup/ACE_TAO | |
ref: ace6tao2 | |
path: ACE_TAO | |
- name: download ACE_TAO artifact | |
uses: actions/download-artifact@v4 | |
with: | |
name: ACE_TAO_u20_p1_artifact | |
path: ACE_TAO | |
- name: extract ACE_TAO artifact | |
shell: bash | |
run: | | |
cd ACE_TAO | |
tar xvfJ ACE_TAO_u20_p1.tar.xz | |
- name: checkout OpenDDS | |
uses: actions/checkout@v4 | |
with: | |
path: OpenDDS | |
submodules: true | |
- name: download OpenDDS artifact | |
uses: actions/download-artifact@v4 | |
with: | |
name: build_u20_p1_sec_artifact | |
path: OpenDDS | |
- name: extract OpenDDS artifact | |
shell: bash | |
run: | | |
cd OpenDDS | |
tar xvfJ build_u20_p1_sec.tar.xz | |
- name: check build configuration | |
shell: bash | |
run: | | |
cd OpenDDS | |
. setenv.sh | |
tools/scripts/show_build_config.pl | |
- name: install gdb | |
shell: bash | |
run: | | |
sudo apt-get update | |
sudo apt-get install gdb | |
echo 0 | sudo tee /proc/sys/kernel/yama/ptrace_scope | |
- name: change core file pattern | |
shell: bash | |
run: | | |
sudo sysctl -w kernel.core_pattern=core.%e.%p | |
echo Core file pattern set to: | |
cat /proc/sys/kernel/core_pattern | |
- name: run OpenDDS tests | |
shell: bash | |
run: | | |
ulimit -c unlimited | |
cd OpenDDS | |
echo "export ACE_TEST_LOG_STUCK_STACKS=1" >> setenv.sh | |
. setenv.sh | |
mkdir ${{ github.job }}_autobuild_workspace | |
cd ${{ github.job }}_autobuild_workspace | |
echo using commit $TRIGGERING_COMMIT for SHA | |
echo $TRIGGERING_COMMIT >> ./SHA | |
cat > config.xml <<EOF | |
<autobuild> | |
<configuration> | |
<variable name="log_file" value="output"/> | |
<variable name="log_root" value="$DDS_ROOT/${{ github.job }}_autobuild_workspace/logs"/> | |
<variable name="project_root" value="$DDS_ROOT"/> | |
<variable name="root" value="$DDS_ROOT/${{ github.job }}_autobuild_workspace"/> | |
<variable name="junit_xml_output" value="Tests"/> | |
</configuration> | |
<command name="log" options="on"/> | |
<command name="print_os_version"/> | |
<command name="print_ace_config"/> | |
<command name="print_cmake_version"/> | |
<command name="print_make_version"/> | |
<command name="check_compiler" options="gcc"/> | |
<command name="print_perl_version"/> | |
<command name="print_autobuild_config"/> | |
<command name="auto_run_tests" options="script_path=tests dir=$GITHUB_WORKSPACE/OpenDDS -Config IPV6 -Config XERCES3 -Config OPENDDS_SECURITY -Config CXX11 -Config RAPIDJSON --security --cmake"/> | |
<command name="log" options="off"/> | |
<command name="process_logs" options="move prettify index"/> | |
</autobuild> | |
EOF | |
$GITHUB_WORKSPACE/autobuild/autobuild.pl "$GITHUB_WORKSPACE/OpenDDS/${{ github.job }}_autobuild_workspace/config.xml" | |
- name: upload autobuild output | |
uses: actions/upload-artifact@v4 | |
with: | |
name: ${{ github.job }}_autobuild_output | |
path: OpenDDS/${{ github.job }}_autobuild_workspace | |
- name: Authenticate to Google Cloud | |
uses: google-github-actions/auth@v2 | |
with: | |
workload_identity_provider: projects/30587790497/locations/global/workloadIdentityPools/gha-scoreboard-upload/providers/gha-provider | |
service_account: [email protected] | |
if: ${{ github.repository == 'OpenDDS/OpenDDS' && github.ref == env.SCOREBOARD_UPLOAD_BRANCH }} | |
- name: get OpenDDS version | |
shell: bash | |
run: | | |
cd OpenDDS | |
echo "OPENDDS_MAJOR_VERSION=$(grep '#define OPENDDS_MAJOR_VERSION' dds/Version.h | cut -d' ' -f3)" >> $GITHUB_ENV | |
- name: upload to Google Cloud | |
uses: 'google-github-actions/upload-cloud-storage@v2' | |
with: | |
path: OpenDDS/${{ github.job }}_autobuild_workspace/logs | |
destination: opendds-gha-scoreboard-uploads/${{ env.OPENDDS_MAJOR_VERSION }}/${{ github.job }} | |
parent: false | |
process_gcloudignore: false | |
if: ${{ github.repository == 'OpenDDS/OpenDDS' && github.ref == env.SCOREBOARD_UPLOAD_BRANCH }} | |
- name: check results | |
shell: bash | |
run: | | |
$GITHUB_WORKSPACE/OpenDDS/tools/scripts/autobuild_brief_html_to_text.pl "$GITHUB_WORKSPACE/OpenDDS/${{ github.job }}_autobuild_workspace/logs/"*_Brief.html | |
cat "$GITHUB_WORKSPACE/OpenDDS/${{ github.job }}_autobuild_workspace/logs/latest.txt" | |
grep -q 'Failures: 0' "$GITHUB_WORKSPACE/OpenDDS/${{ github.job }}_autobuild_workspace/logs/latest.txt" | |
valgrind_u20_p1_sec: | |
runs-on: ubuntu-20.04 | |
needs: build_u20_p1_sec | |
permissions: | |
contents: read | |
id-token: write | |
steps: | |
- name: download openssl artifact | |
uses: actions/download-artifact@v4 | |
with: | |
name: openssl3_u20_artifact | |
- name: extract openssl artifact | |
shell: bash | |
run: | | |
tar xvJf openssl3_u20.tar.xz | |
rm -f openssl3_u20.tar.xz | |
- name: Update apt indexes | |
run: sudo apt-get -y update | |
- name: install xerces and valgrind | |
run: sudo apt-get -y install libxerces-c-dev valgrind | |
- name: checkout MPC | |
uses: actions/checkout@v4 | |
with: | |
repository: DOCGroup/MPC | |
path: MPC | |
- name: checkout autobuild | |
uses: actions/checkout@v4 | |
with: | |
repository: DOCGroup/autobuild | |
path: autobuild | |
- name: checkout ACE_TAO | |
uses: actions/checkout@v4 | |
with: | |
repository: DOCGroup/ACE_TAO | |
ref: ace6tao2 | |
path: ACE_TAO | |
- name: download ACE_TAO artifact | |
uses: actions/download-artifact@v4 | |
with: | |
name: ACE_TAO_u20_p1_artifact | |
path: ACE_TAO | |
- name: extract ACE_TAO artifact | |
shell: bash | |
run: | | |
cd ACE_TAO | |
tar xvfJ ACE_TAO_u20_p1.tar.xz | |
- name: checkout OpenDDS | |
uses: actions/checkout@v4 | |
with: | |
path: OpenDDS | |
submodules: true | |
- name: download OpenDDS artifact | |
uses: actions/download-artifact@v4 | |
with: | |
name: build_u20_p1_sec_artifact | |
path: OpenDDS | |
- name: extract OpenDDS artifact | |
shell: bash | |
run: | | |
cd OpenDDS | |
tar xvfJ build_u20_p1_sec.tar.xz | |
- name: check build configuration | |
shell: bash | |
run: | | |
cd OpenDDS | |
. setenv.sh | |
tools/scripts/show_build_config.pl | |
- name: run OpenDDS tests | |
shell: bash | |
run: | | |
ulimit -c unlimited | |
cd OpenDDS | |
echo "export ACE_RUN_VALGRIND_CMD=\"valgrind --leak-check=yes --show-leak-kinds=definite --errors-for-leak-kinds=definite --num-callers=50 --error-exitcode=86\"" >> setenv.sh | |
echo "export ACE_RUNTEST_DELAY=10" >> setenv.sh | |
echo "export ACE_TEST_LOG_STUCK_STACKS=1" >> setenv.sh | |
echo "export ACE_TEST_DEBUGGER=lldb" >> setenv.sh | |
. setenv.sh | |
mkdir ${{ github.job }}_autobuild_workspace | |
cd ${{ github.job }}_autobuild_workspace | |
echo using commit $TRIGGERING_COMMIT for SHA | |
echo $TRIGGERING_COMMIT >> ./SHA | |
cat > config.xml <<EOF | |
<autobuild> | |
<configuration> | |
<variable name="log_file" value="output"/> | |
<variable name="log_root" value="$DDS_ROOT/${{ github.job }}_autobuild_workspace/logs"/> | |
<variable name="project_root" value="$DDS_ROOT"/> | |
<variable name="root" value="$DDS_ROOT/${{ github.job }}_autobuild_workspace"/> | |
<variable name="junit_xml_output" value="Tests"/> | |
</configuration> | |
<command name="log" options="on"/> | |
<command name="print_os_version"/> | |
<command name="print_ace_config"/> | |
<command name="print_cmake_version"/> | |
<command name="print_make_version"/> | |
<command name="check_compiler" options="gcc"/> | |
<command name="print_perl_version"/> | |
<command name="print_autobuild_config"/> | |
<command name="auto_run_tests" options="script_path=tests dir=$GITHUB_WORKSPACE/OpenDDS -Config IPV6 -Config XERCES3 -Config OPENDDS_SECURITY -Config CXX11 -Config RAPIDJSON --no-dcps tests/valgrind_tests.lst"/> | |
<command name="log" options="off"/> | |
<command name="process_logs" options="move prettify index"/> | |
</autobuild> | |
EOF | |
$GITHUB_WORKSPACE/autobuild/autobuild.pl "$GITHUB_WORKSPACE/OpenDDS/${{ github.job }}_autobuild_workspace/config.xml" | |
- name: upload autobuild output | |
uses: actions/upload-artifact@v4 | |
with: | |
name: ${{ github.job }}_autobuild_output | |
path: OpenDDS/${{ github.job }}_autobuild_workspace | |
- name: Authenticate to Google Cloud | |
uses: google-github-actions/auth@v2 | |
with: | |
workload_identity_provider: projects/30587790497/locations/global/workloadIdentityPools/gha-scoreboard-upload/providers/gha-provider | |
service_account: [email protected] | |
if: ${{ github.repository == 'OpenDDS/OpenDDS' && github.ref == env.SCOREBOARD_UPLOAD_BRANCH }} | |
- name: get OpenDDS version | |
shell: bash | |
run: | | |
cd OpenDDS | |
echo "OPENDDS_MAJOR_VERSION=$(grep '#define OPENDDS_MAJOR_VERSION' dds/Version.h | cut -d' ' -f3)" >> $GITHUB_ENV | |
- name: upload to Google Cloud | |
uses: 'google-github-actions/upload-cloud-storage@v2' | |
with: | |
path: OpenDDS/${{ github.job }}_autobuild_workspace/logs | |
destination: opendds-gha-scoreboard-uploads/${{ env.OPENDDS_MAJOR_VERSION }}/${{ github.job }} | |
parent: false | |
process_gcloudignore: false | |
if: ${{ github.repository == 'OpenDDS/OpenDDS' && github.ref == env.SCOREBOARD_UPLOAD_BRANCH }} | |
- name: check results | |
shell: bash | |
run: | | |
$GITHUB_WORKSPACE/OpenDDS/tools/scripts/autobuild_brief_html_to_text.pl "$GITHUB_WORKSPACE/OpenDDS/${{ github.job }}_autobuild_workspace/logs/"*_Brief.html | |
cat "$GITHUB_WORKSPACE/OpenDDS/${{ github.job }}_autobuild_workspace/logs/latest.txt" | |
grep -q 'Failures: 0' "$GITHUB_WORKSPACE/OpenDDS/${{ github.job }}_autobuild_workspace/logs/latest.txt" | |
build_u20_p1_j8_FM-1f: | |
runs-on: ubuntu-20.04 | |
needs: ACE_TAO_u20_p1 | |
steps: | |
- name: Update apt indexes | |
run: sudo apt-get -y update | |
- name: install xerces | |
run: sudo apt-get -y install libxerces-c-dev | |
- name: checkout MPC | |
uses: actions/checkout@v4 | |
with: | |
repository: DOCGroup/MPC | |
path: MPC | |
- name: checkout ACE_TAO | |
uses: actions/checkout@v4 | |
with: | |
repository: DOCGroup/ACE_TAO | |
ref: ace6tao2 | |
path: ACE_TAO | |
- name: download ACE_TAO artifact | |
uses: actions/download-artifact@v4 | |
with: | |
name: ACE_TAO_u20_p1_artifact | |
path: ACE_TAO | |
- name: extract ACE_TAO artifact | |
shell: bash | |
run: | | |
cd ACE_TAO | |
tar xvfJ ACE_TAO_u20_p1.tar.xz | |
- name: checkout OpenDDS | |
uses: actions/checkout@v4 | |
with: | |
path: OpenDDS | |
submodules: true | |
- name: configure OpenDDS | |
run: | | |
cd OpenDDS | |
./configure --tests --java=$JAVA_HOME_8_X64 --no-built-in-topics --rapidjson --ace=$GITHUB_WORKSPACE/ACE_TAO/ACE --mpc=$GITHUB_WORKSPACE/MPC --compile-warnings=WARNING | |
- name: check build configuration | |
shell: bash | |
run: | | |
cd OpenDDS | |
. setenv.sh | |
tools/scripts/show_build_config.pl | |
- uses: ammaraskar/[email protected] | |
- name: build OpenDDS | |
shell: bash | |
run: | | |
cd OpenDDS | |
. setenv.sh | |
make -j4 | |
- name: Build CMake Tests | |
run: | | |
source OpenDDS/setenv.sh | |
mkdir OpenDDS/tests/cmake/build | |
cd OpenDDS/tests/cmake/build | |
cmake .. | |
cmake --build . -- -j4 | |
- name: set up Modeling tests | |
shell: bash | |
run: | | |
cd OpenDDS | |
. setenv.sh | |
cd tools/modeling/tests | |
./setup.pl | |
cd - | |
mwc.pl -type gnuace -workers 4 -features built_in_topics=0 -features ipv6=1 tools/modeling/tests/modeling_tests.mwc | |
- name: build Modeling tests | |
shell: bash | |
run: | | |
cd OpenDDS | |
. setenv.sh | |
make -j4 -C tools/modeling/tests | |
- name: create OpenDDS tar.xz artifact | |
shell: bash | |
run: | | |
cd OpenDDS | |
rm -rf ACE_TAO | |
find . -iname "*\.o" | xargs rm | |
tar cvf ../${{ github.job }}.tar setenv.sh | |
git clean -xdfn | cut -d ' ' -f 3- | xargs tar uvf ../${{ github.job }}.tar | |
xz -3 ../${{ github.job }}.tar | |
- name: upload OpenDDS artifact | |
uses: actions/upload-artifact@v4 | |
with: | |
name: ${{ github.job }}_artifact | |
path: ${{ github.job }}.tar.xz | |
test_u20_p1_j8_FM-1f: | |
runs-on: ubuntu-20.04 | |
needs: build_u20_p1_j8_FM-1f | |
permissions: | |
contents: read | |
id-token: write | |
steps: | |
- name: Update apt indexes | |
run: sudo apt-get -y update | |
- name: install xerces | |
run: sudo apt-get -y install libxerces-c-dev | |
- name: checkout MPC | |
uses: actions/checkout@v4 | |
with: | |
repository: DOCGroup/MPC | |
path: MPC | |
- name: checkout autobuild | |
uses: actions/checkout@v4 | |
with: | |
repository: DOCGroup/autobuild | |
path: autobuild | |
- name: checkout ACE_TAO | |
uses: actions/checkout@v4 | |
with: | |
repository: DOCGroup/ACE_TAO | |
ref: ace6tao2 | |
path: ACE_TAO | |
- name: download ACE_TAO artifact | |
uses: actions/download-artifact@v4 | |
with: | |
name: ACE_TAO_u20_p1_artifact | |
path: ACE_TAO | |
- name: extract ACE_TAO artifact | |
shell: bash | |
run: | | |
cd ACE_TAO | |
tar xvfJ ACE_TAO_u20_p1.tar.xz | |
- name: checkout OpenDDS | |
uses: actions/checkout@v4 | |
with: | |
path: OpenDDS | |
submodules: true | |
- name: download OpenDDS artifact | |
uses: actions/download-artifact@v4 | |
with: | |
name: build_u20_p1_j8_FM-1f_artifact | |
path: OpenDDS | |
- name: extract OpenDDS artifact | |
shell: bash | |
run: | | |
cd OpenDDS | |
tar xvfJ build_u20_p1_j8_FM-1f.tar.xz | |
- name: check build configuration | |
shell: bash | |
run: | | |
cd OpenDDS | |
. setenv.sh | |
tools/scripts/show_build_config.pl | |
- name: install gdb | |
shell: bash | |
run: | | |
sudo apt-get update | |
sudo apt-get install gdb | |
echo 0 | sudo tee /proc/sys/kernel/yama/ptrace_scope | |
- name: change core file pattern | |
shell: bash | |
run: | | |
sudo sysctl -w kernel.core_pattern=core.%e.%p | |
echo Core file pattern set to: | |
cat /proc/sys/kernel/core_pattern | |
- name: run OpenDDS tests | |
shell: bash | |
run: | | |
ulimit -c unlimited | |
cd OpenDDS | |
echo "export ACE_TEST_LOG_STUCK_STACKS=1" >> setenv.sh | |
. setenv.sh | |
mkdir ${{ github.job }}_autobuild_workspace | |
cd ${{ github.job }}_autobuild_workspace | |
echo using commit $TRIGGERING_COMMIT for SHA | |
echo $TRIGGERING_COMMIT >> ./SHA | |
cat > config.xml <<EOF | |
<autobuild> | |
<configuration> | |
<variable name="log_file" value="output"/> | |
<variable name="log_root" value="$DDS_ROOT/${{ github.job }}_autobuild_workspace/logs"/> | |
<variable name="project_root" value="$DDS_ROOT"/> | |
<variable name="root" value="$DDS_ROOT/${{ github.job }}_autobuild_workspace"/> | |
<variable name="junit_xml_output" value="Tests"/> | |
</configuration> | |
<command name="log" options="on"/> | |
<command name="print_os_version"/> | |
<command name="print_ace_config"/> | |
<command name="print_cmake_version"/> | |
<command name="print_make_version"/> | |
<command name="check_compiler" options="gcc"/> | |
<command name="print_perl_version"/> | |
<command name="print_autobuild_config"/> | |
<command name="auto_run_tests" options="script_path=tests dir=$GITHUB_WORKSPACE/OpenDDS -Config IPV6 -Config CXX11 -Config RAPIDJSON -Config NO_BUILT_IN_TOPICS -Config NO_UNIT_TESTS --modeling --cmake"/> | |
<command name="log" options="off"/> | |
<command name="process_logs" options="move prettify index"/> | |
</autobuild> | |
EOF | |
$GITHUB_WORKSPACE/autobuild/autobuild.pl "$GITHUB_WORKSPACE/OpenDDS/${{ github.job }}_autobuild_workspace/config.xml" | |
- name: upload autobuild output | |
uses: actions/upload-artifact@v4 | |
with: | |
name: ${{ github.job }}_autobuild_output | |
path: OpenDDS/${{ github.job }}_autobuild_workspace | |
- name: Authenticate to Google Cloud | |
uses: google-github-actions/auth@v2 | |
with: | |
workload_identity_provider: projects/30587790497/locations/global/workloadIdentityPools/gha-scoreboard-upload/providers/gha-provider | |
service_account: [email protected] | |
if: ${{ github.repository == 'OpenDDS/OpenDDS' && github.ref == env.SCOREBOARD_UPLOAD_BRANCH }} | |
- name: get OpenDDS version | |
shell: bash | |
run: | | |
cd OpenDDS | |
echo "OPENDDS_MAJOR_VERSION=$(grep '#define OPENDDS_MAJOR_VERSION' dds/Version.h | cut -d' ' -f3)" >> $GITHUB_ENV | |
- name: upload to Google Cloud | |
uses: 'google-github-actions/upload-cloud-storage@v2' | |
with: | |
path: OpenDDS/${{ github.job }}_autobuild_workspace/logs | |
destination: opendds-gha-scoreboard-uploads/${{ env.OPENDDS_MAJOR_VERSION }}/${{ github.job }} | |
parent: false | |
process_gcloudignore: false | |
if: ${{ github.repository == 'OpenDDS/OpenDDS' && github.ref == env.SCOREBOARD_UPLOAD_BRANCH }} | |
- name: check results | |
shell: bash | |
run: | | |
$GITHUB_WORKSPACE/OpenDDS/tools/scripts/autobuild_brief_html_to_text.pl "$GITHUB_WORKSPACE/OpenDDS/${{ github.job }}_autobuild_workspace/logs/"*_Brief.html | |
cat "$GITHUB_WORKSPACE/OpenDDS/${{ github.job }}_autobuild_workspace/logs/latest.txt" | |
grep -q 'Failures: 0' "$GITHUB_WORKSPACE/OpenDDS/${{ github.job }}_autobuild_workspace/logs/latest.txt" | |
ACE_TAO_u22_w1: | |
runs-on: ubuntu-22.04 | |
steps: | |
- name: checkout OpenDDS | |
uses: actions/checkout@v4 | |
with: | |
path: OpenDDS | |
submodules: true | |
- name: checkout ACE_TAO | |
uses: actions/checkout@v4 | |
with: | |
repository: DOCGroup/ACE_TAO | |
ref: ace6tao2 | |
path: OpenDDS/ACE_TAO | |
- name: get ACE_TAO commit | |
shell: bash | |
run: | | |
cd OpenDDS/ACE_TAO | |
export ACE_COMMIT=$(git rev-parse HEAD) | |
echo "ACE_COMMIT=$ACE_COMMIT" >> $GITHUB_ENV | |
- name: get compiler version | |
shell: bash | |
run: | | |
export COMPILER_VERSION=$(c++ --version 2>&1 | head -n 1) | |
echo "COMPILER_VERSION=$COMPILER_VERSION" >> $GITHUB_ENV | |
- name: get jdk version | |
shell: bash | |
run: | | |
export JDK_VERSION=$(java -version 2>&1 | grep -i version) | |
echo "JDK_VERSION=$JDK_VERSION" >> $GITHUB_ENV | |
- name: Cache Artifact | |
id: cache-artifact | |
uses: actions/cache@v4 | |
with: | |
path: ${{ github.job }}.tar.xz | |
key: c01_${{ github.job }}_ace6tao2_${{ env.ACE_COMMIT }}_${{ env.COMPILER_VERSION }}_${{ env.JDK_VERSION }} | |
- name: install xerces | |
if: steps.cache-artifact.outputs.cache-hit != 'true' | |
run: sudo apt-get -y install libxerces-c-dev | |
- name: checkout MPC | |
if: steps.cache-artifact.outputs.cache-hit != 'true' | |
uses: actions/checkout@v4 | |
with: | |
repository: DOCGroup/MPC | |
path: MPC | |
- name: configure OpenDDS | |
if: steps.cache-artifact.outputs.cache-hit != 'true' | |
run: | | |
cd OpenDDS | |
./configure --features=uses_wchar=1 --tests --security --ace=$GITHUB_WORKSPACE/OpenDDS/ACE_TAO/ACE --mpc=$GITHUB_WORKSPACE/MPC --compile-warnings=WARNING | |
- name: build ACE and TAO | |
if: steps.cache-artifact.outputs.cache-hit != 'true' | |
run: | | |
cd OpenDDS | |
. setenv.sh | |
cd ACE_TAO/ACE | |
make -j4 | |
cd ../TAO | |
make -j4 | |
- name: create ACE_TAO tar.xz artifact | |
if: steps.cache-artifact.outputs.cache-hit != 'true' | |
shell: bash | |
run: | | |
cd OpenDDS/ACE_TAO | |
perl -ni.bak -e "print unless /opendds/" ACE/bin/MakeProjectCreator/config/default.features # remove opendds features from here, let individual build configure scripts handle those | |
find . -iname "*\.o" | xargs rm | |
tar cvf ../../${{ github.job }}.tar ACE/ace/config.h | |
git clean -xdfn | cut -d ' ' -f 3- | xargs tar uvf ../../${{ github.job }}.tar | |
xz -3 ../../${{ github.job }}.tar | |
- name: upload ACE_TAO artifact | |
uses: actions/upload-artifact@v4 | |
with: | |
name: ${{ github.job }}_artifact | |
path: ${{ github.job }}.tar.xz | |
build_u22_w1a1_sec: | |
runs-on: ubuntu-22.04 | |
needs: ACE_TAO_u22_w1 | |
steps: | |
- name: install xerces | |
run: sudo apt-get -y install libxerces-c-dev | |
- name: checkout MPC | |
uses: actions/checkout@v4 | |
with: | |
repository: DOCGroup/MPC | |
path: MPC | |
- name: checkout ACE_TAO | |
uses: actions/checkout@v4 | |
with: | |
repository: DOCGroup/ACE_TAO | |
ref: ace6tao2 | |
path: ACE_TAO | |
- name: download ACE_TAO artifact | |
uses: actions/download-artifact@v4 | |
with: | |
name: ACE_TAO_u22_w1_artifact | |
path: ACE_TAO | |
- name: extract ACE_TAO artifact | |
shell: bash | |
run: | | |
cd ACE_TAO | |
tar xvfJ ACE_TAO_u22_w1.tar.xz | |
- name: checkout OpenDDS | |
uses: actions/checkout@v4 | |
with: | |
path: OpenDDS | |
submodules: true | |
- name: configure OpenDDS | |
run: | | |
cd OpenDDS | |
./configure --features=uses_wchar=1 --features dds_suppress_anys=0 --tests --security --rapidjson --ace=$GITHUB_WORKSPACE/ACE_TAO/ACE --mpc=$GITHUB_WORKSPACE/MPC --compile-warnings=WARNING | |
- name: check build configuration | |
shell: bash | |
run: | | |
cd OpenDDS | |
. setenv.sh | |
tools/scripts/show_build_config.pl | |
- uses: ammaraskar/[email protected] | |
- name: build OpenDDS | |
shell: bash | |
run: | | |
cd OpenDDS | |
. setenv.sh | |
make -j4 | |
- name: Build CMake Tests | |
run: | | |
source OpenDDS/setenv.sh | |
mkdir OpenDDS/tests/cmake/build | |
cd OpenDDS/tests/cmake/build | |
cmake .. | |
cmake --build . -- -j4 | |
- name: create OpenDDS tar.xz artifact | |
shell: bash | |
run: | | |
cd OpenDDS | |
rm -rf ACE_TAO | |
find . -iname "*\.o" | xargs rm | |
tar cvf ../${{ github.job }}.tar setenv.sh | |
git clean -xdfn | cut -d ' ' -f 3- | xargs tar uvf ../${{ github.job }}.tar | |
xz -3 ../${{ github.job }}.tar | |
- name: upload OpenDDS artifact | |
uses: actions/upload-artifact@v4 | |
with: | |
name: ${{ github.job }}_artifact | |
path: ${{ github.job }}.tar.xz | |
test_u22_w1a1_sec: | |
runs-on: ubuntu-22.04 | |
needs: build_u22_w1a1_sec | |
permissions: | |
contents: read | |
id-token: write | |
steps: | |
- name: install xerces | |
run: sudo apt-get -y install libxerces-c-dev | |
- name: checkout MPC | |
uses: actions/checkout@v4 | |
with: | |
repository: DOCGroup/MPC | |
path: MPC | |
- name: checkout autobuild | |
uses: actions/checkout@v4 | |
with: | |
repository: DOCGroup/autobuild | |
path: autobuild | |
- name: checkout ACE_TAO | |
uses: actions/checkout@v4 | |
with: | |
repository: DOCGroup/ACE_TAO | |
ref: ace6tao2 | |
path: ACE_TAO | |
- name: download ACE_TAO artifact | |
uses: actions/download-artifact@v4 | |
with: | |
name: ACE_TAO_u22_w1_artifact | |
path: ACE_TAO | |
- name: extract ACE_TAO artifact | |
shell: bash | |
run: | | |
cd ACE_TAO | |
tar xvfJ ACE_TAO_u22_w1.tar.xz | |
- name: checkout OpenDDS | |
uses: actions/checkout@v4 | |
with: | |
path: OpenDDS | |
submodules: true | |
- name: download OpenDDS artifact | |
uses: actions/download-artifact@v4 | |
with: | |
name: build_u22_w1a1_sec_artifact | |
path: OpenDDS | |
- name: extract OpenDDS artifact | |
shell: bash | |
run: | | |
cd OpenDDS | |
tar xvfJ build_u22_w1a1_sec.tar.xz | |
- name: check build configuration | |
shell: bash | |
run: | | |
cd OpenDDS | |
. setenv.sh | |
tools/scripts/show_build_config.pl | |
- name: install gdb | |
shell: bash | |
run: | | |
sudo apt-get update | |
sudo apt-get install gdb | |
echo 0 | sudo tee /proc/sys/kernel/yama/ptrace_scope | |
- name: change core file pattern | |
shell: bash | |
run: | | |
sudo sysctl -w kernel.core_pattern=core.%e.%p | |
echo Core file pattern set to: | |
cat /proc/sys/kernel/core_pattern | |
- name: run OpenDDS tests | |
shell: bash | |
run: | | |
ulimit -c unlimited | |
cd OpenDDS | |
echo "export ACE_TEST_LOG_STUCK_STACKS=1" >> setenv.sh | |
. setenv.sh | |
mkdir ${{ github.job }}_autobuild_workspace | |
cd ${{ github.job }}_autobuild_workspace | |
echo using commit $TRIGGERING_COMMIT for SHA | |
echo $TRIGGERING_COMMIT >> ./SHA | |
cat > config.xml <<EOF | |
<autobuild> | |
<configuration> | |
<variable name="log_file" value="output"/> | |
<variable name="log_root" value="$DDS_ROOT/${{ github.job }}_autobuild_workspace/logs"/> | |
<variable name="project_root" value="$DDS_ROOT"/> | |
<variable name="root" value="$DDS_ROOT/${{ github.job }}_autobuild_workspace"/> | |
<variable name="junit_xml_output" value="Tests"/> | |
</configuration> | |
<command name="log" options="on"/> | |
<command name="print_os_version"/> | |
<command name="print_ace_config"/> | |
<command name="print_cmake_version"/> | |
<command name="print_make_version"/> | |
<command name="check_compiler" options="gcc"/> | |
<command name="print_perl_version"/> | |
<command name="print_autobuild_config"/> | |
<command name="auto_run_tests" options="script_path=tests dir=$GITHUB_WORKSPACE/OpenDDS -Config WCHAR -Config XERCES3 -Config OPENDDS_SECURITY -Config CXX11 -Config RAPIDJSON -Config NO_UNIT_TESTS --security --cmake"/> | |
<command name="log" options="off"/> | |
<command name="process_logs" options="move prettify index"/> | |
</autobuild> | |
EOF | |
$GITHUB_WORKSPACE/autobuild/autobuild.pl "$GITHUB_WORKSPACE/OpenDDS/${{ github.job }}_autobuild_workspace/config.xml" | |
- name: upload autobuild output | |
uses: actions/upload-artifact@v4 | |
with: | |
name: ${{ github.job }}_autobuild_output | |
path: OpenDDS/${{ github.job }}_autobuild_workspace | |
- name: Authenticate to Google Cloud | |
uses: google-github-actions/auth@v2 | |
with: | |
workload_identity_provider: projects/30587790497/locations/global/workloadIdentityPools/gha-scoreboard-upload/providers/gha-provider | |
service_account: [email protected] | |
if: ${{ github.repository == 'OpenDDS/OpenDDS' && github.ref == env.SCOREBOARD_UPLOAD_BRANCH }} | |
- name: get OpenDDS version | |
shell: bash | |
run: | | |
cd OpenDDS | |
echo "OPENDDS_MAJOR_VERSION=$(grep '#define OPENDDS_MAJOR_VERSION' dds/Version.h | cut -d' ' -f3)" >> $GITHUB_ENV | |
- name: upload to Google Cloud | |
uses: 'google-github-actions/upload-cloud-storage@v2' | |
with: | |
path: OpenDDS/${{ github.job }}_autobuild_workspace/logs | |
destination: opendds-gha-scoreboard-uploads/${{ env.OPENDDS_MAJOR_VERSION }}/${{ github.job }} | |
parent: false | |
process_gcloudignore: false | |
if: ${{ github.repository == 'OpenDDS/OpenDDS' && github.ref == env.SCOREBOARD_UPLOAD_BRANCH }} | |
- name: check results | |
shell: bash | |
run: | | |
$GITHUB_WORKSPACE/OpenDDS/tools/scripts/autobuild_brief_html_to_text.pl "$GITHUB_WORKSPACE/OpenDDS/${{ github.job }}_autobuild_workspace/logs/"*_Brief.html | |
cat "$GITHUB_WORKSPACE/OpenDDS/${{ github.job }}_autobuild_workspace/logs/latest.txt" | |
grep -q 'Failures: 0' "$GITHUB_WORKSPACE/OpenDDS/${{ github.job }}_autobuild_workspace/logs/latest.txt" | |
build_u22_w1_j_FM-2f: | |
runs-on: ubuntu-22.04 | |
needs: ACE_TAO_u22_w1 | |
steps: | |
- name: install xerces | |
run: sudo apt-get -y install libxerces-c-dev | |
- name: checkout MPC | |
uses: actions/checkout@v4 | |
with: | |
repository: DOCGroup/MPC | |
path: MPC | |
- name: checkout ACE_TAO | |
uses: actions/checkout@v4 | |
with: | |
repository: DOCGroup/ACE_TAO | |
ref: ace6tao2 | |
path: ACE_TAO | |
- name: download ACE_TAO artifact | |
uses: actions/download-artifact@v4 | |
with: | |
name: ACE_TAO_u22_w1_artifact | |
path: ACE_TAO | |
- name: extract ACE_TAO artifact | |
shell: bash | |
run: | | |
cd ACE_TAO | |
tar xvfJ ACE_TAO_u22_w1.tar.xz | |
- name: checkout OpenDDS | |
uses: actions/checkout@v4 | |
with: | |
path: OpenDDS | |
submodules: true | |
- name: configure OpenDDS | |
run: | | |
cd OpenDDS | |
./configure --features=uses_wchar=1 --tests --java --no-content-subscription --rapidjson --ace=$GITHUB_WORKSPACE/ACE_TAO/ACE --mpc=$GITHUB_WORKSPACE/MPC --compile-warnings=WARNING | |
- name: check build configuration | |
shell: bash | |
run: | | |
cd OpenDDS | |
. setenv.sh | |
tools/scripts/show_build_config.pl | |
- uses: ammaraskar/[email protected] | |
- name: build OpenDDS | |
shell: bash | |
run: | | |
cd OpenDDS | |
. setenv.sh | |
make -j4 | |
- name: Build CMake Tests | |
run: | | |
source OpenDDS/setenv.sh | |
mkdir OpenDDS/tests/cmake/build | |
cd OpenDDS/tests/cmake/build | |
cmake .. | |
cmake --build . -- -j4 | |
- name: set up Modeling tests | |
shell: bash | |
run: | | |
cd OpenDDS | |
. setenv.sh | |
cd tools/modeling/tests | |
./setup.pl | |
cd - | |
mwc.pl -type gnuace -workers 4 -features content_subscription=0 tools/modeling/tests/modeling_tests.mwc | |
- name: build Modeling tests | |
shell: bash | |
run: | | |
cd OpenDDS | |
. setenv.sh | |
make -j4 -C tools/modeling/tests | |
- name: create OpenDDS tar.xz artifact | |
shell: bash | |
run: | | |
cd OpenDDS | |
rm -rf ACE_TAO | |
find . -iname "*\.o" | xargs rm | |
tar cvf ../${{ github.job }}.tar setenv.sh | |
git clean -xdfn | cut -d ' ' -f 3- | xargs tar uvf ../${{ github.job }}.tar | |
xz -3 ../${{ github.job }}.tar | |
- name: upload OpenDDS artifact | |
uses: actions/upload-artifact@v4 | |
with: | |
name: ${{ github.job }}_artifact | |
path: ${{ github.job }}.tar.xz | |
test_u22_w1_j_FM-2f: | |
runs-on: ubuntu-22.04 | |
needs: build_u22_w1_j_FM-2f | |
permissions: | |
contents: read | |
id-token: write | |
steps: | |
- name: install xerces | |
run: sudo apt-get -y install libxerces-c-dev | |
- name: checkout MPC | |
uses: actions/checkout@v4 | |
with: | |
repository: DOCGroup/MPC | |
path: MPC | |
- name: checkout autobuild | |
uses: actions/checkout@v4 | |
with: | |
repository: DOCGroup/autobuild | |
path: autobuild | |
- name: checkout ACE_TAO | |
uses: actions/checkout@v4 | |
with: | |
repository: DOCGroup/ACE_TAO | |
ref: ace6tao2 | |
path: ACE_TAO | |
- name: download ACE_TAO artifact | |
uses: actions/download-artifact@v4 | |
with: | |
name: ACE_TAO_u22_w1_artifact | |
path: ACE_TAO | |
- name: extract ACE_TAO artifact | |
shell: bash | |
run: | | |
cd ACE_TAO | |
tar xvfJ ACE_TAO_u22_w1.tar.xz | |
- name: checkout OpenDDS | |
uses: actions/checkout@v4 | |
with: | |
path: OpenDDS | |
submodules: true | |
- name: download OpenDDS artifact | |
uses: actions/download-artifact@v4 | |
with: | |
name: build_u22_w1_j_FM-2f_artifact | |
path: OpenDDS | |
- name: extract OpenDDS artifact | |
shell: bash | |
run: | | |
cd OpenDDS | |
tar xvfJ build_u22_w1_j_FM-2f.tar.xz | |
- name: check build configuration | |
shell: bash | |
run: | | |
cd OpenDDS | |
. setenv.sh | |
tools/scripts/show_build_config.pl | |
- name: install gdb | |
shell: bash | |
run: | | |
sudo apt-get update | |
sudo apt-get install gdb | |
echo 0 | sudo tee /proc/sys/kernel/yama/ptrace_scope | |
- name: change core file pattern | |
shell: bash | |
run: | | |
sudo sysctl -w kernel.core_pattern=core.%e.%p | |
echo Core file pattern set to: | |
cat /proc/sys/kernel/core_pattern | |
- name: run OpenDDS tests | |
shell: bash | |
run: | | |
ulimit -c unlimited | |
cd OpenDDS | |
echo "export ACE_TEST_LOG_STUCK_STACKS=1" >> setenv.sh | |
. setenv.sh | |
mkdir ${{ github.job }}_autobuild_workspace | |
cd ${{ github.job }}_autobuild_workspace | |
echo using commit $TRIGGERING_COMMIT for SHA | |
echo $TRIGGERING_COMMIT >> ./SHA | |
cat > config.xml <<EOF | |
<autobuild> | |
<configuration> | |
<variable name="log_file" value="output"/> | |
<variable name="log_root" value="$DDS_ROOT/${{ github.job }}_autobuild_workspace/logs"/> | |
<variable name="project_root" value="$DDS_ROOT"/> | |
<variable name="root" value="$DDS_ROOT/${{ github.job }}_autobuild_workspace"/> | |
<variable name="junit_xml_output" value="Tests"/> | |
</configuration> | |
<command name="log" options="on"/> | |
<command name="print_os_version"/> | |
<command name="print_ace_config"/> | |
<command name="print_cmake_version"/> | |
<command name="print_make_version"/> | |
<command name="check_compiler" options="gcc"/> | |
<command name="print_perl_version"/> | |
<command name="print_autobuild_config"/> | |
<command name="auto_run_tests" options="script_path=tests dir=$GITHUB_WORKSPACE/OpenDDS -Config WCHAR -Config CXX11 -Config RAPIDJSON -Config DDS_NO_CONTENT_SUBSCRIPTION -Config NO_UNIT_TESTS --java --modeling --cmake"/> | |
<command name="log" options="off"/> | |
<command name="process_logs" options="move prettify index"/> | |
</autobuild> | |
EOF | |
$GITHUB_WORKSPACE/autobuild/autobuild.pl "$GITHUB_WORKSPACE/OpenDDS/${{ github.job }}_autobuild_workspace/config.xml" | |
- name: upload autobuild output | |
uses: actions/upload-artifact@v4 | |
with: | |
name: ${{ github.job }}_autobuild_output | |
path: OpenDDS/${{ github.job }}_autobuild_workspace | |
- name: Authenticate to Google Cloud | |
uses: google-github-actions/auth@v2 | |
with: | |
workload_identity_provider: projects/30587790497/locations/global/workloadIdentityPools/gha-scoreboard-upload/providers/gha-provider | |
service_account: [email protected] | |
if: ${{ github.repository == 'OpenDDS/OpenDDS' && github.ref == env.SCOREBOARD_UPLOAD_BRANCH }} | |
- name: get OpenDDS version | |
shell: bash | |
run: | | |
cd OpenDDS | |
echo "OPENDDS_MAJOR_VERSION=$(grep '#define OPENDDS_MAJOR_VERSION' dds/Version.h | cut -d' ' -f3)" >> $GITHUB_ENV | |
- name: upload to Google Cloud | |
uses: 'google-github-actions/upload-cloud-storage@v2' | |
with: | |
path: OpenDDS/${{ github.job }}_autobuild_workspace/logs | |
destination: opendds-gha-scoreboard-uploads/${{ env.OPENDDS_MAJOR_VERSION }}/${{ github.job }} | |
parent: false | |
process_gcloudignore: false | |
if: ${{ github.repository == 'OpenDDS/OpenDDS' && github.ref == env.SCOREBOARD_UPLOAD_BRANCH }} | |
- name: check results | |
shell: bash | |
run: | | |
$GITHUB_WORKSPACE/OpenDDS/tools/scripts/autobuild_brief_html_to_text.pl "$GITHUB_WORKSPACE/OpenDDS/${{ github.job }}_autobuild_workspace/logs/"*_Brief.html | |
cat "$GITHUB_WORKSPACE/OpenDDS/${{ github.job }}_autobuild_workspace/logs/latest.txt" | |
grep -q 'Failures: 0' "$GITHUB_WORKSPACE/OpenDDS/${{ github.job }}_autobuild_workspace/logs/latest.txt" | |
ACE_TAO_u22_stat_qt_ws_sec: | |
runs-on: ubuntu-22.04 | |
steps: | |
- name: checkout OpenDDS | |
uses: actions/checkout@v4 | |
with: | |
path: OpenDDS | |
submodules: true | |
- name: checkout ACE_TAO | |
uses: actions/checkout@v4 | |
with: | |
repository: DOCGroup/ACE_TAO | |
ref: ace6tao2 | |
path: OpenDDS/ACE_TAO | |
- name: get ACE_TAO commit | |
shell: bash | |
run: | | |
cd OpenDDS/ACE_TAO | |
export ACE_COMMIT=$(git rev-parse HEAD) | |
echo "ACE_COMMIT=$ACE_COMMIT" >> $GITHUB_ENV | |
- name: get compiler version | |
shell: bash | |
run: | | |
export COMPILER_VERSION=$(c++ --version 2>&1 | head -n 1) | |
echo "COMPILER_VERSION=$COMPILER_VERSION" >> $GITHUB_ENV | |
- name: Cache Artifact | |
id: cache-artifact | |
uses: actions/cache@v4 | |
with: | |
path: ${{ github.job }}.tar.xz | |
key: c02_${{ github.job }}_ace6tao2_${{ env.ACE_COMMIT }}_${{ env.COMPILER_VERSION }} | |
- name: install xerces | |
if: steps.cache-artifact.outputs.cache-hit != 'true' | |
run: sudo apt-get -y install libxerces-c-dev | |
- name: checkout MPC | |
uses: actions/checkout@v4 | |
if: steps.cache-artifact.outputs.cache-hit != 'true' | |
with: | |
repository: DOCGroup/MPC | |
path: MPC | |
- name: configure OpenDDS | |
if: steps.cache-artifact.outputs.cache-hit != 'true' | |
run: | | |
cd OpenDDS | |
./configure --static --tests --security --ace=$GITHUB_WORKSPACE/OpenDDS/ACE_TAO/ACE --mpc=$GITHUB_WORKSPACE/MPC --compile-warnings=WARNING | |
- name: build ACE and TAO | |
if: steps.cache-artifact.outputs.cache-hit != 'true' | |
run: | | |
cd OpenDDS | |
. setenv.sh | |
cd ACE_TAO/ACE | |
make -j4 | |
cd ../TAO | |
make -j4 | |
- name: create ACE_TAO tar.xz artifact | |
if: steps.cache-artifact.outputs.cache-hit != 'true' | |
shell: bash | |
run: | | |
cd OpenDDS/ACE_TAO | |
find . -iname "*\.o" | xargs rm | |
tar cvf ../../${{ github.job }}.tar ACE/ace/config.h | |
git clean -xdfn | cut -d ' ' -f 3- | xargs tar uvf ../../${{ github.job }}.tar | |
xz -3 ../../${{ github.job }}.tar | |
- name: upload ACE_TAO artifact | |
uses: actions/upload-artifact@v4 | |
with: | |
name: ${{ github.job }}_artifact | |
path: ${{ github.job }}.tar.xz | |
build_u22_stat_qt_ws_sec: | |
runs-on: ubuntu-22.04 | |
needs: ACE_TAO_u22_stat_qt_ws_sec | |
steps: | |
- name: update apt | |
run: sudo apt-get update | |
- name: install dependencies | |
run: sudo apt-get -y install libxerces-c-dev wireshark-dev qtbase5-dev | |
- name: checkout MPC | |
uses: actions/checkout@v4 | |
with: | |
repository: DOCGroup/MPC | |
path: MPC | |
- name: checkout ACE_TAO | |
uses: actions/checkout@v4 | |
with: | |
repository: DOCGroup/ACE_TAO | |
ref: ace6tao2 | |
path: ACE_TAO | |
- name: download ACE_TAO artifact | |
uses: actions/download-artifact@v4 | |
with: | |
name: ACE_TAO_u22_stat_qt_ws_sec_artifact | |
path: ACE_TAO | |
- name: extract ACE_TAO artifact | |
shell: bash | |
run: | | |
cd ACE_TAO | |
tar xvfJ ACE_TAO_u22_stat_qt_ws_sec.tar.xz | |
rm ACE_TAO_u22_stat_qt_ws_sec.tar.xz | |
- name: checkout OpenDDS | |
uses: actions/checkout@v4 | |
with: | |
path: OpenDDS | |
submodules: true | |
- name: setup gtest | |
run: | | |
cd OpenDDS/tests/googletest | |
git submodule init | |
git submodule update | |
mkdir build | |
cd build | |
mkdir install | |
cmake -DCMAKE_INSTALL_PREFIX=./install .. | |
cmake --build . --target install | |
- name: configure OpenDDS | |
run: | | |
cd OpenDDS | |
./configure --static --qt --wireshark --security --rapidjson --gtest=$GITHUB_WORKSPACE/OpenDDS/tests/googletest/build/install --ace=$GITHUB_WORKSPACE/ACE_TAO/ACE --mpc=$GITHUB_WORKSPACE/MPC --compile-warnings=WARNING | |
- name: check build configuration | |
shell: bash | |
run: | | |
cd OpenDDS | |
. setenv.sh | |
tools/scripts/show_build_config.pl | |
- uses: ammaraskar/[email protected] | |
- name: build OpenDDS | |
shell: bash | |
run: | | |
cd OpenDDS | |
. setenv.sh | |
make -j4 | |
- name: create OpenDDS tar.xz artifact | |
shell: bash | |
run: | | |
cd OpenDDS | |
rm -rf ACE_TAO | |
find . -iname "*\.o" | xargs rm | |
tar cvf ../${{ github.job }}.tar setenv.sh | |
git clean -xdfn | cut -d ' ' -f 3- | xargs tar uvf ../${{ github.job }}.tar | |
xz -3 ../${{ github.job }}.tar | |
- name: upload OpenDDS artifact | |
uses: actions/upload-artifact@v4 | |
with: | |
name: ${{ github.job }}_artifact | |
path: ${{ github.job }}.tar.xz | |
cmake_u22_stat_qt_ws_sec: | |
runs-on: ubuntu-22.04 | |
needs: build_u22_stat_qt_ws_sec | |
permissions: | |
contents: read | |
id-token: write | |
steps: | |
- name: update apt | |
run: sudo apt-get update | |
- name: install dependencies | |
run: sudo apt-get -y install libxerces-c-dev wireshark-dev qtbase5-dev | |
- name: checkout MPC | |
uses: actions/checkout@v4 | |
with: | |
repository: DOCGroup/MPC | |
path: MPC | |
- name: checkout autobuild | |
uses: actions/checkout@v4 | |
with: | |
repository: DOCGroup/autobuild | |
path: autobuild | |
- name: checkout ACE_TAO | |
uses: actions/checkout@v4 | |
with: | |
repository: DOCGroup/ACE_TAO | |
ref: ace6tao2 | |
path: ACE_TAO | |
- name: download ACE_TAO artifact | |
uses: actions/download-artifact@v4 | |
with: | |
name: ACE_TAO_u22_stat_qt_ws_sec_artifact | |
path: ACE_TAO | |
- name: extract ACE_TAO artifact | |
shell: bash | |
run: | | |
cd ACE_TAO | |
tar xvfJ ACE_TAO_u22_stat_qt_ws_sec.tar.xz | |
rm ACE_TAO_u22_stat_qt_ws_sec.tar.xz | |
- name: checkout OpenDDS | |
uses: actions/checkout@v4 | |
with: | |
path: OpenDDS | |
submodules: true | |
- name: download OpenDDS artifact | |
uses: actions/download-artifact@v4 | |
with: | |
name: build_u22_stat_qt_ws_sec_artifact | |
path: OpenDDS | |
- name: extract OpenDDS artifact | |
shell: bash | |
run: | | |
cd OpenDDS | |
tar xvfJ build_u22_stat_qt_ws_sec.tar.xz | |
rm build_u22_stat_qt_ws_sec.tar.xz | |
- name: check build configuration | |
shell: bash | |
run: | | |
cd OpenDDS | |
. setenv.sh | |
tools/scripts/show_build_config.pl | |
- name: install gdb | |
shell: bash | |
run: | | |
sudo apt-get update | |
sudo apt-get install gdb | |
echo 0 | sudo tee /proc/sys/kernel/yama/ptrace_scope | |
- name: change core file pattern | |
shell: bash | |
run: | | |
sudo sysctl -w kernel.core_pattern=core.%e.%p | |
echo Core file pattern set to: | |
cat /proc/sys/kernel/core_pattern | |
- uses: ammaraskar/[email protected] | |
- name: Build CMake Tests | |
run: | | |
source OpenDDS/setenv.sh | |
mkdir OpenDDS/tests/cmake/build | |
cd OpenDDS/tests/cmake/build | |
cmake .. | |
cmake --build . -- -j4 | |
- name: run OpenDDS tests | |
shell: bash | |
run: | | |
ulimit -c unlimited | |
cd OpenDDS | |
echo "export ACE_TEST_LOG_STUCK_STACKS=1" >> setenv.sh | |
. setenv.sh | |
mkdir ${{ github.job }}_autobuild_workspace | |
cd ${{ github.job }}_autobuild_workspace | |
echo using commit $TRIGGERING_COMMIT for SHA | |
echo $TRIGGERING_COMMIT >> ./SHA | |
cat > config.xml <<EOF | |
<autobuild> | |
<configuration> | |
<variable name="log_file" value="output"/> | |
<variable name="log_root" value="$DDS_ROOT/${{ github.job }}_autobuild_workspace/logs"/> | |
<variable name="project_root" value="$DDS_ROOT"/> | |
<variable name="root" value="$DDS_ROOT/${{ github.job }}_autobuild_workspace"/> | |
<variable name="junit_xml_output" value="Tests"/> | |
</configuration> | |
<command name="log" options="on"/> | |
<command name="print_os_version"/> | |
<command name="print_ace_config"/> | |
<command name="print_cmake_version"/> | |
<command name="print_make_version"/> | |
<command name="check_compiler" options="gcc"/> | |
<command name="print_perl_version"/> | |
<command name="print_autobuild_config"/> | |
<command name="auto_run_tests" options="script_path=tests dir=$GITHUB_WORKSPACE/OpenDDS --no-dcps --cmake"/> | |
<command name="log" options="off"/> | |
<command name="process_logs" options="move prettify index"/> | |
</autobuild> | |
EOF | |
$GITHUB_WORKSPACE/autobuild/autobuild.pl "$GITHUB_WORKSPACE/OpenDDS/${{ github.job }}_autobuild_workspace/config.xml" | |
- name: upload autobuild output | |
uses: actions/upload-artifact@v4 | |
with: | |
name: ${{ github.job }}_autobuild_output | |
path: OpenDDS/${{ github.job }}_autobuild_workspace | |
- name: Authenticate to Google Cloud | |
uses: google-github-actions/auth@v2 | |
with: | |
workload_identity_provider: projects/30587790497/locations/global/workloadIdentityPools/gha-scoreboard-upload/providers/gha-provider | |
service_account: [email protected] | |
if: ${{ github.repository == 'OpenDDS/OpenDDS' && github.ref == env.SCOREBOARD_UPLOAD_BRANCH }} | |
- name: get OpenDDS version | |
shell: bash | |
run: | | |
cd OpenDDS | |
echo "OPENDDS_MAJOR_VERSION=$(grep '#define OPENDDS_MAJOR_VERSION' dds/Version.h | cut -d' ' -f3)" >> $GITHUB_ENV | |
- name: upload to Google Cloud | |
uses: 'google-github-actions/upload-cloud-storage@v2' | |
with: | |
path: OpenDDS/${{ github.job }}_autobuild_workspace/logs | |
destination: opendds-gha-scoreboard-uploads/${{ env.OPENDDS_MAJOR_VERSION }}/${{ github.job }} | |
parent: false | |
process_gcloudignore: false | |
if: ${{ github.repository == 'OpenDDS/OpenDDS' && github.ref == env.SCOREBOARD_UPLOAD_BRANCH }} | |
- name: check results | |
shell: bash | |
run: | | |
$GITHUB_WORKSPACE/OpenDDS/tools/scripts/autobuild_brief_html_to_text.pl "$GITHUB_WORKSPACE/OpenDDS/${{ github.job }}_autobuild_workspace/logs/"*_Brief.html | |
cat "$GITHUB_WORKSPACE/OpenDDS/${{ github.job }}_autobuild_workspace/logs/latest.txt" | |
grep -q 'Failures: 0' "$GITHUB_WORKSPACE/OpenDDS/${{ github.job }}_autobuild_workspace/logs/latest.txt" | |
messenger_u22_stat_qt_ws_sec: | |
runs-on: ubuntu-22.04 | |
needs: build_u22_stat_qt_ws_sec | |
permissions: | |
contents: read | |
id-token: write | |
steps: | |
- name: install xerces | |
run: sudo apt-get -y install libxerces-c-dev | |
- name: update apt | |
run: sudo apt-get update | |
- name: install qt | |
run: sudo apt-get -y install qtbase5-dev | |
- name: checkout MPC | |
uses: actions/checkout@v4 | |
with: | |
repository: DOCGroup/MPC | |
path: MPC | |
- name: checkout autobuild | |
uses: actions/checkout@v4 | |
with: | |
repository: DOCGroup/autobuild | |
path: autobuild | |
- name: checkout OpenDDS | |
uses: actions/checkout@v4 | |
with: | |
path: OpenDDS | |
submodules: true | |
- name: checkout ACE_TAO | |
uses: actions/checkout@v4 | |
with: | |
repository: DOCGroup/ACE_TAO | |
ref: ace6tao2 | |
path: ACE_TAO | |
- name: download ACE_TAO artifact | |
uses: actions/download-artifact@v4 | |
with: | |
name: ACE_TAO_u22_stat_qt_ws_sec_artifact | |
path: ACE_TAO | |
- name: extract ACE_TAO artifact | |
shell: bash | |
run: | | |
cd ACE_TAO | |
tar xvfJ ACE_TAO_u22_stat_qt_ws_sec.tar.xz | |
rm ACE_TAO_u22_stat_qt_ws_sec.tar.xz | |
- name: download OpenDDS artifact | |
uses: actions/download-artifact@v4 | |
with: | |
name: build_u22_stat_qt_ws_sec_artifact | |
path: OpenDDS | |
- name: extract OpenDDS artifact | |
shell: bash | |
run: | | |
cd OpenDDS | |
tar xvfJ build_u22_stat_qt_ws_sec.tar.xz | |
rm build_u22_stat_qt_ws_sec.tar.xz | |
- name: setup gtest | |
run: | | |
cd OpenDDS/tests/googletest | |
git submodule init | |
git submodule update | |
mkdir build | |
cd build | |
mkdir install | |
cmake -DCMAKE_INSTALL_PREFIX=./install .. | |
cmake --build . --target install | |
- name: check build configuration | |
shell: bash | |
run: | | |
cd OpenDDS | |
. setenv.sh | |
tools/scripts/show_build_config.pl | |
- name: install gdb | |
shell: bash | |
run: | | |
sudo apt-get update | |
sudo apt-get install gdb | |
echo 0 | sudo tee /proc/sys/kernel/yama/ptrace_scope | |
- name: change core file pattern | |
shell: bash | |
run: | | |
sudo sysctl -w kernel.core_pattern=core.%e.%p | |
echo Core file pattern set to: | |
cat /proc/sys/kernel/core_pattern | |
- name: configure messenger tests | |
shell: bash | |
run: | | |
cd OpenDDS | |
. setenv.sh | |
cd tests/DCPS/Messenger | |
perl $ACE_ROOT/bin/mwc.pl -type gnuace -static | |
- uses: ammaraskar/[email protected] | |
- name: make messenger tests | |
shell: bash | |
run: | | |
cd OpenDDS | |
. setenv.sh | |
cd tests/DCPS/Messenger | |
make | |
- name: configure C++11 messenger test | |
shell: bash | |
run: | | |
cd OpenDDS | |
. setenv.sh | |
cd tests/DCPS/C++11 | |
perl $ACE_ROOT/bin/mwc.pl -type gnuace -static | |
- name: make C++11 messenger test | |
shell: bash | |
run: | | |
cd OpenDDS | |
. setenv.sh | |
cd tests/DCPS/C++11 | |
make | |
- name: run OpenDDS tests | |
shell: bash | |
run: | | |
ulimit -c unlimited | |
cd OpenDDS | |
echo "export ACE_TEST_LOG_STUCK_STACKS=1" >> setenv.sh | |
. setenv.sh | |
mkdir ${{ github.job }}_autobuild_workspace | |
cd ${{ github.job }}_autobuild_workspace | |
echo using commit $TRIGGERING_COMMIT for SHA | |
echo $TRIGGERING_COMMIT >> ./SHA | |
cat > config.xml <<EOF | |
<autobuild> | |
<configuration> | |
<variable name="log_file" value="output"/> | |
<variable name="log_root" value="$DDS_ROOT/${{ github.job }}_autobuild_workspace/logs"/> | |
<variable name="project_root" value="$DDS_ROOT"/> | |
<variable name="root" value="$DDS_ROOT/${{ github.job }}_autobuild_workspace"/> | |
<variable name="junit_xml_output" value="Tests"/> | |
</configuration> | |
<command name="log" options="on"/> | |
<command name="print_os_version"/> | |
<command name="print_ace_config"/> | |
<command name="print_make_version"/> | |
<command name="check_compiler" options="gcc"/> | |
<command name="print_perl_version"/> | |
<command name="print_autobuild_config"/> | |
<command name="auto_run_tests" options="script_path=tests dir=$GITHUB_WORKSPACE/OpenDDS tests/core_ci_tests.lst -Config STATIC_MESSENGER -Config STATIC -Config XERCES3 -Config OPENDDS_SECURITY -Config RAPIDJSON -Config CXX11 -Config NO_UNIT_TESTS"/> | |
<command name="log" options="off"/> | |
<command name="process_logs" options="move prettify index"/> | |
</autobuild> | |
EOF | |
$GITHUB_WORKSPACE/autobuild/autobuild.pl "$GITHUB_WORKSPACE/OpenDDS/${{ github.job }}_autobuild_workspace/config.xml" | |
- name: upload autobuild output | |
uses: actions/upload-artifact@v4 | |
with: | |
name: ${{ github.job }}_autobuild_output | |
path: OpenDDS/${{ github.job }}_autobuild_workspace | |
- name: Authenticate to Google Cloud | |
uses: google-github-actions/auth@v2 | |
with: | |
workload_identity_provider: projects/30587790497/locations/global/workloadIdentityPools/gha-scoreboard-upload/providers/gha-provider | |
service_account: [email protected] | |
if: ${{ github.repository == 'OpenDDS/OpenDDS' && github.ref == env.SCOREBOARD_UPLOAD_BRANCH }} | |
- name: get OpenDDS version | |
shell: bash | |
run: | | |
cd OpenDDS | |
echo "OPENDDS_MAJOR_VERSION=$(grep '#define OPENDDS_MAJOR_VERSION' dds/Version.h | cut -d' ' -f3)" >> $GITHUB_ENV | |
- name: upload to Google Cloud | |
uses: 'google-github-actions/upload-cloud-storage@v2' | |
with: | |
path: OpenDDS/${{ github.job }}_autobuild_workspace/logs | |
destination: opendds-gha-scoreboard-uploads/${{ env.OPENDDS_MAJOR_VERSION }}/${{ github.job }} | |
parent: false | |
process_gcloudignore: false | |
if: ${{ github.repository == 'OpenDDS/OpenDDS' && github.ref == env.SCOREBOARD_UPLOAD_BRANCH }} | |
- name: check results | |
shell: bash | |
run: | | |
$GITHUB_WORKSPACE/OpenDDS/tools/scripts/autobuild_brief_html_to_text.pl "$GITHUB_WORKSPACE/OpenDDS/${{ github.job }}_autobuild_workspace/logs/"*_Brief.html | |
cat "$GITHUB_WORKSPACE/OpenDDS/${{ github.job }}_autobuild_workspace/logs/latest.txt" | |
grep -q 'Failures: 0' "$GITHUB_WORKSPACE/OpenDDS/${{ github.job }}_autobuild_workspace/logs/latest.txt" | |
compiler_u22_stat_qt_ws_sec: | |
runs-on: ubuntu-22.04 | |
needs: build_u22_stat_qt_ws_sec | |
permissions: | |
contents: read | |
id-token: write | |
steps: | |
- name: install xerces | |
run: sudo apt-get -y install libxerces-c-dev | |
- name: update apt | |
run: sudo apt-get update | |
- name: install qt | |
run: sudo apt-get -y install qtbase5-dev | |
- name: checkout MPC | |
uses: actions/checkout@v4 | |
with: | |
repository: DOCGroup/MPC | |
path: MPC | |
- name: checkout autobuild | |
uses: actions/checkout@v4 | |
with: | |
repository: DOCGroup/autobuild | |
path: autobuild | |
- name: checkout OpenDDS | |
uses: actions/checkout@v4 | |
with: | |
path: OpenDDS | |
submodules: true | |
- name: checkout ACE_TAO | |
uses: actions/checkout@v4 | |
with: | |
repository: DOCGroup/ACE_TAO | |
ref: ace6tao2 | |
path: ACE_TAO | |
- name: download ACE_TAO artifact | |
uses: actions/download-artifact@v4 | |
with: | |
name: ACE_TAO_u22_stat_qt_ws_sec_artifact | |
path: ACE_TAO | |
- name: extract ACE_TAO artifact | |
shell: bash | |
run: | | |
cd ACE_TAO | |
tar xvfJ ACE_TAO_u22_stat_qt_ws_sec.tar.xz | |
rm ACE_TAO_u22_stat_qt_ws_sec.tar.xz | |
- name: download OpenDDS artifact | |
uses: actions/download-artifact@v4 | |
with: | |
name: build_u22_stat_qt_ws_sec_artifact | |
path: OpenDDS | |
- name: extract OpenDDS artifact | |
shell: bash | |
run: | | |
cd OpenDDS | |
tar xvfJ build_u22_stat_qt_ws_sec.tar.xz | |
rm build_u22_stat_qt_ws_sec.tar.xz | |
- name: setup gtest | |
run: | | |
cd OpenDDS/tests/googletest | |
git submodule init | |
git submodule update | |
mkdir build | |
cd build | |
mkdir install | |
cmake -DCMAKE_INSTALL_PREFIX=./install .. | |
cmake --build . --target install | |
- name: check build configuration | |
shell: bash | |
run: | | |
cd OpenDDS | |
. setenv.sh | |
tools/scripts/show_build_config.pl | |
- name: install gdb | |
shell: bash | |
run: | | |
sudo apt-get update | |
sudo apt-get install gdb | |
echo 0 | sudo tee /proc/sys/kernel/yama/ptrace_scope | |
- name: change core file pattern | |
shell: bash | |
run: | | |
sudo sysctl -w kernel.core_pattern=core.%e.%p | |
echo Core file pattern set to: | |
cat /proc/sys/kernel/core_pattern | |
- name: configure compiler tests | |
shell: bash | |
run: | | |
cd OpenDDS | |
. setenv.sh | |
cd tests/DCPS/Compiler | |
perl $ACE_ROOT/bin/mwc.pl -type gnuace -static | |
- uses: ammaraskar/[email protected] | |
- name: make compiler tests | |
shell: bash | |
run: | | |
cd OpenDDS | |
. setenv.sh | |
cd tests/DCPS/Compiler | |
make | |
- name: run OpenDDS tests | |
shell: bash | |
run: | | |
ulimit -c unlimited | |
cd OpenDDS | |
echo "export ACE_TEST_LOG_STUCK_STACKS=1" >> setenv.sh | |
. setenv.sh | |
mkdir ${{ github.job }}_autobuild_workspace | |
cd ${{ github.job }}_autobuild_workspace | |
echo using commit $TRIGGERING_COMMIT for SHA | |
echo $TRIGGERING_COMMIT >> ./SHA | |
cat > config.xml <<EOF | |
<autobuild> | |
<configuration> | |
<variable name="log_file" value="output"/> | |
<variable name="log_root" value="$DDS_ROOT/${{ github.job }}_autobuild_workspace/logs"/> | |
<variable name="project_root" value="$DDS_ROOT"/> | |
<variable name="root" value="$DDS_ROOT/${{ github.job }}_autobuild_workspace"/> | |
<variable name="junit_xml_output" value="Tests"/> | |
</configuration> | |
<command name="log" options="on"/> | |
<command name="print_os_version"/> | |
<command name="print_ace_config"/> | |
<command name="print_make_version"/> | |
<command name="check_compiler" options="gcc"/> | |
<command name="print_perl_version"/> | |
<command name="print_autobuild_config"/> | |
<command name="auto_run_tests" options="script_path=tests dir=$GITHUB_WORKSPACE/OpenDDS tests/core_ci_tests.lst -Config STATIC_COMPILER -Config STATIC_COMPILER2 -Config STATIC -Config XERCES3 -Config OPENDDS_SECURITY -Config RAPIDJSON -Config CXX11 -Config NO_UNIT_TESTS"/> | |
<command name="log" options="off"/> | |
<command name="process_logs" options="move prettify index"/> | |
</autobuild> | |
EOF | |
$GITHUB_WORKSPACE/autobuild/autobuild.pl "$GITHUB_WORKSPACE/OpenDDS/${{ github.job }}_autobuild_workspace/config.xml" | |
- name: upload autobuild output | |
uses: actions/upload-artifact@v4 | |
with: | |
name: ${{ github.job }}_autobuild_output | |
path: OpenDDS/${{ github.job }}_autobuild_workspace | |
- name: Authenticate to Google Cloud | |
uses: google-github-actions/auth@v2 | |
with: | |
workload_identity_provider: projects/30587790497/locations/global/workloadIdentityPools/gha-scoreboard-upload/providers/gha-provider | |
service_account: [email protected] | |
if: ${{ github.repository == 'OpenDDS/OpenDDS' && github.ref == env.SCOREBOARD_UPLOAD_BRANCH }} | |
- name: get OpenDDS version | |
shell: bash | |
run: | | |
cd OpenDDS | |
echo "OPENDDS_MAJOR_VERSION=$(grep '#define OPENDDS_MAJOR_VERSION' dds/Version.h | cut -d' ' -f3)" >> $GITHUB_ENV | |
- name: upload to Google Cloud | |
uses: 'google-github-actions/upload-cloud-storage@v2' | |
with: | |
path: OpenDDS/${{ github.job }}_autobuild_workspace/logs | |
destination: opendds-gha-scoreboard-uploads/${{ env.OPENDDS_MAJOR_VERSION }}/${{ github.job }} | |
parent: false | |
process_gcloudignore: false | |
if: ${{ github.repository == 'OpenDDS/OpenDDS' && github.ref == env.SCOREBOARD_UPLOAD_BRANCH }} | |
- name: check results | |
shell: bash | |
run: | | |
$GITHUB_WORKSPACE/OpenDDS/tools/scripts/autobuild_brief_html_to_text.pl "$GITHUB_WORKSPACE/OpenDDS/${{ github.job }}_autobuild_workspace/logs/"*_Brief.html | |
cat "$GITHUB_WORKSPACE/OpenDDS/${{ github.job }}_autobuild_workspace/logs/latest.txt" | |
grep -q 'Failures: 0' "$GITHUB_WORKSPACE/OpenDDS/${{ github.job }}_autobuild_workspace/logs/latest.txt" | |
unit_u22_stat_qt_ws_sec: | |
runs-on: ubuntu-22.04 | |
needs: build_u22_stat_qt_ws_sec | |
permissions: | |
contents: read | |
id-token: write | |
steps: | |
- name: install xerces | |
run: sudo apt-get -y install libxerces-c-dev | |
- name: update apt | |
run: sudo apt-get update | |
- name: install qt | |
run: sudo apt-get -y install qtbase5-dev | |
- name: checkout MPC | |
uses: actions/checkout@v4 | |
with: | |
repository: DOCGroup/MPC | |
path: MPC | |
- name: checkout autobuild | |
uses: actions/checkout@v4 | |
with: | |
repository: DOCGroup/autobuild | |
path: autobuild | |
- name: checkout OpenDDS | |
uses: actions/checkout@v4 | |
with: | |
path: OpenDDS | |
submodules: true | |
- name: checkout ACE_TAO | |
uses: actions/checkout@v4 | |
with: | |
repository: DOCGroup/ACE_TAO | |
ref: ace6tao2 | |
path: ACE_TAO | |
- name: download ACE_TAO artifact | |
uses: actions/download-artifact@v4 | |
with: | |
name: ACE_TAO_u22_stat_qt_ws_sec_artifact | |
path: ACE_TAO | |
- name: extract ACE_TAO artifact | |
shell: bash | |
run: | | |
cd ACE_TAO | |
tar xvfJ ACE_TAO_u22_stat_qt_ws_sec.tar.xz | |
rm ACE_TAO_u22_stat_qt_ws_sec.tar.xz | |
- name: download OpenDDS artifact | |
uses: actions/download-artifact@v4 | |
with: | |
name: build_u22_stat_qt_ws_sec_artifact | |
path: OpenDDS | |
- name: extract OpenDDS artifact | |
shell: bash | |
run: | | |
cd OpenDDS | |
tar xvfJ build_u22_stat_qt_ws_sec.tar.xz | |
rm build_u22_stat_qt_ws_sec.tar.xz | |
- name: setup gtest | |
run: | | |
cd OpenDDS/tests/googletest | |
git submodule init | |
git submodule update | |
mkdir build | |
cd build | |
mkdir install | |
cmake -DCMAKE_INSTALL_PREFIX=./install .. | |
cmake --build . --target install | |
- name: check build configuration | |
shell: bash | |
run: | | |
cd OpenDDS | |
. setenv.sh | |
tools/scripts/show_build_config.pl | |
- name: install gdb | |
shell: bash | |
run: | | |
sudo apt-get update | |
sudo apt-get install gdb | |
echo 0 | sudo tee /proc/sys/kernel/yama/ptrace_scope | |
- name: change core file pattern | |
shell: bash | |
run: | | |
sudo sysctl -w kernel.core_pattern=core.%e.%p | |
echo Core file pattern set to: | |
cat /proc/sys/kernel/core_pattern | |
- name: configure unit tests | |
shell: bash | |
run: | | |
cd OpenDDS | |
. setenv.sh | |
cd tests/unit-tests | |
perl $ACE_ROOT/bin/mwc.pl -type gnuace -static | |
- uses: ammaraskar/[email protected] | |
- name: make unit tests | |
shell: bash | |
run: | | |
cd OpenDDS | |
. setenv.sh | |
cd tests/unit-tests | |
make | |
- name: run OpenDDS tests | |
shell: bash | |
run: | | |
ulimit -c unlimited | |
cd OpenDDS | |
echo "export ACE_TEST_LOG_STUCK_STACKS=1" >> setenv.sh | |
. setenv.sh | |
mkdir ${{ github.job }}_autobuild_workspace | |
cd ${{ github.job }}_autobuild_workspace | |
echo using commit $TRIGGERING_COMMIT for SHA | |
echo $TRIGGERING_COMMIT >> ./SHA | |
cat > config.xml <<EOF | |
<autobuild> | |
<configuration> | |
<variable name="log_file" value="output"/> | |
<variable name="log_root" value="$DDS_ROOT/${{ github.job }}_autobuild_workspace/logs"/> | |
<variable name="project_root" value="$DDS_ROOT"/> | |
<variable name="root" value="$DDS_ROOT/${{ github.job }}_autobuild_workspace"/> | |
<variable name="junit_xml_output" value="Tests"/> | |
</configuration> | |
<command name="log" options="on"/> | |
<command name="print_os_version"/> | |
<command name="print_ace_config"/> | |
<command name="print_make_version"/> | |
<command name="check_compiler" options="gcc"/> | |
<command name="print_perl_version"/> | |
<command name="print_autobuild_config"/> | |
<command name="auto_run_tests" options="script_path=tests dir=$GITHUB_WORKSPACE/OpenDDS tests/core_ci_tests.lst -Config STATIC_UNIT_TESTS -Config STATIC -Config XERCES3 -Config OPENDDS_SECURITY -Config RAPIDJSON -Config CXX11"/> | |
<command name="log" options="off"/> | |
<command name="process_logs" options="move prettify index"/> | |
</autobuild> | |
EOF | |
$GITHUB_WORKSPACE/autobuild/autobuild.pl "$GITHUB_WORKSPACE/OpenDDS/${{ github.job }}_autobuild_workspace/config.xml" | |
- name: upload autobuild output | |
uses: actions/upload-artifact@v4 | |
with: | |
name: ${{ github.job }}_autobuild_output | |
path: OpenDDS/${{ github.job }}_autobuild_workspace | |
- name: Authenticate to Google Cloud | |
uses: google-github-actions/auth@v2 | |
with: | |
workload_identity_provider: projects/30587790497/locations/global/workloadIdentityPools/gha-scoreboard-upload/providers/gha-provider | |
service_account: [email protected] | |
if: ${{ github.repository == 'OpenDDS/OpenDDS' && github.ref == env.SCOREBOARD_UPLOAD_BRANCH }} | |
- name: get OpenDDS version | |
shell: bash | |
run: | | |
cd OpenDDS | |
echo "OPENDDS_MAJOR_VERSION=$(grep '#define OPENDDS_MAJOR_VERSION' dds/Version.h | cut -d' ' -f3)" >> $GITHUB_ENV | |
- name: upload to Google Cloud | |
uses: 'google-github-actions/upload-cloud-storage@v2' | |
with: | |
path: OpenDDS/${{ github.job }}_autobuild_workspace/logs | |
destination: opendds-gha-scoreboard-uploads/${{ env.OPENDDS_MAJOR_VERSION }}/${{ github.job }} | |
parent: false | |
process_gcloudignore: false | |
if: ${{ github.repository == 'OpenDDS/OpenDDS' && github.ref == env.SCOREBOARD_UPLOAD_BRANCH }} | |
- name: check results | |
shell: bash | |
run: | | |
$GITHUB_WORKSPACE/OpenDDS/tools/scripts/autobuild_brief_html_to_text.pl "$GITHUB_WORKSPACE/OpenDDS/${{ github.job }}_autobuild_workspace/logs/"*_Brief.html | |
cat "$GITHUB_WORKSPACE/OpenDDS/${{ github.job }}_autobuild_workspace/logs/latest.txt" | |
grep -q 'Failures: 0' "$GITHUB_WORKSPACE/OpenDDS/${{ github.job }}_autobuild_workspace/logs/latest.txt" | |
security_u22_stat_qt_ws_sec: | |
runs-on: ubuntu-22.04 | |
needs: build_u22_stat_qt_ws_sec | |
timeout-minutes: 150 | |
permissions: | |
contents: read | |
id-token: write | |
steps: | |
- name: install xerces | |
run: sudo apt-get -y install libxerces-c-dev | |
- name: update apt | |
run: sudo apt-get update | |
- name: install qt | |
run: sudo apt-get -y install qtbase5-dev | |
- name: checkout MPC | |
uses: actions/checkout@v4 | |
with: | |
repository: DOCGroup/MPC | |
path: MPC | |
- name: checkout autobuild | |
uses: actions/checkout@v4 | |
with: | |
repository: DOCGroup/autobuild | |
path: autobuild | |
- name: checkout ACE_TAO | |
uses: actions/checkout@v4 | |
with: | |
repository: DOCGroup/ACE_TAO | |
ref: ace6tao2 | |
path: ACE_TAO | |
- name: download ACE_TAO artifact | |
uses: actions/download-artifact@v4 | |
with: | |
name: ACE_TAO_u22_stat_qt_ws_sec_artifact | |
path: ACE_TAO | |
- name: extract ACE_TAO artifact | |
shell: bash | |
run: | | |
cd ACE_TAO | |
tar xvfJ ACE_TAO_u22_stat_qt_ws_sec.tar.xz | |
rm ACE_TAO_u22_stat_qt_ws_sec.tar.xz | |
- name: checkout OpenDDS | |
uses: actions/checkout@v4 | |
with: | |
path: OpenDDS | |
submodules: true | |
- name: download OpenDDS artifact | |
uses: actions/download-artifact@v4 | |
with: | |
name: build_u22_stat_qt_ws_sec_artifact | |
path: OpenDDS | |
- name: extract OpenDDS artifact | |
shell: bash | |
run: | | |
cd OpenDDS | |
tar xvfJ build_u22_stat_qt_ws_sec.tar.xz | |
rm build_u22_stat_qt_ws_sec.tar.xz | |
- name: check build configuration | |
shell: bash | |
run: | | |
cd OpenDDS | |
. setenv.sh | |
tools/scripts/show_build_config.pl | |
- name: install gdb | |
shell: bash | |
run: | | |
sudo apt-get update | |
sudo apt-get install gdb | |
echo 0 | sudo tee /proc/sys/kernel/yama/ptrace_scope | |
- name: change core file pattern | |
shell: bash | |
run: | | |
sudo sysctl -w kernel.core_pattern=core.%e.%p | |
echo Core file pattern set to: | |
cat /proc/sys/kernel/core_pattern | |
- name: configure security tests | |
shell: bash | |
run: | | |
cd OpenDDS | |
. setenv.sh | |
cd tests/security/attributes | |
perl $ACE_ROOT/bin/mwc.pl -type gnuace -static | |
- uses: ammaraskar/[email protected] | |
- name: build security tests | |
shell: bash | |
run: | | |
cd OpenDDS | |
. setenv.sh | |
cd tests/security/attributes | |
make -j $(getconf _NPROCESSORS_ONLN) | |
- name: run security tests | |
shell: bash | |
run: | | |
ulimit -c unlimited | |
cd OpenDDS | |
. setenv.sh | |
mkdir ${{ github.job }}_autobuild_workspace | |
cd ${{ github.job }}_autobuild_workspace | |
echo using commit $TRIGGERING_COMMIT for SHA | |
echo $TRIGGERING_COMMIT >> ./SHA | |
cat > config.xml <<EOF | |
<autobuild> | |
<configuration> | |
<variable name="log_file" value="output"/> | |
<variable name="log_root" value="$DDS_ROOT/${{ github.job }}_autobuild_workspace/logs"/> | |
<variable name="project_root" value="$DDS_ROOT"/> | |
<variable name="root" value="$DDS_ROOT/${{ github.job }}_autobuild_workspace"/> | |
<variable name="junit_xml_output" value="Tests"/> | |
</configuration> | |
<command name="log" options="on"/> | |
<command name="print_os_version"/> | |
<command name="print_ace_config"/> | |
<command name="print_make_version"/> | |
<command name="check_compiler" options="gcc"/> | |
<command name="print_perl_version"/> | |
<command name="print_autobuild_config"/> | |
<command name="auto_run_tests" options="script_path=tests dir=$GITHUB_WORKSPACE/OpenDDS tests/core_ci_tests.lst -Config STATIC_SECURITY"/> | |
<command name="log" options="off"/> | |
<command name="process_logs" options="move prettify index"/> | |
</autobuild> | |
EOF | |
$GITHUB_WORKSPACE/autobuild/autobuild.pl "$GITHUB_WORKSPACE/OpenDDS/${{ github.job }}_autobuild_workspace/config.xml" | |
- name: upload autobuild output | |
uses: actions/upload-artifact@v4 | |
with: | |
name: ${{ github.job }}_autobuild_output | |
path: OpenDDS/${{ github.job }}_autobuild_workspace | |
- name: Authenticate to Google Cloud | |
uses: google-github-actions/auth@v2 | |
with: | |
workload_identity_provider: projects/30587790497/locations/global/workloadIdentityPools/gha-scoreboard-upload/providers/gha-provider | |
service_account: [email protected] | |
if: ${{ github.repository == 'OpenDDS/OpenDDS' && github.ref == env.SCOREBOARD_UPLOAD_BRANCH }} | |
- name: get OpenDDS version | |
shell: bash | |
run: | | |
cd OpenDDS | |
echo "OPENDDS_MAJOR_VERSION=$(grep '#define OPENDDS_MAJOR_VERSION' dds/Version.h | cut -d' ' -f3)" >> $GITHUB_ENV | |
- name: upload to Google Cloud | |
uses: 'google-github-actions/upload-cloud-storage@v2' | |
with: | |
path: OpenDDS/${{ github.job }}_autobuild_workspace/logs | |
destination: opendds-gha-scoreboard-uploads/${{ env.OPENDDS_MAJOR_VERSION }}/${{ github.job }} | |
parent: false | |
process_gcloudignore: false | |
if: ${{ github.repository == 'OpenDDS/OpenDDS' && github.ref == env.SCOREBOARD_UPLOAD_BRANCH }} | |
- name: check results | |
shell: bash | |
run: | | |
$GITHUB_WORKSPACE/OpenDDS/tools/scripts/autobuild_brief_html_to_text.pl "$GITHUB_WORKSPACE/OpenDDS/${{ github.job }}_autobuild_workspace/logs/"*_Brief.html | |
cat "$GITHUB_WORKSPACE/OpenDDS/${{ github.job }}_autobuild_workspace/logs/latest.txt" | |
grep -q 'Failures: 0' "$GITHUB_WORKSPACE/OpenDDS/${{ github.job }}_autobuild_workspace/logs/latest.txt" | |
ACE_TAO_u22_j_cft0_FM-37: | |
runs-on: ubuntu-22.04 | |
steps: | |
- name: checkout OpenDDS | |
uses: actions/checkout@v4 | |
with: | |
path: OpenDDS | |
submodules: true | |
- name: checkout ACE_TAO | |
uses: actions/checkout@v4 | |
with: | |
repository: DOCGroup/ACE_TAO | |
ref: ace6tao2 | |
path: OpenDDS/ACE_TAO | |
- name: get ACE_TAO commit | |
shell: bash | |
run: | | |
cd OpenDDS/ACE_TAO | |
export ACE_COMMIT=$(git rev-parse HEAD) | |
echo "ACE_COMMIT=$ACE_COMMIT" >> $GITHUB_ENV | |
- name: get compiler version | |
shell: bash | |
run: | | |
export COMPILER_VERSION=$(c++ --version 2>&1 | head -n 1) | |
echo "COMPILER_VERSION=$COMPILER_VERSION" >> $GITHUB_ENV | |
- name: get jdk version | |
shell: bash | |
run: | | |
export JDK_VERSION=$(java -version 2>&1 | grep -i version) | |
echo "JDK_VERSION=$JDK_VERSION" >> $GITHUB_ENV | |
- name: Cache Artifact | |
id: cache-artifact | |
uses: actions/cache@v4 | |
with: | |
path: ${{ github.job }}.tar.xz | |
key: c01_${{ github.job }}_ace6tao2_${{ env.ACE_COMMIT }}_${{ env.COMPILER_VERSION }}_${{ env.JDK_VERSION }} | |
- name: install xerces | |
if: steps.cache-artifact.outputs.cache-hit != 'true' | |
run: sudo apt-get -y install libxerces-c-dev | |
- name: checkout MPC | |
uses: actions/checkout@v4 | |
if: steps.cache-artifact.outputs.cache-hit != 'true' | |
with: | |
repository: DOCGroup/MPC | |
path: MPC | |
- name: configure OpenDDS | |
if: steps.cache-artifact.outputs.cache-hit != 'true' | |
run: | | |
cd OpenDDS | |
./configure --tests --security --ace=$GITHUB_WORKSPACE/OpenDDS/ACE_TAO/ACE --mpc=$GITHUB_WORKSPACE/MPC --compile-warnings=WARNING | |
- name: build ACE and TAO | |
if: steps.cache-artifact.outputs.cache-hit != 'true' | |
run: | | |
cd OpenDDS | |
. setenv.sh | |
cd ACE_TAO/ACE | |
make -j4 | |
cd ../TAO | |
make -j4 | |
- name: create ACE_TAO tar.xz artifact | |
if: steps.cache-artifact.outputs.cache-hit != 'true' | |
shell: bash | |
run: | | |
cd OpenDDS/ACE_TAO | |
perl -ni.bak -e "print unless /opendds/" ACE/bin/MakeProjectCreator/config/default.features # remove opendds features from here, let individual build configure scripts handle those | |
find . -iname "*\.o" | xargs rm | |
tar cvf ../../${{ github.job }}.tar ACE/ace/config.h | |
git clean -xdfn | cut -d ' ' -f 3- | xargs tar uvf ../../${{ github.job }}.tar | |
xz -3 ../../${{ github.job }}.tar | |
- name: upload ACE_TAO artifact | |
uses: actions/upload-artifact@v4 | |
with: | |
name: ${{ github.job }}_artifact | |
path: ${{ github.job }}.tar.xz | |
build_u22_j_cft0_FM-37: | |
runs-on: ubuntu-22.04 | |
needs: ACE_TAO_u22_j_cft0_FM-37 | |
steps: | |
- name: install xerces | |
run: sudo apt-get -y install libxerces-c-dev | |
- name: checkout MPC | |
uses: actions/checkout@v4 | |
with: | |
repository: DOCGroup/MPC | |
path: MPC | |
- name: checkout ACE_TAO | |
uses: actions/checkout@v4 | |
with: | |
repository: DOCGroup/ACE_TAO | |
ref: ace6tao2 | |
path: ACE_TAO | |
- name: download ACE_TAO artifact | |
uses: actions/download-artifact@v4 | |
with: | |
name: ACE_TAO_u22_j_cft0_FM-37_artifact | |
path: ACE_TAO | |
- name: extract ACE_TAO artifact | |
shell: bash | |
run: | | |
cd ACE_TAO | |
tar xvfJ ACE_TAO_u22_j_cft0_FM-37.tar.xz | |
- name: checkout OpenDDS | |
uses: actions/checkout@v4 | |
with: | |
path: OpenDDS | |
submodules: true | |
- name: configure OpenDDS | |
run: | | |
cd OpenDDS | |
./configure --tests --java --no-content-filtered-topic --rapidjson --ace=$GITHUB_WORKSPACE/ACE_TAO/ACE --mpc=$GITHUB_WORKSPACE/MPC --compile-warnings=WARNING | |
- name: check build configuration | |
shell: bash | |
run: | | |
cd OpenDDS | |
. setenv.sh | |
tools/scripts/show_build_config.pl | |
- uses: ammaraskar/[email protected] | |
- name: build OpenDDS | |
shell: bash | |
run: | | |
cd OpenDDS | |
. setenv.sh | |
make -j4 | |
- name: Build CMake Tests | |
run: | | |
source OpenDDS/setenv.sh | |
mkdir OpenDDS/tests/cmake/build | |
cd OpenDDS/tests/cmake/build | |
cmake .. | |
cmake --build . -- -j4 | |
- name: set up Modeling tests | |
shell: bash | |
run: | | |
cd OpenDDS | |
. setenv.sh | |
cd tools/modeling/tests | |
./setup.pl | |
cd - | |
mwc.pl -type gnuace -workers 4 -features content_filtered_topic=0 tools/modeling/tests/modeling_tests.mwc | |
- name: build Modeling tests | |
shell: bash | |
run: | | |
cd OpenDDS | |
. setenv.sh | |
make -j4 -C tools/modeling/tests | |
- name: create OpenDDS tar.xz artifact | |
shell: bash | |
run: | | |
cd OpenDDS | |
rm -rf ACE_TAO | |
find . -iname "*\.o" | xargs rm | |
tar cvf ../${{ github.job }}.tar setenv.sh | |
git clean -xdfn | cut -d ' ' -f 3- | xargs tar uvf ../${{ github.job }}.tar | |
xz -3 ../${{ github.job }}.tar | |
- name: upload OpenDDS artifact | |
uses: actions/upload-artifact@v4 | |
with: | |
name: ${{ github.job }}_artifact | |
path: ${{ github.job }}.tar.xz | |
test_u22_j_cft0_FM-37: | |
runs-on: ubuntu-22.04 | |
needs: build_u22_j_cft0_FM-37 | |
permissions: | |
contents: read | |
id-token: write | |
steps: | |
- name: install xerces | |
run: sudo apt-get -y install libxerces-c-dev | |
- name: checkout MPC | |
uses: actions/checkout@v4 | |
with: | |
repository: DOCGroup/MPC | |
path: MPC | |
- name: checkout autobuild | |
uses: actions/checkout@v4 | |
with: | |
repository: DOCGroup/autobuild | |
path: autobuild | |
- name: checkout ACE_TAO | |
uses: actions/checkout@v4 | |
with: | |
repository: DOCGroup/ACE_TAO | |
ref: ace6tao2 | |
path: ACE_TAO | |
- name: download ACE_TAO artifact | |
uses: actions/download-artifact@v4 | |
with: | |
name: ACE_TAO_u22_j_cft0_FM-37_artifact | |
path: ACE_TAO | |
- name: extract ACE_TAO artifact | |
shell: bash | |
run: | | |
cd ACE_TAO | |
tar xvfJ ACE_TAO_u22_j_cft0_FM-37.tar.xz | |
- name: checkout OpenDDS | |
uses: actions/checkout@v4 | |
with: | |
path: OpenDDS | |
submodules: true | |
- name: download OpenDDS artifact | |
uses: actions/download-artifact@v4 | |
with: | |
name: build_u22_j_cft0_FM-37_artifact | |
path: OpenDDS | |
- name: extract OpenDDS artifact | |
shell: bash | |
run: | | |
cd OpenDDS | |
tar xvfJ build_u22_j_cft0_FM-37.tar.xz | |
- name: check build configuration | |
shell: bash | |
run: | | |
cd OpenDDS | |
. setenv.sh | |
tools/scripts/show_build_config.pl | |
- name: install gdb | |
shell: bash | |
run: | | |
sudo apt-get update | |
sudo apt-get install gdb | |
echo 0 | sudo tee /proc/sys/kernel/yama/ptrace_scope | |
- name: change core file pattern | |
shell: bash | |
run: | | |
sudo sysctl -w kernel.core_pattern=core.%e.%p | |
echo Core file pattern set to: | |
cat /proc/sys/kernel/core_pattern | |
- name: run OpenDDS tests | |
shell: bash | |
run: | | |
ulimit -c unlimited | |
cd OpenDDS | |
echo "export ACE_TEST_LOG_STUCK_STACKS=1" >> setenv.sh | |
. setenv.sh | |
mkdir ${{ github.job }}_autobuild_workspace | |
cd ${{ github.job }}_autobuild_workspace | |
echo using commit $TRIGGERING_COMMIT for SHA | |
echo $TRIGGERING_COMMIT >> ./SHA | |
cat > config.xml <<EOF | |
<autobuild> | |
<configuration> | |
<variable name="log_file" value="output"/> | |
<variable name="log_root" value="$DDS_ROOT/${{ github.job }}_autobuild_workspace/logs"/> | |
<variable name="project_root" value="$DDS_ROOT"/> | |
<variable name="root" value="$DDS_ROOT/${{ github.job }}_autobuild_workspace"/> | |
<variable name="junit_xml_output" value="Tests"/> | |
</configuration> | |
<command name="log" options="on"/> | |
<command name="print_os_version"/> | |
<command name="print_ace_config"/> | |
<command name="print_cmake_version"/> | |
<command name="print_make_version"/> | |
<command name="check_compiler" options="gcc"/> | |
<command name="print_perl_version"/> | |
<command name="print_autobuild_config"/> | |
<command name="auto_run_tests" options="script_path=tests dir=$GITHUB_WORKSPACE/OpenDDS -Config RAPIDJSON -Config DDS_NO_CONTENT_FILTERED_TOPIC --modeling --cmake"/> | |
<command name="log" options="off"/> | |
<command name="process_logs" options="move prettify index"/> | |
</autobuild> | |
EOF | |
$GITHUB_WORKSPACE/autobuild/autobuild.pl "$GITHUB_WORKSPACE/OpenDDS/${{ github.job }}_autobuild_workspace/config.xml" | |
- name: upload autobuild output | |
uses: actions/upload-artifact@v4 | |
with: | |
name: ${{ github.job }}_autobuild_output | |
path: OpenDDS/${{ github.job }}_autobuild_workspace | |
- name: Authenticate to Google Cloud | |
uses: google-github-actions/auth@v2 | |
with: | |
workload_identity_provider: projects/30587790497/locations/global/workloadIdentityPools/gha-scoreboard-upload/providers/gha-provider | |
service_account: [email protected] | |
if: ${{ github.repository == 'OpenDDS/OpenDDS' && github.ref == env.SCOREBOARD_UPLOAD_BRANCH }} | |
- name: get OpenDDS version | |
shell: bash | |
run: | | |
cd OpenDDS | |
echo "OPENDDS_MAJOR_VERSION=$(grep '#define OPENDDS_MAJOR_VERSION' dds/Version.h | cut -d' ' -f3)" >> $GITHUB_ENV | |
- name: upload to Google Cloud | |
uses: 'google-github-actions/upload-cloud-storage@v2' | |
with: | |
path: OpenDDS/${{ github.job }}_autobuild_workspace/logs | |
destination: opendds-gha-scoreboard-uploads/${{ env.OPENDDS_MAJOR_VERSION }}/${{ github.job }} | |
parent: false | |
process_gcloudignore: false | |
if: ${{ github.repository == 'OpenDDS/OpenDDS' && github.ref == env.SCOREBOARD_UPLOAD_BRANCH }} | |
- name: check results | |
shell: bash | |
run: | | |
$GITHUB_WORKSPACE/OpenDDS/tools/scripts/autobuild_brief_html_to_text.pl "$GITHUB_WORKSPACE/OpenDDS/${{ github.job }}_autobuild_workspace/logs/"*_Brief.html | |
cat "$GITHUB_WORKSPACE/OpenDDS/${{ github.job }}_autobuild_workspace/logs/latest.txt" | |
grep -q 'Failures: 0' "$GITHUB_WORKSPACE/OpenDDS/${{ github.job }}_autobuild_workspace/logs/latest.txt" | |
ACE_TAO_w19_p1_stat_js0: | |
runs-on: windows-2019 | |
steps: | |
- name: checkout OpenDDS | |
uses: actions/checkout@v4 | |
with: | |
path: OpenDDS | |
submodules: true | |
- name: checkout ACE_TAO | |
uses: actions/checkout@v4 | |
with: | |
repository: DOCGroup/ACE_TAO | |
ref: ace6tao2 | |
path: OpenDDS/ACE_TAO | |
- name: get ACE_TAO commit | |
shell: bash | |
run: | | |
cd OpenDDS/ACE_TAO | |
export ACE_COMMIT=$(git rev-parse HEAD) | |
echo "ACE_COMMIT=$ACE_COMMIT" >> $GITHUB_ENV | |
- name: get compiler version | |
shell: bash | |
run: | | |
export COMPILER_VERSION=$("C:\Program Files (x86)\Microsoft Visual Studio\Installer\vswhere.exe" -property catalog_productDisplayVersion) | |
echo "COMPILER_VERSION=$COMPILER_VERSION" >> $GITHUB_ENV | |
- name: Cache Artifact | |
id: cache-artifact | |
uses: actions/cache@v4 | |
with: | |
path: ${{ github.job }}.tar.xz | |
key: c01_${{ github.job }}_ace6tao2_${{ env.ACE_COMMIT }}_${{ env.COMPILER_VERSION }} | |
- name: setup for run-vcpkg | |
if: steps.cache-artifact.outputs.cache-hit != 'true' | |
shell: bash | |
run: | | |
echo '{ "name": "opendds", "version-string": "github-actions", "dependencies": [ "openssl", "xerces-c" ] }' > vcpkg.json | |
- name: install openssl & xerces-c | |
if: steps.cache-artifact.outputs.cache-hit != 'true' | |
uses: lukka/run-vcpkg@v11 | |
with: | |
vcpkgGitCommitId: '${{ env.VCPKG_GIT_COMMIT }}' | |
runVcpkgInstall: true | |
- name: checkout MPC | |
if: steps.cache-artifact.outputs.cache-hit != 'true' | |
uses: actions/checkout@v4 | |
with: | |
repository: DOCGroup/MPC | |
path: MPC | |
- name: set up msvc env | |
if: steps.cache-artifact.outputs.cache-hit != 'true' | |
uses: ilammy/msvc-dev-cmd@v1 | |
- name: configure OpenDDS | |
if: steps.cache-artifact.outputs.cache-hit != 'true' | |
shell: cmd | |
run: | | |
cd OpenDDS | |
configure --ipv6 --static --no-rapidjson --ace=${{ github.workspace }}/OpenDDS/ACE_TAO/ACE --tao=${{ github.workspace }}/OpenDDS/ACE_TAO/TAO --mpc=${{ github.workspace }}/MPC --xerces3=${{ env.VCPKG_INSTALLED_DIR }}/x64-windows --openssl=${{ env.VCPKG_INSTALLED_DIR }}/x64-windows --mpcopts=-hierarchy --compile-warnings=WARNING | |
- name: build ACE & TAO | |
if: steps.cache-artifact.outputs.cache-hit != 'true' | |
shell: cmd | |
run: | | |
cd OpenDDS | |
call setenv.cmd | |
cd ACE_TAO\ACE | |
msbuild -p:Configuration=Debug,Platform=x64 -m ace.sln | |
cd ..\TAO | |
msbuild -p:Configuration=Debug,Platform=x64 -m tao.sln | |
- name: create ACE_TAO tar.xz artifact | |
if: steps.cache-artifact.outputs.cache-hit != 'true' | |
shell: bash | |
run: | | |
cd OpenDDS/ACE_TAO | |
perl -ni.bak -e "print unless /opendds/" ACE/bin/MakeProjectCreator/config/default.features # remove opendds features from here, let individual build configure scripts handle those | |
find . -iname "*\.obj" | xargs rm | |
tar cvf ../../${{ github.job }}.tar ACE/ace/config.h | |
git clean -xdfn | cut -d ' ' -f 3- | xargs tar uvf ../../${{ github.job }}.tar | |
xz -3 ../../${{ github.job }}.tar | |
- name: upload ACE_TAO artifact | |
uses: actions/upload-artifact@v4 | |
with: | |
name: ${{ github.job }}_artifact | |
path: ${{ github.job }}.tar.xz | |
build_w19_p1_stat_js0: | |
runs-on: windows-2019 | |
needs: ACE_TAO_w19_p1_stat_js0 | |
steps: | |
- name: setup for run-vcpkg | |
shell: bash | |
run: | | |
echo '{ "name": "opendds", "version-string": "github-actions", "dependencies": [ "openssl", "xerces-c" ] }' > vcpkg.json | |
- name: install openssl & xerces-c | |
uses: lukka/run-vcpkg@v11 | |
with: | |
vcpkgGitCommitId: '${{ env.VCPKG_GIT_COMMIT }}' | |
runVcpkgInstall: true | |
- name: checkout MPC | |
uses: actions/checkout@v4 | |
with: | |
repository: DOCGroup/MPC | |
path: MPC | |
- name: checkout OpenDDS | |
uses: actions/checkout@v4 | |
with: | |
path: OpenDDS | |
submodules: true | |
- name: checkout ACE_TAO | |
uses: actions/checkout@v4 | |
with: | |
repository: DOCGroup/ACE_TAO | |
ref: ace6tao2 | |
path: OpenDDS/ACE_TAO | |
- name: download ACE_TAO artifact | |
uses: actions/download-artifact@v4 | |
with: | |
name: ACE_TAO_w19_p1_stat_js0_artifact | |
path: OpenDDS/ACE_TAO | |
- name: extract ACE_TAO artifact | |
shell: bash | |
run: | | |
cd OpenDDS/ACE_TAO | |
tar xvfJ ACE_TAO_w19_p1_stat_js0.tar.xz | |
rm -f ACE_TAO_w19_p1_stat_js0.tar.xz | |
- name: set up msvc env | |
uses: ilammy/msvc-dev-cmd@v1 | |
- name: setup gtest | |
shell: cmd | |
run: | | |
cd OpenDDS/tests/googletest | |
git submodule init | |
git submodule update | |
mkdir build | |
cd build | |
mkdir install | |
cmake -DCMAKE_INSTALL_PREFIX=./install .. | |
cmake --build . --target install | |
- name: configure OpenDDS | |
shell: cmd | |
run: | | |
cd OpenDDS | |
configure --ipv6 --static --no-rapidjson --gtest=${{ github.workspace }}/OpenDDS/tests/googletest/build/install --ace=${{ github.workspace }}/OpenDDS/ACE_TAO/ACE --tao=${{ github.workspace }}/OpenDDS/ACE_TAO/TAO --mpc=${{ github.workspace }}/MPC --xerces3=${{ env.VCPKG_INSTALLED_DIR }}/x64-windows --openssl=${{ env.VCPKG_INSTALLED_DIR }}/x64-windows --compile-warnings=WARNING | |
- name: check build configuration | |
shell: cmd | |
run: | | |
cd OpenDDS | |
call setenv.cmd | |
perl tools\scripts\show_build_config.pl | |
- uses: ammaraskar/[email protected] | |
- name: build OpenDDS | |
shell: cmd | |
run: | | |
cd OpenDDS | |
call setenv.cmd | |
msbuild -p:Configuration=Debug,Platform=x64 -m DDS_no_tests.sln | |
- name: create OpenDDS tar.xz artifact | |
shell: bash | |
run: | | |
cd OpenDDS | |
rm -rf ACE_TAO | |
find . -iname "*\.obj" -o -iname "*\.pdb" -o -iname "*\.idb" -o -type f -iname "*\.tlog" | xargs rm | |
tar cvf ../${{ github.job }}.tar setenv.cmd | |
git clean -xdfn | cut -d ' ' -f 3- | xargs tar uvf ../${{ github.job }}.tar | |
xz -3 ../${{ github.job }}.tar | |
- name: upload OpenDDS artifact | |
uses: actions/upload-artifact@v4 | |
with: | |
name: ${{ github.job }}_artifact | |
path: ${{ github.job }}.tar.xz | |
cmake_w19_p1_stat_js0: | |
runs-on: windows-2019 | |
needs: build_w19_p1_stat_js0 | |
permissions: | |
contents: read | |
id-token: write | |
steps: | |
- name: setup for run-vcpkg | |
shell: bash | |
run: | | |
echo '{ "name": "opendds", "version-string": "github-actions", "dependencies": [ "openssl", "xerces-c" ] }' > vcpkg.json | |
- name: install openssl & xerces-c | |
uses: lukka/run-vcpkg@v11 | |
with: | |
vcpkgGitCommitId: '${{ env.VCPKG_GIT_COMMIT }}' | |
runVcpkgInstall: true | |
- name: checkout MPC | |
uses: actions/checkout@v4 | |
with: | |
repository: DOCGroup/MPC | |
path: MPC | |
- name: checkout autobuild | |
uses: actions/checkout@v4 | |
with: | |
repository: DOCGroup/autobuild | |
path: autobuild | |
- name: checkout OpenDDS | |
uses: actions/checkout@v4 | |
with: | |
path: OpenDDS | |
submodules: true | |
- name: checkout ACE_TAO | |
uses: actions/checkout@v4 | |
with: | |
repository: DOCGroup/ACE_TAO | |
ref: ace6tao2 | |
path: OpenDDS/ACE_TAO | |
- name: download ACE_TAO artifact | |
uses: actions/download-artifact@v4 | |
with: | |
name: ACE_TAO_w19_p1_stat_js0_artifact | |
path: OpenDDS/ACE_TAO | |
- name: extract ACE_TAO artifact | |
shell: bash | |
run: | | |
cd OpenDDS/ACE_TAO | |
tar xvfJ ACE_TAO_w19_p1_stat_js0.tar.xz | |
rm -f ACE_TAO_w19_p1_stat_js0.tar.xz | |
- name: download OpenDDS artifact | |
uses: actions/download-artifact@v4 | |
with: | |
name: build_w19_p1_stat_js0_artifact | |
path: OpenDDS | |
- name: extract OpenDDS artifact | |
shell: bash | |
run: | | |
cd OpenDDS | |
tar xvfJ build_w19_p1_stat_js0.tar.xz | |
rm -f build_w19_p1_stat_js0.tar.xz | |
- name: set up msvc env | |
uses: ilammy/msvc-dev-cmd@v1 | |
- uses: ammaraskar/[email protected] | |
- name: Build CMake Tests | |
shell: cmd | |
run: | | |
cd OpenDDS | |
call setenv.cmd | |
mkdir tests\cmake\build | |
cd tests\cmake\build | |
cmake .. | |
cmake --build . | |
- name: check build configuration | |
shell: cmd | |
run: | | |
cd OpenDDS | |
call setenv.cmd | |
perl tools\scripts\show_build_config.pl | |
- name: create autobuild config | |
shell: bash | |
run: | | |
cd OpenDDS | |
mkdir ${{ github.job }}_autobuild_workspace | |
cd ${{ github.job }}_autobuild_workspace | |
export FS_GHW=$(echo $GITHUB_WORKSPACE | sed 's/\\/\//g') | |
echo using commit $TRIGGERING_COMMIT for SHA | |
echo $TRIGGERING_COMMIT >> ./SHA | |
cat > config.xml <<EOF | |
<autobuild> | |
<configuration> | |
<variable name="log_file" value="output"/> | |
<variable name="log_root" value="$FS_GHW/OpenDDS/${{ github.job }}_autobuild_workspace/logs"/> | |
<variable name="project_root" value="$FS_GHW/OpenDDS"/> | |
<variable name="root" value="$FS_GHW/OpenDDS/${{ github.job }}_autobuild_workspace"/> | |
<variable name="junit_xml_output" value="Tests"/> | |
</configuration> | |
<command name="log" options="on"/> | |
<command name="print_os_version"/> | |
<command name="print_ace_config"/> | |
<command name="print_cmake_version"/> | |
<command name="print_make_version"/> | |
<command name="check_compiler" options="msvc"/> | |
<command name="print_perl_version"/> | |
<command name="print_autobuild_config"/> | |
<command name="auto_run_tests" options="script_path=tests dir=$FS_GHW/OpenDDS --no-dcps --cmake"/> | |
<command name="log" options="off"/> | |
<command name="process_logs" options="move prettify index"/> | |
</autobuild> | |
EOF | |
cat config.xml | |
- name: run OpenDDS tests | |
shell: cmd | |
run: | | |
cd OpenDDS | |
call setenv.cmd | |
cd ${{ github.job }}_autobuild_workspace | |
perl "${{ github.workspace }}\autobuild\autobuild.pl" "${{ github.workspace }}\OpenDDS\${{ github.job }}_autobuild_workspace\config.xml" | |
- name: upload autobuild output | |
uses: actions/upload-artifact@v4 | |
with: | |
name: ${{ github.job }}_autobuild_output | |
path: OpenDDS\${{ github.job }}_autobuild_workspace | |
- name: Authenticate to Google Cloud | |
uses: google-github-actions/auth@v2 | |
with: | |
workload_identity_provider: projects/30587790497/locations/global/workloadIdentityPools/gha-scoreboard-upload/providers/gha-provider | |
service_account: [email protected] | |
if: ${{ github.repository == 'OpenDDS/OpenDDS' && github.ref == env.SCOREBOARD_UPLOAD_BRANCH }} | |
- name: get OpenDDS version | |
shell: bash | |
run: | | |
cd OpenDDS | |
echo "OPENDDS_MAJOR_VERSION=$(grep '#define OPENDDS_MAJOR_VERSION' dds/Version.h | cut -d' ' -f3)" >> $GITHUB_ENV | |
- name: upload to Google Cloud | |
uses: 'google-github-actions/upload-cloud-storage@v2' | |
with: | |
path: OpenDDS/${{ github.job }}_autobuild_workspace/logs | |
destination: opendds-gha-scoreboard-uploads/${{ env.OPENDDS_MAJOR_VERSION }}/${{ github.job }} | |
parent: false | |
process_gcloudignore: false | |
if: ${{ github.repository == 'OpenDDS/OpenDDS' && github.ref == env.SCOREBOARD_UPLOAD_BRANCH }} | |
- name: check results | |
shell: bash | |
run: | | |
$GITHUB_WORKSPACE/OpenDDS/tools/scripts/autobuild_brief_html_to_text.pl "$GITHUB_WORKSPACE/OpenDDS/${{ github.job }}_autobuild_workspace/logs/"*_Brief.html | |
cat "$GITHUB_WORKSPACE/OpenDDS/${{ github.job }}_autobuild_workspace/logs/latest.txt" | |
grep -q 'Failures: 0' "$GITHUB_WORKSPACE/OpenDDS/${{ github.job }}_autobuild_workspace/logs/latest.txt" | |
messenger_w19_p1_stat_js0: | |
runs-on: windows-2019 | |
needs: build_w19_p1_stat_js0 | |
permissions: | |
contents: read | |
id-token: write | |
steps: | |
- name: setup for run-vcpkg | |
shell: bash | |
run: | | |
echo '{ "name": "opendds", "version-string": "github-actions", "dependencies": [ "openssl", "xerces-c" ] }' > vcpkg.json | |
- name: install openssl & xerces-c | |
uses: lukka/run-vcpkg@v11 | |
with: | |
vcpkgGitCommitId: '${{ env.VCPKG_GIT_COMMIT }}' | |
runVcpkgInstall: true | |
- name: checkout MPC | |
uses: actions/checkout@v4 | |
with: | |
repository: DOCGroup/MPC | |
path: MPC | |
- name: checkout autobuild | |
uses: actions/checkout@v4 | |
with: | |
repository: DOCGroup/autobuild | |
path: autobuild | |
- name: checkout OpenDDS | |
uses: actions/checkout@v4 | |
with: | |
path: OpenDDS | |
submodules: true | |
- name: checkout ACE_TAO | |
uses: actions/checkout@v4 | |
with: | |
repository: DOCGroup/ACE_TAO | |
ref: ace6tao2 | |
path: OpenDDS/ACE_TAO | |
- name: download ACE_TAO artifact | |
uses: actions/download-artifact@v4 | |
with: | |
name: ACE_TAO_w19_p1_stat_js0_artifact | |
path: OpenDDS/ACE_TAO | |
- name: extract ACE_TAO artifact | |
shell: bash | |
run: | | |
cd OpenDDS/ACE_TAO | |
tar xvfJ ACE_TAO_w19_p1_stat_js0.tar.xz | |
rm -f ACE_TAO_w19_p1_stat_js0.tar.xz | |
- name: download OpenDDS artifact | |
uses: actions/download-artifact@v4 | |
with: | |
name: build_w19_p1_stat_js0_artifact | |
path: OpenDDS | |
- name: extract OpenDDS artifact | |
shell: bash | |
run: | | |
cd OpenDDS | |
tar xvfJ build_w19_p1_stat_js0.tar.xz | |
rm -f build_w19_p1_stat_js0.tar.xz | |
- name: set up msvc env | |
uses: ilammy/msvc-dev-cmd@v1 | |
- name: setup gtest | |
shell: cmd | |
run: | | |
cd OpenDDS/tests/googletest | |
git submodule init | |
git submodule update | |
mkdir build | |
cd build | |
mkdir install | |
cmake -DCMAKE_INSTALL_PREFIX=./install .. | |
cmake --build . --target install | |
- name: check build configuration | |
shell: cmd | |
run: | | |
cd OpenDDS | |
call setenv.cmd | |
perl tools\scripts\show_build_config.pl | |
- name: configure messenger tests | |
shell: cmd | |
run: | | |
cd OpenDDS | |
call setenv.cmd | |
cd tests\DCPS\Messenger | |
perl %ACE_ROOT%\bin\mwc.pl -type vs2019 -static -features no_rapidjson=1 -features ipv6=1 -features ssl=1 -features no_cxx11=0 | |
- uses: ammaraskar/[email protected] | |
- name: make messenger tests | |
shell: cmd | |
run: | | |
cd OpenDDS | |
call setenv.cmd | |
cd tests\DCPS\Messenger | |
msbuild -p:Configuration=Debug,Platform=x64 -m Messenger.sln | |
- name: configure C++11 messenger test | |
shell: cmd | |
run: | | |
cd OpenDDS | |
call setenv.cmd | |
cd tests\DCPS\C++11 | |
perl %ACE_ROOT%\bin\mwc.pl -type vs2019 -static -features no_rapidjson=1 -features ipv6=1 -features ssl=1 -features no_cxx11=0 | |
- name: make C++11 messenger test | |
shell: cmd | |
run: | | |
cd OpenDDS | |
call setenv.cmd | |
cd tests\DCPS\C++11 | |
msbuild -p:Configuration=Debug,Platform=x64 -m C++11.sln | |
- name: create autobuild config | |
shell: bash | |
run: | | |
cd OpenDDS | |
mkdir ${{ github.job }}_autobuild_workspace | |
cd ${{ github.job }}_autobuild_workspace | |
export FS_GHW=$(echo $GITHUB_WORKSPACE | sed 's/\\/\//g') | |
echo using commit $TRIGGERING_COMMIT for SHA | |
echo $TRIGGERING_COMMIT >> ./SHA | |
cat > config.xml <<EOF | |
<autobuild> | |
<configuration> | |
<variable name="log_file" value="output"/> | |
<variable name="log_root" value="$FS_GHW/OpenDDS/${{ github.job }}_autobuild_workspace/logs"/> | |
<variable name="project_root" value="$FS_GHW/OpenDDS"/> | |
<variable name="root" value="$FS_GHW/OpenDDS/${{ github.job }}_autobuild_workspace"/> | |
<variable name="junit_xml_output" value="Tests"/> | |
</configuration> | |
<command name="log" options="on"/> | |
<command name="print_os_version"/> | |
<command name="print_ace_config"/> | |
<command name="print_make_version"/> | |
<command name="check_compiler" options="msvc"/> | |
<command name="print_perl_version"/> | |
<command name="print_autobuild_config"/> | |
<command name="auto_run_tests" options="script_path=tests dir=$FS_GHW/OpenDDS tests\core_ci_tests.lst -ExeSubDir Static_Debug -Config STATIC_MESSENGER -Config IPV6 -Config XERCES3 -Config CXX11 -Config NO_UNIT_TESTS"/> | |
<command name="log" options="off"/> | |
<command name="process_logs" options="move prettify index"/> | |
</autobuild> | |
EOF | |
cat config.xml | |
- name: run OpenDDS tests | |
shell: cmd | |
run: | | |
cd OpenDDS | |
call setenv.cmd | |
cd ${{ github.job }}_autobuild_workspace | |
perl "${{ github.workspace }}\autobuild\autobuild.pl" "${{ github.workspace }}\OpenDDS\${{ github.job }}_autobuild_workspace\config.xml" | |
- name: upload autobuild output | |
uses: actions/upload-artifact@v4 | |
with: | |
name: ${{ github.job }}_autobuild_output | |
path: OpenDDS\${{ github.job }}_autobuild_workspace | |
- name: Authenticate to Google Cloud | |
uses: google-github-actions/auth@v2 | |
with: | |
workload_identity_provider: projects/30587790497/locations/global/workloadIdentityPools/gha-scoreboard-upload/providers/gha-provider | |
service_account: [email protected] | |
if: ${{ github.repository == 'OpenDDS/OpenDDS' && github.ref == env.SCOREBOARD_UPLOAD_BRANCH }} | |
- name: get OpenDDS version | |
shell: bash | |
run: | | |
cd OpenDDS | |
echo "OPENDDS_MAJOR_VERSION=$(grep '#define OPENDDS_MAJOR_VERSION' dds/Version.h | cut -d' ' -f3)" >> $GITHUB_ENV | |
- name: upload to Google Cloud | |
uses: 'google-github-actions/upload-cloud-storage@v2' | |
with: | |
path: OpenDDS/${{ github.job }}_autobuild_workspace/logs | |
destination: opendds-gha-scoreboard-uploads/${{ env.OPENDDS_MAJOR_VERSION }}/${{ github.job }} | |
parent: false | |
process_gcloudignore: false | |
if: ${{ github.repository == 'OpenDDS/OpenDDS' && github.ref == env.SCOREBOARD_UPLOAD_BRANCH }} | |
- name: check results | |
shell: bash | |
run: | | |
$GITHUB_WORKSPACE/OpenDDS/tools/scripts/autobuild_brief_html_to_text.pl "$GITHUB_WORKSPACE/OpenDDS/${{ github.job }}_autobuild_workspace/logs/"*_Brief.html | |
cat "$GITHUB_WORKSPACE/OpenDDS/${{ github.job }}_autobuild_workspace/logs/latest.txt" | |
grep -q 'Failures: 0' "$GITHUB_WORKSPACE/OpenDDS/${{ github.job }}_autobuild_workspace/logs/latest.txt" | |
compiler_w19_p1_stat_js0: | |
runs-on: windows-2019 | |
needs: build_w19_p1_stat_js0 | |
permissions: | |
contents: read | |
id-token: write | |
steps: | |
- name: checkout MPC | |
uses: actions/checkout@v4 | |
with: | |
repository: DOCGroup/MPC | |
path: MPC | |
- name: checkout autobuild | |
uses: actions/checkout@v4 | |
with: | |
repository: DOCGroup/autobuild | |
path: autobuild | |
- name: checkout OpenDDS | |
uses: actions/checkout@v4 | |
with: | |
path: OpenDDS | |
submodules: true | |
- name: checkout ACE_TAO | |
uses: actions/checkout@v4 | |
with: | |
repository: DOCGroup/ACE_TAO | |
ref: ace6tao2 | |
path: OpenDDS/ACE_TAO | |
- name: download ACE_TAO artifact | |
uses: actions/download-artifact@v4 | |
with: | |
name: ACE_TAO_w19_p1_stat_js0_artifact | |
path: OpenDDS/ACE_TAO | |
- name: extract ACE_TAO artifact | |
shell: bash | |
run: | | |
cd OpenDDS/ACE_TAO | |
tar xvfJ ACE_TAO_w19_p1_stat_js0.tar.xz | |
rm -f ACE_TAO_w19_p1_stat_js0.tar.xz | |
- name: download OpenDDS artifact | |
uses: actions/download-artifact@v4 | |
with: | |
name: build_w19_p1_stat_js0_artifact | |
path: OpenDDS | |
- name: extract OpenDDS artifact | |
shell: bash | |
run: | | |
cd OpenDDS | |
tar xvfJ build_w19_p1_stat_js0.tar.xz | |
rm -f build_w19_p1_stat_js0.tar.xz | |
- name: set up msvc env | |
uses: ilammy/msvc-dev-cmd@v1 | |
- name: setup gtest | |
shell: cmd | |
run: | | |
cd OpenDDS/tests/googletest | |
git submodule init | |
git submodule update | |
mkdir build | |
cd build | |
mkdir install | |
cmake -DCMAKE_INSTALL_PREFIX=./install .. | |
cmake --build . --target install | |
- name: check build configuration | |
shell: cmd | |
run: | | |
cd OpenDDS | |
call setenv.cmd | |
perl tools\scripts\show_build_config.pl | |
- name: configure compiler tests | |
shell: cmd | |
run: | | |
cd OpenDDS | |
call setenv.cmd | |
cd tests\DCPS\Compiler | |
rm -rf key_annotation | |
rm -rf keywords | |
rm -rf namespace_conflict | |
rm -rf vread_vwrite | |
rm -rf sequence_conflict | |
rm -rf TryConstruct | |
rm -rf typecode | |
rm -rf typeobject_hash_consistency | |
rm -rf underscore_fields | |
rm -rf xcdr | |
rm -rf XTypesExtensibility | |
perl %ACE_ROOT%\bin\mwc.pl -type vs2019 -static -features no_rapidjson=1 -features ipv6=1 -features no_cxx11=0 | |
- uses: ammaraskar/[email protected] | |
- name: make compiler tests | |
shell: cmd | |
run: | | |
cd OpenDDS | |
call setenv.cmd | |
cd tests\DCPS\Compiler | |
dir | |
msbuild -p:Configuration=Debug,Platform=x64 -m Compiler.sln | |
- name: create autobuild config | |
shell: bash | |
run: | | |
cd OpenDDS | |
mkdir ${{ github.job }}_autobuild_workspace | |
cd ${{ github.job }}_autobuild_workspace | |
export FS_GHW=$(echo $GITHUB_WORKSPACE | sed 's/\\/\//g') | |
echo using commit $TRIGGERING_COMMIT for SHA | |
echo $TRIGGERING_COMMIT >> ./SHA | |
cat > config.xml <<EOF | |
<autobuild> | |
<configuration> | |
<variable name="log_file" value="output"/> | |
<variable name="log_root" value="$FS_GHW/OpenDDS/${{ github.job }}_autobuild_workspace/logs"/> | |
<variable name="project_root" value="$FS_GHW/OpenDDS"/> | |
<variable name="root" value="$FS_GHW/OpenDDS/${{ github.job }}_autobuild_workspace"/> | |
<variable name="junit_xml_output" value="Tests"/> | |
</configuration> | |
<command name="log" options="on"/> | |
<command name="print_os_version"/> | |
<command name="print_ace_config"/> | |
<command name="print_make_version"/> | |
<command name="check_compiler" options="msvc"/> | |
<command name="print_perl_version"/> | |
<command name="print_autobuild_config"/> | |
<command name="auto_run_tests" options="script_path=tests dir=$FS_GHW/OpenDDS tests\core_ci_tests.lst -ExeSubDir Static_Debug -Config STATIC_COMPILER -Config IPV6 -Config XERCES3 -Config CXX11 -Config NO_UNIT_TESTS"/> | |
<command name="log" options="off"/> | |
<command name="process_logs" options="move prettify index"/> | |
</autobuild> | |
EOF | |
cat config.xml | |
- name: run OpenDDS tests | |
shell: cmd | |
run: | | |
cd OpenDDS | |
call setenv.cmd | |
cd ${{ github.job }}_autobuild_workspace | |
perl "${{ github.workspace }}\autobuild\autobuild.pl" "${{ github.workspace }}\OpenDDS\${{ github.job }}_autobuild_workspace\config.xml" | |
- name: upload autobuild output | |
uses: actions/upload-artifact@v4 | |
with: | |
name: ${{ github.job }}_autobuild_output | |
path: OpenDDS\${{ github.job }}_autobuild_workspace | |
- name: Authenticate to Google Cloud | |
uses: google-github-actions/auth@v2 | |
with: | |
workload_identity_provider: projects/30587790497/locations/global/workloadIdentityPools/gha-scoreboard-upload/providers/gha-provider | |
service_account: [email protected] | |
if: ${{ github.repository == 'OpenDDS/OpenDDS' && github.ref == env.SCOREBOARD_UPLOAD_BRANCH }} | |
- name: get OpenDDS version | |
shell: bash | |
run: | | |
cd OpenDDS | |
echo "OPENDDS_MAJOR_VERSION=$(grep '#define OPENDDS_MAJOR_VERSION' dds/Version.h | cut -d' ' -f3)" >> $GITHUB_ENV | |
- name: upload to Google Cloud | |
uses: 'google-github-actions/upload-cloud-storage@v2' | |
with: | |
path: OpenDDS/${{ github.job }}_autobuild_workspace/logs | |
destination: opendds-gha-scoreboard-uploads/${{ env.OPENDDS_MAJOR_VERSION }}/${{ github.job }} | |
parent: false | |
process_gcloudignore: false | |
if: ${{ github.repository == 'OpenDDS/OpenDDS' && github.ref == env.SCOREBOARD_UPLOAD_BRANCH }} | |
- name: check results | |
shell: bash | |
run: | | |
$GITHUB_WORKSPACE/OpenDDS/tools/scripts/autobuild_brief_html_to_text.pl "$GITHUB_WORKSPACE/OpenDDS/${{ github.job }}_autobuild_workspace/logs/"*_Brief.html | |
cat "$GITHUB_WORKSPACE/OpenDDS/${{ github.job }}_autobuild_workspace/logs/latest.txt" | |
grep -q 'Failures: 0' "$GITHUB_WORKSPACE/OpenDDS/${{ github.job }}_autobuild_workspace/logs/latest.txt" | |
compiler2_w19_p1_stat_js0: | |
runs-on: windows-2019 | |
needs: build_w19_p1_stat_js0 | |
permissions: | |
contents: read | |
id-token: write | |
steps: | |
- name: checkout MPC | |
uses: actions/checkout@v4 | |
with: | |
repository: DOCGroup/MPC | |
path: MPC | |
- name: checkout autobuild | |
uses: actions/checkout@v4 | |
with: | |
repository: DOCGroup/autobuild | |
path: autobuild | |
- name: checkout OpenDDS | |
uses: actions/checkout@v4 | |
with: | |
path: OpenDDS | |
submodules: true | |
- name: checkout ACE_TAO | |
uses: actions/checkout@v4 | |
with: | |
repository: DOCGroup/ACE_TAO | |
ref: ace6tao2 | |
path: OpenDDS/ACE_TAO | |
- name: download ACE_TAO artifact | |
uses: actions/download-artifact@v4 | |
with: | |
name: ACE_TAO_w19_p1_stat_js0_artifact | |
path: OpenDDS/ACE_TAO | |
- name: extract ACE_TAO artifact | |
shell: bash | |
run: | | |
cd OpenDDS/ACE_TAO | |
tar xvfJ ACE_TAO_w19_p1_stat_js0.tar.xz | |
rm -f ACE_TAO_w19_p1_stat_js0.tar.xz | |
- name: download OpenDDS artifact | |
uses: actions/download-artifact@v4 | |
with: | |
name: build_w19_p1_stat_js0_artifact | |
path: OpenDDS | |
- name: extract OpenDDS artifact | |
shell: bash | |
run: | | |
cd OpenDDS | |
tar xvfJ build_w19_p1_stat_js0.tar.xz | |
rm -f build_w19_p1_stat_js0.tar.xz | |
- name: set up msvc env | |
uses: ilammy/msvc-dev-cmd@v1 | |
- name: setup gtest | |
shell: cmd | |
run: | | |
cd OpenDDS/tests/googletest | |
git submodule init | |
git submodule update | |
mkdir build | |
cd build | |
mkdir install | |
cmake -DCMAKE_INSTALL_PREFIX=./install .. | |
cmake --build . --target install | |
- name: check build configuration | |
shell: cmd | |
run: | | |
cd OpenDDS | |
call setenv.cmd | |
perl tools\scripts\show_build_config.pl | |
- name: configure compiler tests | |
shell: cmd | |
run: | | |
cd OpenDDS | |
call setenv.cmd | |
cd tests\DCPS\Compiler | |
rm -rf anonymous_types | |
rm -rf C++11 | |
rm -rf char_literals | |
rm -rf explicit_ints | |
rm -rf idl_test1_lib | |
rm -rf idl_test1_main | |
rm -rf idl_test2_lib | |
rm -rf idl_test2_main | |
rm -rf idl_test3_lib | |
rm -rf idl_test3_main | |
rm -rf idl_test_nested_types_lib | |
rm -rf isolated_types | |
rm -rf is_topic_type | |
perl %ACE_ROOT%\bin\mwc.pl -type vs2019 -static -features no_rapidjson=1 -features ipv6=1 -features no_cxx11=0 | |
- uses: ammaraskar/[email protected] | |
- name: make compiler tests | |
shell: cmd | |
run: | | |
cd OpenDDS | |
call setenv.cmd | |
cd tests\DCPS\Compiler | |
dir | |
msbuild -p:Configuration=Debug,Platform=x64 -m Compiler.sln | |
- name: create autobuild config | |
shell: bash | |
run: | | |
cd OpenDDS | |
mkdir ${{ github.job }}_autobuild_workspace | |
cd ${{ github.job }}_autobuild_workspace | |
export FS_GHW=$(echo $GITHUB_WORKSPACE | sed 's/\\/\//g') | |
echo using commit $TRIGGERING_COMMIT for SHA | |
echo $TRIGGERING_COMMIT >> ./SHA | |
cat > config.xml <<EOF | |
<autobuild> | |
<configuration> | |
<variable name="log_file" value="output"/> | |
<variable name="log_root" value="$FS_GHW/OpenDDS/${{ github.job }}_autobuild_workspace/logs"/> | |
<variable name="project_root" value="$FS_GHW/OpenDDS"/> | |
<variable name="root" value="$FS_GHW/OpenDDS/${{ github.job }}_autobuild_workspace"/> | |
<variable name="junit_xml_output" value="Tests"/> | |
</configuration> | |
<command name="log" options="on"/> | |
<command name="print_os_version"/> | |
<command name="print_ace_config"/> | |
<command name="print_make_version"/> | |
<command name="check_compiler" options="msvc"/> | |
<command name="print_perl_version"/> | |
<command name="print_autobuild_config"/> | |
<command name="auto_run_tests" options="script_path=tests dir=$FS_GHW/OpenDDS tests\core_ci_tests.lst -ExeSubDir Static_Debug -Config STATIC_COMPILER2 -Config IPV6 -Config XERCES3 -Config CXX11 -Config NO_UNIT_TESTS"/> | |
<command name="log" options="off"/> | |
<command name="process_logs" options="move prettify index"/> | |
</autobuild> | |
EOF | |
cat config.xml | |
- name: run OpenDDS tests | |
shell: cmd | |
run: | | |
cd OpenDDS | |
call setenv.cmd | |
cd ${{ github.job }}_autobuild_workspace | |
perl "${{ github.workspace }}\autobuild\autobuild.pl" "${{ github.workspace }}\OpenDDS\${{ github.job }}_autobuild_workspace\config.xml" | |
- name: upload autobuild output | |
uses: actions/upload-artifact@v4 | |
with: | |
name: ${{ github.job }}_autobuild_output | |
path: OpenDDS\${{ github.job }}_autobuild_workspace | |
- name: Authenticate to Google Cloud | |
uses: google-github-actions/auth@v2 | |
with: | |
workload_identity_provider: projects/30587790497/locations/global/workloadIdentityPools/gha-scoreboard-upload/providers/gha-provider | |
service_account: [email protected] | |
if: ${{ github.repository == 'OpenDDS/OpenDDS' && github.ref == env.SCOREBOARD_UPLOAD_BRANCH }} | |
- name: get OpenDDS version | |
shell: bash | |
run: | | |
cd OpenDDS | |
echo "OPENDDS_MAJOR_VERSION=$(grep '#define OPENDDS_MAJOR_VERSION' dds/Version.h | cut -d' ' -f3)" >> $GITHUB_ENV | |
- name: upload to Google Cloud | |
uses: 'google-github-actions/upload-cloud-storage@v2' | |
with: | |
path: OpenDDS/${{ github.job }}_autobuild_workspace/logs | |
destination: opendds-gha-scoreboard-uploads/${{ env.OPENDDS_MAJOR_VERSION }}/${{ github.job }} | |
parent: false | |
process_gcloudignore: false | |
if: ${{ github.repository == 'OpenDDS/OpenDDS' && github.ref == env.SCOREBOARD_UPLOAD_BRANCH }} | |
- name: check results | |
shell: bash | |
run: | | |
$GITHUB_WORKSPACE/OpenDDS/tools/scripts/autobuild_brief_html_to_text.pl "$GITHUB_WORKSPACE/OpenDDS/${{ github.job }}_autobuild_workspace/logs/"*_Brief.html | |
cat "$GITHUB_WORKSPACE/OpenDDS/${{ github.job }}_autobuild_workspace/logs/latest.txt" | |
grep -q 'Failures: 0' "$GITHUB_WORKSPACE/OpenDDS/${{ github.job }}_autobuild_workspace/logs/latest.txt" | |
unit_w19_p1_stat_js0: | |
runs-on: windows-2019 | |
needs: build_w19_p1_stat_js0 | |
permissions: | |
contents: read | |
id-token: write | |
steps: | |
- name: setup for run-vcpkg | |
shell: bash | |
run: | | |
echo '{ "name": "opendds", "version-string": "github-actions", "dependencies": [ "openssl", "xerces-c" ] }' > vcpkg.json | |
- name: install openssl & xerces-c | |
uses: lukka/run-vcpkg@v11 | |
with: | |
vcpkgGitCommitId: '${{ env.VCPKG_GIT_COMMIT }}' | |
runVcpkgInstall: true | |
- name: checkout MPC | |
uses: actions/checkout@v4 | |
with: | |
repository: DOCGroup/MPC | |
path: MPC | |
- name: checkout autobuild | |
uses: actions/checkout@v4 | |
with: | |
repository: DOCGroup/autobuild | |
path: autobuild | |
- name: checkout OpenDDS | |
uses: actions/checkout@v4 | |
with: | |
path: OpenDDS | |
submodules: true | |
- name: checkout ACE_TAO | |
uses: actions/checkout@v4 | |
with: | |
repository: DOCGroup/ACE_TAO | |
ref: ace6tao2 | |
path: OpenDDS/ACE_TAO | |
- name: download ACE_TAO artifact | |
uses: actions/download-artifact@v4 | |
with: | |
name: ACE_TAO_w19_p1_stat_js0_artifact | |
path: OpenDDS/ACE_TAO | |
- name: extract ACE_TAO artifact | |
shell: bash | |
run: | | |
cd OpenDDS/ACE_TAO | |
tar xvfJ ACE_TAO_w19_p1_stat_js0.tar.xz | |
rm -f ACE_TAO_w19_p1_stat_js0.tar.xz | |
- name: download OpenDDS artifact | |
uses: actions/download-artifact@v4 | |
with: | |
name: build_w19_p1_stat_js0_artifact | |
path: OpenDDS | |
- name: extract OpenDDS artifact | |
shell: bash | |
run: | | |
cd OpenDDS | |
tar xvfJ build_w19_p1_stat_js0.tar.xz | |
rm -f build_w19_p1_stat_js0.tar.xz | |
- name: set up msvc env | |
uses: ilammy/msvc-dev-cmd@v1 | |
- name: setup gtest | |
shell: cmd | |
run: | | |
cd OpenDDS/tests/googletest | |
git submodule init | |
git submodule update | |
mkdir build | |
cd build | |
mkdir install | |
cmake -DCMAKE_INSTALL_PREFIX=./install .. | |
cmake --build . --target install | |
- name: check build configuration | |
shell: cmd | |
run: | | |
cd OpenDDS | |
call setenv.cmd | |
perl tools\scripts\show_build_config.pl | |
- name: configure unit tests | |
shell: cmd | |
run: | | |
cd OpenDDS | |
call setenv.cmd | |
cd tests\unit-tests | |
perl %ACE_ROOT%\bin\mwc.pl -type vs2019 -static -features no_rapidjson=1 -features ipv6=1 -features ssl=1 -features no_cxx11=0 | |
- uses: ammaraskar/[email protected] | |
- name: make unit tests | |
shell: cmd | |
run: | | |
cd OpenDDS | |
call setenv.cmd | |
cd tests\unit-tests | |
msbuild -p:Configuration=Debug,Platform=x64 -m unit_tests.sln | |
- name: create autobuild config | |
shell: bash | |
run: | | |
cd OpenDDS | |
mkdir ${{ github.job }}_autobuild_workspace | |
cd ${{ github.job }}_autobuild_workspace | |
export FS_GHW=$(echo $GITHUB_WORKSPACE | sed 's/\\/\//g') | |
echo using commit $TRIGGERING_COMMIT for SHA | |
echo $TRIGGERING_COMMIT >> ./SHA | |
cat > config.xml <<EOF | |
<autobuild> | |
<configuration> | |
<variable name="log_file" value="output"/> | |
<variable name="log_root" value="$FS_GHW/OpenDDS/${{ github.job }}_autobuild_workspace/logs"/> | |
<variable name="project_root" value="$FS_GHW/OpenDDS"/> | |
<variable name="root" value="$FS_GHW/OpenDDS/${{ github.job }}_autobuild_workspace"/> | |
<variable name="junit_xml_output" value="Tests"/> | |
</configuration> | |
<command name="log" options="on"/> | |
<command name="print_os_version"/> | |
<command name="print_ace_config"/> | |
<command name="print_make_version"/> | |
<command name="check_compiler" options="msvc"/> | |
<command name="print_perl_version"/> | |
<command name="print_autobuild_config"/> | |
<command name="auto_run_tests" options="script_path=tests dir=$FS_GHW/OpenDDS tests\core_ci_tests.lst -ExeSubDir Static_Debug -Config STATIC_UNIT_TESTS -Config IPV6 -Config XERCES3 -Config CXX11"/> | |
<command name="log" options="off"/> | |
<command name="process_logs" options="move prettify index"/> | |
</autobuild> | |
EOF | |
cat config.xml | |
- name: run OpenDDS tests | |
shell: cmd | |
run: | | |
cd OpenDDS | |
call setenv.cmd | |
cd ${{ github.job }}_autobuild_workspace | |
perl "${{ github.workspace }}\autobuild\autobuild.pl" "${{ github.workspace }}\OpenDDS\${{ github.job }}_autobuild_workspace\config.xml" | |
- name: upload autobuild output | |
uses: actions/upload-artifact@v4 | |
with: | |
name: ${{ github.job }}_autobuild_output | |
path: OpenDDS\${{ github.job }}_autobuild_workspace | |
- name: Authenticate to Google Cloud | |
uses: google-github-actions/auth@v2 | |
with: | |
workload_identity_provider: projects/30587790497/locations/global/workloadIdentityPools/gha-scoreboard-upload/providers/gha-provider | |
service_account: [email protected] | |
if: ${{ github.repository == 'OpenDDS/OpenDDS' && github.ref == env.SCOREBOARD_UPLOAD_BRANCH }} | |
- name: get OpenDDS version | |
shell: bash | |
run: | | |
cd OpenDDS | |
echo "OPENDDS_MAJOR_VERSION=$(grep '#define OPENDDS_MAJOR_VERSION' dds/Version.h | cut -d' ' -f3)" >> $GITHUB_ENV | |
- name: upload to Google Cloud | |
uses: 'google-github-actions/upload-cloud-storage@v2' | |
with: | |
path: OpenDDS/${{ github.job }}_autobuild_workspace/logs | |
destination: opendds-gha-scoreboard-uploads/${{ env.OPENDDS_MAJOR_VERSION }}/${{ github.job }} | |
parent: false | |
process_gcloudignore: false | |
if: ${{ github.repository == 'OpenDDS/OpenDDS' && github.ref == env.SCOREBOARD_UPLOAD_BRANCH }} | |
- name: check results | |
shell: bash | |
run: | | |
$GITHUB_WORKSPACE/OpenDDS/tools/scripts/autobuild_brief_html_to_text.pl "$GITHUB_WORKSPACE/OpenDDS/${{ github.job }}_autobuild_workspace/logs/"*_Brief.html | |
cat "$GITHUB_WORKSPACE/OpenDDS/${{ github.job }}_autobuild_workspace/logs/latest.txt" | |
grep -q 'Failures: 0' "$GITHUB_WORKSPACE/OpenDDS/${{ github.job }}_autobuild_workspace/logs/latest.txt" | |
ACE_TAO_w19_re_p1_stat_FM-08: | |
runs-on: windows-2019 | |
steps: | |
- name: checkout OpenDDS | |
uses: actions/checkout@v4 | |
with: | |
path: OpenDDS | |
submodules: true | |
- name: checkout ACE_TAO | |
uses: actions/checkout@v4 | |
with: | |
repository: DOCGroup/ACE_TAO | |
ref: ace6tao2 | |
path: OpenDDS/ACE_TAO | |
- name: get ACE_TAO commit | |
shell: bash | |
run: | | |
cd OpenDDS/ACE_TAO | |
export ACE_COMMIT=$(git rev-parse HEAD) | |
echo "ACE_COMMIT=$ACE_COMMIT" >> $GITHUB_ENV | |
- name: get compiler version | |
shell: bash | |
run: | | |
export COMPILER_VERSION=$("C:\Program Files (x86)\Microsoft Visual Studio\Installer\vswhere.exe" -property catalog_productDisplayVersion) | |
echo "COMPILER_VERSION=$COMPILER_VERSION" >> $GITHUB_ENV | |
- name: Cache Artifact | |
id: cache-artifact | |
uses: actions/cache@v4 | |
with: | |
path: ${{ github.job }}.tar.xz | |
key: c01_${{ github.job }}_ace6tao2_${{ env.ACE_COMMIT }}_${{ env.COMPILER_VERSION }} | |
- name: setup for run-vcpkg | |
if: steps.cache-artifact.outputs.cache-hit != 'true' | |
shell: bash | |
run: | | |
echo '{ "name": "opendds", "version-string": "github-actions", "dependencies": [ "openssl", "xerces-c" ] }' > vcpkg.json | |
- name: install openssl & xerces-c | |
if: steps.cache-artifact.outputs.cache-hit != 'true' | |
uses: lukka/run-vcpkg@v11 | |
with: | |
vcpkgGitCommitId: '${{ env.VCPKG_GIT_COMMIT }}' | |
runVcpkgInstall: true | |
- name: checkout MPC | |
if: steps.cache-artifact.outputs.cache-hit != 'true' | |
uses: actions/checkout@v4 | |
with: | |
repository: DOCGroup/MPC | |
path: MPC | |
- name: set up msvc env | |
if: steps.cache-artifact.outputs.cache-hit != 'true' | |
uses: ilammy/msvc-dev-cmd@v1 | |
- name: configure OpenDDS | |
if: steps.cache-artifact.outputs.cache-hit != 'true' | |
shell: cmd | |
run: | | |
cd OpenDDS | |
configure --ipv6 --static --rapidjson --no-built-in-topics --no-content-subscription --no-ownership-profile --no-object-model-profile --no-persistence-profile --ace=${{ github.workspace }}/OpenDDS/ACE_TAO/ACE --tao=${{ github.workspace }}/OpenDDS/ACE_TAO/TAO --mpc=${{ github.workspace }}/MPC --xerces3=${{ env.VCPKG_INSTALLED_DIR }}/x64-windows --openssl=${{ env.VCPKG_INSTALLED_DIR }}/x64-windows --mpcopts=-hierarchy --compile-warnings=WARNING | |
- name: build ACE & TAO | |
if: steps.cache-artifact.outputs.cache-hit != 'true' | |
shell: cmd | |
run: | | |
cd OpenDDS | |
call setenv.cmd | |
cd ACE_TAO\ACE | |
msbuild -p:Configuration=Release,Platform=x64 -m ace.sln | |
cd ..\TAO | |
msbuild -p:Configuration=Release,Platform=x64 -m tao.sln | |
- name: create ACE_TAO tar.xz artifact | |
if: steps.cache-artifact.outputs.cache-hit != 'true' | |
shell: bash | |
run: | | |
cd OpenDDS/ACE_TAO | |
perl -ni.bak -e "print unless /opendds/" ACE/bin/MakeProjectCreator/config/default.features # remove opendds features from here, let individual build configure scripts handle those | |
find . -iname "*\.obj" | xargs rm | |
tar cvf ../../${{ github.job }}.tar ACE/ace/config.h | |
git clean -xdfn | cut -d ' ' -f 3- | xargs tar uvf ../../${{ github.job }}.tar | |
xz -3 ../../${{ github.job }}.tar | |
- name: upload ACE_TAO artifact | |
uses: actions/upload-artifact@v4 | |
with: | |
name: ${{ github.job }}_artifact | |
path: ${{ github.job }}.tar.xz | |
build_w19_re_p1_stat_FM-08: | |
runs-on: windows-2019 | |
needs: ACE_TAO_w19_re_p1_stat_FM-08 | |
steps: | |
- name: setup for run-vcpkg | |
shell: bash | |
run: | | |
echo '{ "name": "opendds", "version-string": "github-actions", "dependencies": [ "openssl", "xerces-c" ] }' > vcpkg.json | |
- name: install openssl & xerces-c | |
uses: lukka/run-vcpkg@v11 | |
with: | |
vcpkgGitCommitId: '${{ env.VCPKG_GIT_COMMIT }}' | |
runVcpkgInstall: true | |
- name: checkout MPC | |
uses: actions/checkout@v4 | |
with: | |
repository: DOCGroup/MPC | |
path: MPC | |
- name: checkout OpenDDS | |
uses: actions/checkout@v4 | |
with: | |
path: OpenDDS | |
submodules: true | |
- name: checkout ACE_TAO | |
uses: actions/checkout@v4 | |
with: | |
repository: DOCGroup/ACE_TAO | |
ref: ace6tao2 | |
path: OpenDDS/ACE_TAO | |
- name: download ACE_TAO artifact | |
uses: actions/download-artifact@v4 | |
with: | |
name: ACE_TAO_w19_re_p1_stat_FM-08_artifact | |
path: OpenDDS/ACE_TAO | |
- name: extract ACE_TAO artifact | |
shell: bash | |
run: | | |
cd OpenDDS/ACE_TAO | |
tar xvfJ ACE_TAO_w19_re_p1_stat_FM-08.tar.xz | |
rm -f ACE_TAO_w19_re_p1_stat_FM-08.tar.xz | |
- name: set up msvc env | |
uses: ilammy/msvc-dev-cmd@v1 | |
- name: setup gtest | |
shell: cmd | |
run: | | |
cd OpenDDS/tests/googletest | |
git submodule init | |
git submodule update | |
mkdir build | |
cd build | |
mkdir install | |
cmake -DCMAKE_INSTALL_PREFIX=./install .. | |
cmake --build . --target install --config Release | |
- name: configure OpenDDS | |
shell: cmd | |
run: | | |
cd OpenDDS | |
configure --ipv6 --static --rapidjson --gtest=${{ github.workspace }}/OpenDDS/tests/googletest/build/install --no-built-in-topics --no-content-subscription --no-ownership-profile --no-object-model-profile --no-persistence-profile --ace=${{ github.workspace }}/OpenDDS/ACE_TAO/ACE --tao=${{ github.workspace }}/OpenDDS/ACE_TAO/TAO --mpc=${{ github.workspace }}/MPC --xerces3=${{ env.VCPKG_INSTALLED_DIR }}/x64-windows --openssl=${{ env.VCPKG_INSTALLED_DIR }}/x64-windows --compile-warnings=WARNING | |
- name: check build configuration | |
shell: cmd | |
run: | | |
cd OpenDDS | |
call setenv.cmd | |
perl tools\scripts\show_build_config.pl | |
- uses: ammaraskar/[email protected] | |
- name: build OpenDDS | |
shell: cmd | |
run: | | |
cd OpenDDS | |
call setenv.cmd | |
msbuild -p:Configuration=Release,Platform=x64 -m DDS_no_tests.sln | |
- name: create OpenDDS tar.xz artifact | |
shell: bash | |
run: | | |
cd OpenDDS | |
rm -rf ACE_TAO | |
find . -iname "*\.obj" -o -iname "*\.pdb" -o -iname "*\.idb" -o -type f -iname "*\.tlog" | xargs rm | |
tar cvf ../${{ github.job }}.tar setenv.cmd | |
git clean -xdfn | cut -d ' ' -f 3- | xargs tar uvf ../${{ github.job }}.tar | |
xz -3 ../${{ github.job }}.tar | |
- name: upload OpenDDS artifact | |
uses: actions/upload-artifact@v4 | |
with: | |
name: ${{ github.job }}_artifact | |
path: ${{ github.job }}.tar.xz | |
cmake_w19_re_p1_stat_FM-08: | |
runs-on: windows-2019 | |
needs: build_w19_re_p1_stat_FM-08 | |
permissions: | |
contents: read | |
id-token: write | |
steps: | |
- name: setup for run-vcpkg | |
shell: bash | |
run: | | |
echo '{ "name": "opendds", "version-string": "github-actions", "dependencies": [ "openssl", "xerces-c" ] }' > vcpkg.json | |
- name: install openssl & xerces-c | |
uses: lukka/run-vcpkg@v11 | |
with: | |
vcpkgGitCommitId: '${{ env.VCPKG_GIT_COMMIT }}' | |
runVcpkgInstall: true | |
- name: checkout MPC | |
uses: actions/checkout@v4 | |
with: | |
repository: DOCGroup/MPC | |
path: MPC | |
- name: checkout autobuild | |
uses: actions/checkout@v4 | |
with: | |
repository: DOCGroup/autobuild | |
path: autobuild | |
- name: checkout OpenDDS | |
uses: actions/checkout@v4 | |
with: | |
path: OpenDDS | |
submodules: true | |
- name: checkout ACE_TAO | |
uses: actions/checkout@v4 | |
with: | |
repository: DOCGroup/ACE_TAO | |
ref: ace6tao2 | |
path: OpenDDS/ACE_TAO | |
- name: download ACE_TAO artifact | |
uses: actions/download-artifact@v4 | |
with: | |
name: ACE_TAO_w19_re_p1_stat_FM-08_artifact | |
path: OpenDDS/ACE_TAO | |
- name: extract ACE_TAO artifact | |
shell: bash | |
run: | | |
cd OpenDDS/ACE_TAO | |
tar xvfJ ACE_TAO_w19_re_p1_stat_FM-08.tar.xz | |
rm -f ACE_TAO_w19_re_p1_stat_FM-08.tar.xz | |
- name: download OpenDDS artifact | |
uses: actions/download-artifact@v4 | |
with: | |
name: build_w19_re_p1_stat_FM-08_artifact | |
path: OpenDDS | |
- name: extract OpenDDS artifact | |
shell: bash | |
run: | | |
cd OpenDDS | |
tar xvfJ build_w19_re_p1_stat_FM-08.tar.xz | |
rm -f build_w19_re_p1_stat_FM-08.tar.xz | |
- name: set up msvc env | |
uses: ilammy/msvc-dev-cmd@v1 | |
- uses: ammaraskar/[email protected] | |
- name: Build CMake Tests | |
shell: cmd | |
run: | | |
cd OpenDDS | |
call setenv.cmd | |
mkdir tests\cmake\build | |
cd tests\cmake\build | |
cmake .. | |
cmake --build . --config Release | |
- name: check build configuration | |
shell: cmd | |
run: | | |
cd OpenDDS | |
call setenv.cmd | |
perl tools\scripts\show_build_config.pl | |
- name: create autobuild config | |
shell: bash | |
run: | | |
cd OpenDDS | |
mkdir ${{ github.job }}_autobuild_workspace | |
cd ${{ github.job }}_autobuild_workspace | |
export FS_GHW=$(echo $GITHUB_WORKSPACE | sed 's/\\/\//g') | |
echo using commit $TRIGGERING_COMMIT for SHA | |
echo $TRIGGERING_COMMIT >> ./SHA | |
cat > config.xml <<EOF | |
<autobuild> | |
<configuration> | |
<variable name="log_file" value="output"/> | |
<variable name="log_root" value="$FS_GHW/OpenDDS/${{ github.job }}_autobuild_workspace/logs"/> | |
<variable name="project_root" value="$FS_GHW/OpenDDS"/> | |
<variable name="root" value="$FS_GHW/OpenDDS/${{ github.job }}_autobuild_workspace"/> | |
<variable name="junit_xml_output" value="Tests"/> | |
</configuration> | |
<command name="log" options="on"/> | |
<command name="print_os_version"/> | |
<command name="print_ace_config"/> | |
<command name="print_cmake_version"/> | |
<command name="print_make_version"/> | |
<command name="check_compiler" options="msvc"/> | |
<command name="print_perl_version"/> | |
<command name="print_autobuild_config"/> | |
<command name="auto_run_tests" options="script_path=tests dir=$FS_GHW/OpenDDS --no-dcps --cmake --cmake-build-cfg Release"/> | |
<command name="log" options="off"/> | |
<command name="process_logs" options="move prettify index"/> | |
</autobuild> | |
EOF | |
cat config.xml | |
- name: run OpenDDS tests | |
shell: cmd | |
run: | | |
cd OpenDDS | |
call setenv.cmd | |
cd ${{ github.job }}_autobuild_workspace | |
perl "${{ github.workspace }}\autobuild\autobuild.pl" "${{ github.workspace }}\OpenDDS\${{ github.job }}_autobuild_workspace\config.xml" | |
- name: upload autobuild output | |
uses: actions/upload-artifact@v4 | |
with: | |
name: ${{ github.job }}_autobuild_output | |
path: OpenDDS\${{ github.job }}_autobuild_workspace | |
- name: Authenticate to Google Cloud | |
uses: google-github-actions/auth@v2 | |
with: | |
workload_identity_provider: projects/30587790497/locations/global/workloadIdentityPools/gha-scoreboard-upload/providers/gha-provider | |
service_account: [email protected] | |
if: ${{ github.repository == 'OpenDDS/OpenDDS' && github.ref == env.SCOREBOARD_UPLOAD_BRANCH }} | |
- name: get OpenDDS version | |
shell: bash | |
run: | | |
cd OpenDDS | |
echo "OPENDDS_MAJOR_VERSION=$(grep '#define OPENDDS_MAJOR_VERSION' dds/Version.h | cut -d' ' -f3)" >> $GITHUB_ENV | |
- name: upload to Google Cloud | |
uses: 'google-github-actions/upload-cloud-storage@v2' | |
with: | |
path: OpenDDS/${{ github.job }}_autobuild_workspace/logs | |
destination: opendds-gha-scoreboard-uploads/${{ env.OPENDDS_MAJOR_VERSION }}/${{ github.job }} | |
parent: false | |
process_gcloudignore: false | |
if: ${{ github.repository == 'OpenDDS/OpenDDS' && github.ref == env.SCOREBOARD_UPLOAD_BRANCH }} | |
- name: check results | |
shell: bash | |
run: | | |
$GITHUB_WORKSPACE/OpenDDS/tools/scripts/autobuild_brief_html_to_text.pl "$GITHUB_WORKSPACE/OpenDDS/${{ github.job }}_autobuild_workspace/logs/"*_Brief.html | |
cat "$GITHUB_WORKSPACE/OpenDDS/${{ github.job }}_autobuild_workspace/logs/latest.txt" | |
grep -q 'Failures: 0' "$GITHUB_WORKSPACE/OpenDDS/${{ github.job }}_autobuild_workspace/logs/latest.txt" | |
messenger_w19_re_p1_stat_FM-08: | |
runs-on: windows-2019 | |
needs: build_w19_re_p1_stat_FM-08 | |
permissions: | |
contents: read | |
id-token: write | |
steps: | |
- name: setup for run-vcpkg | |
shell: bash | |
run: | | |
echo '{ "name": "opendds", "version-string": "github-actions", "dependencies": [ "openssl", "xerces-c" ] }' > vcpkg.json | |
- name: install openssl & xerces-c | |
uses: lukka/run-vcpkg@v11 | |
with: | |
vcpkgGitCommitId: '${{ env.VCPKG_GIT_COMMIT }}' | |
runVcpkgInstall: true | |
- name: checkout MPC | |
uses: actions/checkout@v4 | |
with: | |
repository: DOCGroup/MPC | |
path: MPC | |
- name: checkout autobuild | |
uses: actions/checkout@v4 | |
with: | |
repository: DOCGroup/autobuild | |
path: autobuild | |
- name: checkout OpenDDS | |
uses: actions/checkout@v4 | |
with: | |
path: OpenDDS | |
submodules: true | |
- name: checkout ACE_TAO | |
uses: actions/checkout@v4 | |
with: | |
repository: DOCGroup/ACE_TAO | |
ref: ace6tao2 | |
path: OpenDDS/ACE_TAO | |
- name: download ACE_TAO artifact | |
uses: actions/download-artifact@v4 | |
with: | |
name: ACE_TAO_w19_re_p1_stat_FM-08_artifact | |
path: OpenDDS/ACE_TAO | |
- name: extract ACE_TAO artifact | |
shell: bash | |
run: | | |
cd OpenDDS/ACE_TAO | |
tar xvfJ ACE_TAO_w19_re_p1_stat_FM-08.tar.xz | |
rm -f ACE_TAO_w19_re_p1_stat_FM-08.tar.xz | |
- name: download OpenDDS artifact | |
uses: actions/download-artifact@v4 | |
with: | |
name: build_w19_re_p1_stat_FM-08_artifact | |
path: OpenDDS | |
- name: extract OpenDDS artifact | |
shell: bash | |
run: | | |
cd OpenDDS | |
tar xvfJ build_w19_re_p1_stat_FM-08.tar.xz | |
rm -f build_w19_re_p1_stat_FM-08.tar.xz | |
- name: set up msvc env | |
uses: ilammy/msvc-dev-cmd@v1 | |
- name: setup gtest | |
shell: cmd | |
run: | | |
cd OpenDDS/tests/googletest | |
git submodule init | |
git submodule update | |
mkdir build | |
cd build | |
mkdir install | |
cmake -DCMAKE_INSTALL_PREFIX=./install .. | |
cmake --build . --target install --config Release | |
- name: check build configuration | |
shell: cmd | |
run: | | |
cd OpenDDS | |
call setenv.cmd | |
perl tools\scripts\show_build_config.pl | |
- name: configure messenger tests | |
shell: cmd | |
run: | | |
cd OpenDDS | |
call setenv.cmd | |
cd tests\DCPS\Messenger | |
perl %ACE_ROOT%\bin\mwc.pl -type vs2019 -static -features ipv6=1 -features no_cxx11=0 -features xerces3=1 -features no_rapidjson=0 -features ssl=1 -features openssl11=1 -features built_in_topics=0 -features ownership_profile=0 -features content_subscription=0 -features object_model_profile=0 -features persistence_profile=0 | |
- uses: ammaraskar/[email protected] | |
- name: make messenger tests | |
shell: cmd | |
run: | | |
cd OpenDDS | |
call setenv.cmd | |
cd tests\DCPS\Messenger | |
msbuild -p:Configuration=Release,Platform=x64 -m Messenger.sln | |
- name: configure C++11 messenger test | |
shell: cmd | |
run: | | |
cd OpenDDS | |
call setenv.cmd | |
cd tests\DCPS\C++11 | |
perl %ACE_ROOT%\bin\mwc.pl -type vs2019 -static -features ipv6=1 -features no_cxx11=0 -features xerces3=1 -features no_rapidjson=0 -features ssl=1 -features openssl11=1 -features built_in_topics=0 -features ownership_profile=0 -features content_subscription=0 -features object_model_profile=0 -features persistence_profile=0 | |
- name: make C++11 messenger test | |
shell: cmd | |
run: | | |
cd OpenDDS | |
call setenv.cmd | |
cd tests\DCPS\C++11 | |
msbuild -p:Configuration=Release,Platform=x64 -m C++11.sln | |
- name: create autobuild config | |
shell: bash | |
run: | | |
cd OpenDDS | |
mkdir ${{ github.job }}_autobuild_workspace | |
cd ${{ github.job }}_autobuild_workspace | |
export FS_GHW=$(echo $GITHUB_WORKSPACE | sed 's/\\/\//g') | |
echo using commit $TRIGGERING_COMMIT for SHA | |
echo $TRIGGERING_COMMIT >> ./SHA | |
cat > config.xml <<EOF | |
<autobuild> | |
<configuration> | |
<variable name="log_file" value="output"/> | |
<variable name="log_root" value="$FS_GHW/OpenDDS/${{ github.job }}_autobuild_workspace/logs"/> | |
<variable name="project_root" value="$FS_GHW/OpenDDS"/> | |
<variable name="root" value="$FS_GHW/OpenDDS/${{ github.job }}_autobuild_workspace"/> | |
<variable name="junit_xml_output" value="Tests"/> | |
</configuration> | |
<command name="log" options="on"/> | |
<command name="print_os_version"/> | |
<command name="print_ace_config"/> | |
<command name="print_make_version"/> | |
<command name="check_compiler" options="msvc"/> | |
<command name="print_perl_version"/> | |
<command name="print_autobuild_config"/> | |
<command name="auto_run_tests" options="script_path=tests dir=$FS_GHW/OpenDDS tests\core_ci_tests.lst -ExeSubDir Static_Release -Config STATIC -Config STATIC_MESSENGER -Config NO_BUILT_IN_TOPICS -Config DDS_NO_OBJECT_MODEL_PROFILE -Config DDS_NO_OWNERSHIP_PROFILE -Config DDS_NO_PERSISTENCE_PROFILE -Config DDS_NO_CONTENT_SUBSCRIPTION -Config IPV6 -Config CXX11 -Config OPENDDS_SECURITY -Config RAPIDJSON -Config NO_UNIT_TESTS"/> | |
<command name="log" options="off"/> | |
<command name="process_logs" options="move prettify index"/> | |
</autobuild> | |
EOF | |
cat config.xml | |
- name: run OpenDDS tests | |
shell: cmd | |
run: | | |
cd OpenDDS | |
call setenv.cmd | |
cd ${{ github.job }}_autobuild_workspace | |
perl "${{ github.workspace }}\autobuild\autobuild.pl" "${{ github.workspace }}\OpenDDS\${{ github.job }}_autobuild_workspace\config.xml" | |
- name: upload autobuild output | |
uses: actions/upload-artifact@v4 | |
with: | |
name: ${{ github.job }}_autobuild_output | |
path: OpenDDS\${{ github.job }}_autobuild_workspace | |
- name: Authenticate to Google Cloud | |
uses: google-github-actions/auth@v2 | |
with: | |
workload_identity_provider: projects/30587790497/locations/global/workloadIdentityPools/gha-scoreboard-upload/providers/gha-provider | |
service_account: [email protected] | |
if: ${{ github.repository == 'OpenDDS/OpenDDS' && github.ref == env.SCOREBOARD_UPLOAD_BRANCH }} | |
- name: get OpenDDS version | |
shell: bash | |
run: | | |
cd OpenDDS | |
echo "OPENDDS_MAJOR_VERSION=$(grep '#define OPENDDS_MAJOR_VERSION' dds/Version.h | cut -d' ' -f3)" >> $GITHUB_ENV | |
- name: upload to Google Cloud | |
uses: 'google-github-actions/upload-cloud-storage@v2' | |
with: | |
path: OpenDDS/${{ github.job }}_autobuild_workspace/logs | |
destination: opendds-gha-scoreboard-uploads/${{ env.OPENDDS_MAJOR_VERSION }}/${{ github.job }} | |
parent: false | |
process_gcloudignore: false | |
if: ${{ github.repository == 'OpenDDS/OpenDDS' && github.ref == env.SCOREBOARD_UPLOAD_BRANCH }} | |
- name: check results | |
shell: bash | |
run: | | |
$GITHUB_WORKSPACE/OpenDDS/tools/scripts/autobuild_brief_html_to_text.pl "$GITHUB_WORKSPACE/OpenDDS/${{ github.job }}_autobuild_workspace/logs/"*_Brief.html | |
cat "$GITHUB_WORKSPACE/OpenDDS/${{ github.job }}_autobuild_workspace/logs/latest.txt" | |
grep -q 'Failures: 0' "$GITHUB_WORKSPACE/OpenDDS/${{ github.job }}_autobuild_workspace/logs/latest.txt" | |
compiler_w19_re_p1_stat_FM-08: | |
runs-on: windows-2019 | |
needs: build_w19_re_p1_stat_FM-08 | |
permissions: | |
contents: read | |
id-token: write | |
steps: | |
- name: checkout MPC | |
uses: actions/checkout@v4 | |
with: | |
repository: DOCGroup/MPC | |
path: MPC | |
- name: checkout autobuild | |
uses: actions/checkout@v4 | |
with: | |
repository: DOCGroup/autobuild | |
path: autobuild | |
- name: checkout OpenDDS | |
uses: actions/checkout@v4 | |
with: | |
path: OpenDDS | |
submodules: true | |
- name: checkout ACE_TAO | |
uses: actions/checkout@v4 | |
with: | |
repository: DOCGroup/ACE_TAO | |
ref: ace6tao2 | |
path: OpenDDS/ACE_TAO | |
- name: download ACE_TAO artifact | |
uses: actions/download-artifact@v4 | |
with: | |
name: ACE_TAO_w19_re_p1_stat_FM-08_artifact | |
path: OpenDDS/ACE_TAO | |
- name: extract ACE_TAO artifact | |
shell: bash | |
run: | | |
cd OpenDDS/ACE_TAO | |
tar xvfJ ACE_TAO_w19_re_p1_stat_FM-08.tar.xz | |
rm -f ACE_TAO_w19_re_p1_stat_FM-08.tar.xz | |
- name: download OpenDDS artifact | |
uses: actions/download-artifact@v4 | |
with: | |
name: build_w19_re_p1_stat_FM-08_artifact | |
path: OpenDDS | |
- name: extract OpenDDS artifact | |
shell: bash | |
run: | | |
cd OpenDDS | |
tar xvfJ build_w19_re_p1_stat_FM-08.tar.xz | |
rm -f build_w19_re_p1_stat_FM-08.tar.xz | |
- name: set up msvc env | |
uses: ilammy/msvc-dev-cmd@v1 | |
- name: setup gtest | |
shell: cmd | |
run: | | |
cd OpenDDS/tests/googletest | |
git submodule init | |
git submodule update | |
mkdir build | |
cd build | |
mkdir install | |
cmake -DCMAKE_INSTALL_PREFIX=./install .. | |
cmake --build . --target install --config Release | |
- name: check build configuration | |
shell: cmd | |
run: | | |
cd OpenDDS | |
call setenv.cmd | |
perl tools\scripts\show_build_config.pl | |
- name: configure compiler tests | |
shell: cmd | |
run: | | |
cd OpenDDS | |
call setenv.cmd | |
cd tests\DCPS\Compiler | |
rm -rf key_annotation | |
rm -rf keywords | |
rm -rf namespace_conflict | |
rm -rf vread_vwrite | |
rm -rf sequence_conflict | |
rm -rf TryConstruct | |
rm -rf typecode | |
rm -rf typeobject_hash_consistency | |
rm -rf underscore_fields | |
rm -rf xcdr | |
rm -rf XTypesExtensibility | |
perl %ACE_ROOT%\bin\mwc.pl -type vs2019 -static -features ipv6=1 -features no_cxx11=0 -features no_rapidjson=0 -features openssl11=1 -features built_in_topics=0 -features ownership_profile=0 -features content_subscription=0 -features object_model_profile=0 -features persistence_profile=0 | |
- uses: ammaraskar/[email protected] | |
- name: make compiler tests | |
shell: cmd | |
run: | | |
cd OpenDDS | |
call setenv.cmd | |
cd tests\DCPS\Compiler | |
msbuild -p:Configuration=Release,Platform=x64 -m Compiler.sln | |
- name: create autobuild config | |
shell: bash | |
run: | | |
cd OpenDDS | |
mkdir ${{ github.job }}_autobuild_workspace | |
cd ${{ github.job }}_autobuild_workspace | |
export FS_GHW=$(echo $GITHUB_WORKSPACE | sed 's/\\/\//g') | |
echo using commit $TRIGGERING_COMMIT for SHA | |
echo $TRIGGERING_COMMIT >> ./SHA | |
cat > config.xml <<EOF | |
<autobuild> | |
<configuration> | |
<variable name="log_file" value="output"/> | |
<variable name="log_root" value="$FS_GHW/OpenDDS/${{ github.job }}_autobuild_workspace/logs"/> | |
<variable name="project_root" value="$FS_GHW/OpenDDS"/> | |
<variable name="root" value="$FS_GHW/OpenDDS/${{ github.job }}_autobuild_workspace"/> | |
<variable name="junit_xml_output" value="Tests"/> | |
</configuration> | |
<command name="log" options="on"/> | |
<command name="print_os_version"/> | |
<command name="print_ace_config"/> | |
<command name="print_make_version"/> | |
<command name="check_compiler" options="msvc"/> | |
<command name="print_perl_version"/> | |
<command name="print_autobuild_config"/> | |
<command name="auto_run_tests" options="script_path=tests dir=$FS_GHW/OpenDDS tests\core_ci_tests.lst -ExeSubDir Static_Release -Config STATIC_COMPILER -Config STATIC -Config NO_BUILT_IN_TOPICS -Config DDS_NO_OBJECT_MODEL_PROFILE -Config DDS_NO_OWNERSHIP_PROFILE -Config DDS_NO_PERSISTENCE_PROFILE -Config DDS_NO_CONTENT_SUBSCRIPTION -Config IPV6 -Config OPENDDS_SECURITY -Config RAPIDJSON -Config CXX11 -Config NO_UNIT_TESTS"/> | |
<command name="log" options="off"/> | |
<command name="process_logs" options="move prettify index"/> | |
</autobuild> | |
EOF | |
cat config.xml | |
- name: run OpenDDS tests | |
shell: cmd | |
run: | | |
cd OpenDDS | |
call setenv.cmd | |
cd ${{ github.job }}_autobuild_workspace | |
perl "${{ github.workspace }}\autobuild\autobuild.pl" "${{ github.workspace }}\OpenDDS\${{ github.job }}_autobuild_workspace\config.xml" | |
- name: upload autobuild output | |
uses: actions/upload-artifact@v4 | |
with: | |
name: ${{ github.job }}_autobuild_output | |
path: OpenDDS\${{ github.job }}_autobuild_workspace | |
- name: Authenticate to Google Cloud | |
uses: google-github-actions/auth@v2 | |
with: | |
workload_identity_provider: projects/30587790497/locations/global/workloadIdentityPools/gha-scoreboard-upload/providers/gha-provider | |
service_account: [email protected] | |
if: ${{ github.repository == 'OpenDDS/OpenDDS' && github.ref == env.SCOREBOARD_UPLOAD_BRANCH }} | |
- name: get OpenDDS version | |
shell: bash | |
run: | | |
cd OpenDDS | |
echo "OPENDDS_MAJOR_VERSION=$(grep '#define OPENDDS_MAJOR_VERSION' dds/Version.h | cut -d' ' -f3)" >> $GITHUB_ENV | |
- name: upload to Google Cloud | |
uses: 'google-github-actions/upload-cloud-storage@v2' | |
with: | |
path: OpenDDS/${{ github.job }}_autobuild_workspace/logs | |
destination: opendds-gha-scoreboard-uploads/${{ env.OPENDDS_MAJOR_VERSION }}/${{ github.job }} | |
parent: false | |
process_gcloudignore: false | |
if: ${{ github.repository == 'OpenDDS/OpenDDS' && github.ref == env.SCOREBOARD_UPLOAD_BRANCH }} | |
- name: check results | |
shell: bash | |
run: | | |
$GITHUB_WORKSPACE/OpenDDS/tools/scripts/autobuild_brief_html_to_text.pl "$GITHUB_WORKSPACE/OpenDDS/${{ github.job }}_autobuild_workspace/logs/"*_Brief.html | |
cat "$GITHUB_WORKSPACE/OpenDDS/${{ github.job }}_autobuild_workspace/logs/latest.txt" | |
grep -q 'Failures: 0' "$GITHUB_WORKSPACE/OpenDDS/${{ github.job }}_autobuild_workspace/logs/latest.txt" | |
compiler2_w19_re_p1_stat_FM-08: | |
runs-on: windows-2019 | |
needs: build_w19_re_p1_stat_FM-08 | |
permissions: | |
contents: read | |
id-token: write | |
steps: | |
- name: checkout MPC | |
uses: actions/checkout@v4 | |
with: | |
repository: DOCGroup/MPC | |
path: MPC | |
- name: checkout autobuild | |
uses: actions/checkout@v4 | |
with: | |
repository: DOCGroup/autobuild | |
path: autobuild | |
- name: checkout OpenDDS | |
uses: actions/checkout@v4 | |
with: | |
path: OpenDDS | |
submodules: true | |
- name: checkout ACE_TAO | |
uses: actions/checkout@v4 | |
with: | |
repository: DOCGroup/ACE_TAO | |
ref: ace6tao2 | |
path: OpenDDS/ACE_TAO | |
- name: download ACE_TAO artifact | |
uses: actions/download-artifact@v4 | |
with: | |
name: ACE_TAO_w19_re_p1_stat_FM-08_artifact | |
path: OpenDDS/ACE_TAO | |
- name: extract ACE_TAO artifact | |
shell: bash | |
run: | | |
cd OpenDDS/ACE_TAO | |
tar xvfJ ACE_TAO_w19_re_p1_stat_FM-08.tar.xz | |
rm -f ACE_TAO_w19_re_p1_stat_FM-08.tar.xz | |
- name: download OpenDDS artifact | |
uses: actions/download-artifact@v4 | |
with: | |
name: build_w19_re_p1_stat_FM-08_artifact | |
path: OpenDDS | |
- name: extract OpenDDS artifact | |
shell: bash | |
run: | | |
cd OpenDDS | |
tar xvfJ build_w19_re_p1_stat_FM-08.tar.xz | |
rm -f build_w19_re_p1_stat_FM-08.tar.xz | |
- name: set up msvc env | |
uses: ilammy/msvc-dev-cmd@v1 | |
- name: setup gtest | |
shell: cmd | |
run: | | |
cd OpenDDS/tests/googletest | |
git submodule init | |
git submodule update | |
mkdir build | |
cd build | |
mkdir install | |
cmake -DCMAKE_INSTALL_PREFIX=./install .. | |
cmake --build . --target install --config Release | |
- name: check build configuration | |
shell: cmd | |
run: | | |
cd OpenDDS | |
call setenv.cmd | |
perl tools\scripts\show_build_config.pl | |
- name: configure compiler tests | |
shell: cmd | |
run: | | |
cd OpenDDS | |
call setenv.cmd | |
cd tests\DCPS\Compiler | |
rm -rf anonymous_types | |
rm -rf C++11 | |
rm -rf char_literals | |
rm -rf explicit_ints | |
rm -rf idl_test1_lib | |
rm -rf idl_test1_main | |
rm -rf idl_test2_lib | |
rm -rf idl_test2_main | |
rm -rf idl_test3_lib | |
rm -rf idl_test3_main | |
rm -rf idl_test_nested_types_lib | |
rm -rf isolated_types | |
rm -rf is_topic_type | |
perl %ACE_ROOT%\bin\mwc.pl -type vs2019 -static -features ipv6=1 -features no_cxx11=0 -features no_rapidjson=0 -features openssl11=1 -features built_in_topics=0 -features ownership_profile=0 -features content_subscription=0 -features object_model_profile=0 -features persistence_profile=0 | |
- uses: ammaraskar/[email protected] | |
- name: make compiler tests | |
shell: cmd | |
run: | | |
cd OpenDDS | |
call setenv.cmd | |
cd tests\DCPS\Compiler | |
msbuild -p:Configuration=Release,Platform=x64 -m Compiler.sln | |
- name: create autobuild config | |
shell: bash | |
run: | | |
cd OpenDDS | |
mkdir ${{ github.job }}_autobuild_workspace | |
cd ${{ github.job }}_autobuild_workspace | |
export FS_GHW=$(echo $GITHUB_WORKSPACE | sed 's/\\/\//g') | |
echo using commit $TRIGGERING_COMMIT for SHA | |
echo $TRIGGERING_COMMIT >> ./SHA | |
cat > config.xml <<EOF | |
<autobuild> | |
<configuration> | |
<variable name="log_file" value="output"/> | |
<variable name="log_root" value="$FS_GHW/OpenDDS/${{ github.job }}_autobuild_workspace/logs"/> | |
<variable name="project_root" value="$FS_GHW/OpenDDS"/> | |
<variable name="root" value="$FS_GHW/OpenDDS/${{ github.job }}_autobuild_workspace"/> | |
<variable name="junit_xml_output" value="Tests"/> | |
</configuration> | |
<command name="log" options="on"/> | |
<command name="print_os_version"/> | |
<command name="print_ace_config"/> | |
<command name="print_make_version"/> | |
<command name="check_compiler" options="msvc"/> | |
<command name="print_perl_version"/> | |
<command name="print_autobuild_config"/> | |
<command name="auto_run_tests" options="script_path=tests dir=$FS_GHW/OpenDDS tests\core_ci_tests.lst -ExeSubDir Static_Release -Config STATIC_COMPILER2 -Config STATIC -Config NO_BUILT_IN_TOPICS -Config DDS_NO_OBJECT_MODEL_PROFILE -Config DDS_NO_OWNERSHIP_PROFILE -Config DDS_NO_PERSISTENCE_PROFILE -Config DDS_NO_CONTENT_SUBSCRIPTION -Config IPV6 -Config OPENDDS_SECURITY -Config RAPIDJSON -Config CXX11 -Config NO_UNIT_TESTS"/> | |
<command name="log" options="off"/> | |
<command name="process_logs" options="move prettify index"/> | |
</autobuild> | |
EOF | |
cat config.xml | |
- name: run OpenDDS tests | |
shell: cmd | |
run: | | |
cd OpenDDS | |
call setenv.cmd | |
cd ${{ github.job }}_autobuild_workspace | |
perl "${{ github.workspace }}\autobuild\autobuild.pl" "${{ github.workspace }}\OpenDDS\${{ github.job }}_autobuild_workspace\config.xml" | |
- name: upload autobuild output | |
uses: actions/upload-artifact@v4 | |
with: | |
name: ${{ github.job }}_autobuild_output | |
path: OpenDDS\${{ github.job }}_autobuild_workspace | |
- name: Authenticate to Google Cloud | |
uses: google-github-actions/auth@v2 | |
with: | |
workload_identity_provider: projects/30587790497/locations/global/workloadIdentityPools/gha-scoreboard-upload/providers/gha-provider | |
service_account: [email protected] | |
if: ${{ github.repository == 'OpenDDS/OpenDDS' && github.ref == env.SCOREBOARD_UPLOAD_BRANCH }} | |
- name: get OpenDDS version | |
shell: bash | |
run: | | |
cd OpenDDS | |
echo "OPENDDS_MAJOR_VERSION=$(grep '#define OPENDDS_MAJOR_VERSION' dds/Version.h | cut -d' ' -f3)" >> $GITHUB_ENV | |
- name: upload to Google Cloud | |
uses: 'google-github-actions/upload-cloud-storage@v2' | |
with: | |
path: OpenDDS/${{ github.job }}_autobuild_workspace/logs | |
destination: opendds-gha-scoreboard-uploads/${{ env.OPENDDS_MAJOR_VERSION }}/${{ github.job }} | |
parent: false | |
process_gcloudignore: false | |
if: ${{ github.repository == 'OpenDDS/OpenDDS' && github.ref == env.SCOREBOARD_UPLOAD_BRANCH }} | |
- name: check results | |
shell: bash | |
run: | | |
$GITHUB_WORKSPACE/OpenDDS/tools/scripts/autobuild_brief_html_to_text.pl "$GITHUB_WORKSPACE/OpenDDS/${{ github.job }}_autobuild_workspace/logs/"*_Brief.html | |
cat "$GITHUB_WORKSPACE/OpenDDS/${{ github.job }}_autobuild_workspace/logs/latest.txt" | |
grep -q 'Failures: 0' "$GITHUB_WORKSPACE/OpenDDS/${{ github.job }}_autobuild_workspace/logs/latest.txt" | |
unit_w19_re_p1_stat_FM-08: | |
runs-on: windows-2019 | |
needs: build_w19_re_p1_stat_FM-08 | |
permissions: | |
contents: read | |
id-token: write | |
steps: | |
- name: setup for run-vcpkg | |
shell: bash | |
run: | | |
echo '{ "name": "opendds", "version-string": "github-actions", "dependencies": [ "openssl", "xerces-c" ] }' > vcpkg.json | |
- name: install openssl & xerces-c | |
uses: lukka/run-vcpkg@v11 | |
with: | |
vcpkgGitCommitId: '${{ env.VCPKG_GIT_COMMIT }}' | |
runVcpkgInstall: true | |
- name: checkout MPC | |
uses: actions/checkout@v4 | |
with: | |
repository: DOCGroup/MPC | |
path: MPC | |
- name: checkout autobuild | |
uses: actions/checkout@v4 | |
with: | |
repository: DOCGroup/autobuild | |
path: autobuild | |
- name: checkout OpenDDS | |
uses: actions/checkout@v4 | |
with: | |
path: OpenDDS | |
submodules: true | |
- name: checkout ACE_TAO | |
uses: actions/checkout@v4 | |
with: | |
repository: DOCGroup/ACE_TAO | |
ref: ace6tao2 | |
path: OpenDDS/ACE_TAO | |
- name: download ACE_TAO artifact | |
uses: actions/download-artifact@v4 | |
with: | |
name: ACE_TAO_w19_re_p1_stat_FM-08_artifact | |
path: OpenDDS/ACE_TAO | |
- name: extract ACE_TAO artifact | |
shell: bash | |
run: | | |
cd OpenDDS/ACE_TAO | |
tar xvfJ ACE_TAO_w19_re_p1_stat_FM-08.tar.xz | |
rm -f ACE_TAO_w19_re_p1_stat_FM-08.tar.xz | |
- name: download OpenDDS artifact | |
uses: actions/download-artifact@v4 | |
with: | |
name: build_w19_re_p1_stat_FM-08_artifact | |
path: OpenDDS | |
- name: extract OpenDDS artifact | |
shell: bash | |
run: | | |
cd OpenDDS | |
tar xvfJ build_w19_re_p1_stat_FM-08.tar.xz | |
rm -f build_w19_re_p1_stat_FM-08.tar.xz | |
- name: set up msvc env | |
uses: ilammy/msvc-dev-cmd@v1 | |
- name: setup gtest | |
shell: cmd | |
run: | | |
cd OpenDDS/tests/googletest | |
git submodule init | |
git submodule update | |
mkdir build | |
cd build | |
mkdir install | |
cmake -DCMAKE_INSTALL_PREFIX=./install .. | |
cmake --build . --target install --config Release | |
- name: check build configuration | |
shell: cmd | |
run: | | |
cd OpenDDS | |
call setenv.cmd | |
perl tools\scripts\show_build_config.pl | |
- name: configure unit tests | |
shell: cmd | |
run: | | |
cd OpenDDS | |
call setenv.cmd | |
cd tests\unit-tests | |
perl %ACE_ROOT%\bin\mwc.pl -type vs2019 -static -features ipv6=1 -features no_cxx11=0 -features xerces3=1 -features no_rapidjson=0 -features ssl=1 -features openssl11=1 -features built_in_topics=0 -features ownership_profile=0 -features content_subscription=0 -features object_model_profile=0 -features persistence_profile=0 | |
- uses: ammaraskar/[email protected] | |
- name: make unit tests | |
shell: cmd | |
run: | | |
cd OpenDDS | |
call setenv.cmd | |
cd tests\unit-tests | |
msbuild -p:Configuration=Release,Platform=x64 -m unit_tests.sln | |
- name: create autobuild config | |
shell: bash | |
run: | | |
cd OpenDDS | |
mkdir ${{ github.job }}_autobuild_workspace | |
cd ${{ github.job }}_autobuild_workspace | |
export FS_GHW=$(echo $GITHUB_WORKSPACE | sed 's/\\/\//g') | |
echo using commit $TRIGGERING_COMMIT for SHA | |
echo $TRIGGERING_COMMIT >> ./SHA | |
cat > config.xml <<EOF | |
<autobuild> | |
<configuration> | |
<variable name="log_file" value="output"/> | |
<variable name="log_root" value="$FS_GHW/OpenDDS/${{ github.job }}_autobuild_workspace/logs"/> | |
<variable name="project_root" value="$FS_GHW/OpenDDS"/> | |
<variable name="root" value="$FS_GHW/OpenDDS/${{ github.job }}_autobuild_workspace"/> | |
<variable name="junit_xml_output" value="Tests"/> | |
</configuration> | |
<command name="log" options="on"/> | |
<command name="print_os_version"/> | |
<command name="print_ace_config"/> | |
<command name="print_make_version"/> | |
<command name="check_compiler" options="msvc"/> | |
<command name="print_perl_version"/> | |
<command name="print_autobuild_config"/> | |
<command name="auto_run_tests" options="script_path=tests dir=$FS_GHW/OpenDDS tests\core_ci_tests.lst -ExeSubDir Static_Release -Config STATIC_UNIT_TESTS -Config STATIC -Config NO_BUILT_IN_TOPICS -Config DDS_NO_OBJECT_MODEL_PROFILE -Config DDS_NO_OWNERSHIP_PROFILE -Config DDS_NO_PERSISTENCE_PROFILE -Config DDS_NO_CONTENT_SUBSCRIPTION -Config IPV6 -Config OPENDDS_SECURITY -Config RAPIDJSON -Config CXX11"/> | |
<command name="log" options="off"/> | |
<command name="process_logs" options="move prettify index"/> | |
</autobuild> | |
EOF | |
cat config.xml | |
- name: run OpenDDS tests | |
shell: cmd | |
run: | | |
cd OpenDDS | |
call setenv.cmd | |
cd ${{ github.job }}_autobuild_workspace | |
perl "${{ github.workspace }}\autobuild\autobuild.pl" "${{ github.workspace }}\OpenDDS\${{ github.job }}_autobuild_workspace\config.xml" | |
- name: upload autobuild output | |
uses: actions/upload-artifact@v4 | |
with: | |
name: ${{ github.job }}_autobuild_output | |
path: OpenDDS\${{ github.job }}_autobuild_workspace | |
- name: Authenticate to Google Cloud | |
uses: google-github-actions/auth@v2 | |
with: | |
workload_identity_provider: projects/30587790497/locations/global/workloadIdentityPools/gha-scoreboard-upload/providers/gha-provider | |
service_account: [email protected] | |
if: ${{ github.repository == 'OpenDDS/OpenDDS' && github.ref == env.SCOREBOARD_UPLOAD_BRANCH }} | |
- name: get OpenDDS version | |
shell: bash | |
run: | | |
cd OpenDDS | |
echo "OPENDDS_MAJOR_VERSION=$(grep '#define OPENDDS_MAJOR_VERSION' dds/Version.h | cut -d' ' -f3)" >> $GITHUB_ENV | |
- name: upload to Google Cloud | |
uses: 'google-github-actions/upload-cloud-storage@v2' | |
with: | |
path: OpenDDS/${{ github.job }}_autobuild_workspace/logs | |
destination: opendds-gha-scoreboard-uploads/${{ env.OPENDDS_MAJOR_VERSION }}/${{ github.job }} | |
parent: false | |
process_gcloudignore: false | |
if: ${{ github.repository == 'OpenDDS/OpenDDS' && github.ref == env.SCOREBOARD_UPLOAD_BRANCH }} | |
- name: check results | |
shell: bash | |
run: | | |
$GITHUB_WORKSPACE/OpenDDS/tools/scripts/autobuild_brief_html_to_text.pl "$GITHUB_WORKSPACE/OpenDDS/${{ github.job }}_autobuild_workspace/logs/"*_Brief.html | |
cat "$GITHUB_WORKSPACE/OpenDDS/${{ github.job }}_autobuild_workspace/logs/latest.txt" | |
grep -q 'Failures: 0' "$GITHUB_WORKSPACE/OpenDDS/${{ github.job }}_autobuild_workspace/logs/latest.txt" | |
ACE_TAO_w19_re_o1p1_sec: | |
runs-on: windows-2019 | |
needs: openssl3_w19 | |
steps: | |
- name: download openssl artifact | |
uses: actions/download-artifact@v4 | |
with: | |
name: openssl3_w19_artifact | |
- name: extract openssl artifact | |
shell: bash | |
run: | | |
tar xvJf openssl3_w19.tar.xz | |
rm -f openssl3_w19.tar.xz | |
- name: checkout OpenDDS | |
uses: actions/checkout@v4 | |
with: | |
path: OpenDDS | |
submodules: true | |
- name: checkout ACE_TAO | |
uses: actions/checkout@v4 | |
with: | |
repository: DOCGroup/ACE_TAO | |
ref: ace6tao2 | |
path: OpenDDS/ACE_TAO | |
- name: get ACE_TAO commit | |
shell: bash | |
run: | | |
cd OpenDDS/ACE_TAO | |
export ACE_COMMIT=$(git rev-parse HEAD) | |
echo "ACE_COMMIT=$ACE_COMMIT" >> $GITHUB_ENV | |
- name: get compiler version | |
shell: bash | |
run: | | |
export COMPILER_VERSION=$("C:\Program Files (x86)\Microsoft Visual Studio\Installer\vswhere.exe" -property catalog_productDisplayVersion) | |
echo "COMPILER_VERSION=$COMPILER_VERSION" >> $GITHUB_ENV | |
- name: Cache Artifact | |
id: cache-artifact | |
uses: actions/cache@v4 | |
with: | |
path: ${{ github.job }}.tar.xz | |
key: c02_${{ github.job }}_ace6tao2_${{ env.ACE_COMMIT }}_${{ env.COMPILER_VERSION }} | |
- name: setup for run-vcpkg | |
shell: bash | |
run: | | |
echo '{ "name": "opendds", "version-string": "github-actions", "dependencies": [ "xerces-c" ] }' > vcpkg.json | |
- name: install xerces-c | |
if: steps.cache-artifact.outputs.cache-hit != 'true' | |
uses: lukka/run-vcpkg@v11 | |
with: | |
vcpkgGitCommitId: '${{ env.VCPKG_GIT_COMMIT }}' | |
runVcpkgInstall: true | |
- name: checkout MPC | |
if: steps.cache-artifact.outputs.cache-hit != 'true' | |
uses: actions/checkout@v4 | |
with: | |
repository: DOCGroup/MPC | |
path: MPC | |
- name: set up msvc env | |
if: steps.cache-artifact.outputs.cache-hit != 'true' | |
uses: ilammy/msvc-dev-cmd@v1 | |
- name: configure OpenDDS | |
if: steps.cache-artifact.outputs.cache-hit != 'true' | |
shell: cmd | |
run: | | |
set SSL_DIR=%CD%/openssl3 | |
cd OpenDDS | |
call configure -v --optimize --ipv6 --security --ace=${{ github.workspace }}/OpenDDS/ACE_TAO/ACE --tao=${{ github.workspace }}/OpenDDS/ACE_TAO/TAO --mpc=${{ github.workspace }}/MPC --xerces3=${{ env.VCPKG_INSTALLED_DIR }}/x64-windows --openssl=%SSL_DIR% --mpcopts=-hierarchy --compile-warnings=WARNING | |
echo "SSL_DIR=%SSL_DIR%" >> setenv.cmd | |
perl tools\scripts\show_build_config.pl | |
- name: build ACE & TAO | |
if: steps.cache-artifact.outputs.cache-hit != 'true' | |
shell: cmd | |
run: | | |
cd OpenDDS | |
call setenv.cmd | |
cd ACE_TAO\ACE | |
msbuild -p:Configuration=Release,Platform=x64 -m ace.sln | |
cd ..\TAO | |
msbuild -p:Configuration=Release,Platform=x64 -m tao.sln | |
- name: create ACE_TAO tar.xz artifact | |
if: steps.cache-artifact.outputs.cache-hit != 'true' | |
shell: bash | |
run: | | |
cd OpenDDS/ACE_TAO | |
perl -ni.bak -e "print unless /opendds/" ACE/bin/MakeProjectCreator/config/default.features # remove opendds features from here, let individual build configure scripts handle those | |
find . -iname "*\.obj" | xargs rm | |
tar cvf ../../${{ github.job }}.tar ACE/ace/config.h | |
git clean -xdfn | cut -d ' ' -f 3- | xargs tar uvf ../../${{ github.job }}.tar | |
xz -3 ../../${{ github.job }}.tar | |
- name: upload ACE_TAO artifact | |
uses: actions/upload-artifact@v4 | |
with: | |
name: ${{ github.job }}_artifact | |
path: ${{ github.job }}.tar.xz | |
build_w19_re_o1p1_sec: | |
runs-on: windows-2019 | |
needs: ACE_TAO_w19_re_o1p1_sec | |
steps: | |
- name: download openssl artifact | |
uses: actions/download-artifact@v4 | |
with: | |
name: openssl3_w19_artifact | |
- name: extract openssl artifact | |
shell: bash | |
run: | | |
tar xvJf openssl3_w19.tar.xz | |
rm -f openssl3_w19.tar.xz | |
- name: setup for run-vcpkg | |
shell: bash | |
run: | | |
echo '{ "name": "opendds", "version-string": "github-actions", "dependencies": [ "xerces-c" ] }' > vcpkg.json | |
- name: install xerces-c | |
uses: lukka/run-vcpkg@v11 | |
with: | |
vcpkgGitCommitId: '${{ env.VCPKG_GIT_COMMIT }}' | |
runVcpkgInstall: true | |
- name: checkout MPC | |
uses: actions/checkout@v4 | |
with: | |
repository: DOCGroup/MPC | |
path: MPC | |
- name: checkout OpenDDS | |
uses: actions/checkout@v4 | |
with: | |
path: OpenDDS | |
submodules: true | |
- name: checkout ACE_TAO | |
uses: actions/checkout@v4 | |
with: | |
repository: DOCGroup/ACE_TAO | |
ref: ace6tao2 | |
path: OpenDDS/ACE_TAO | |
- name: download ACE_TAO artifact | |
uses: actions/download-artifact@v4 | |
with: | |
name: ACE_TAO_w19_re_o1p1_sec_artifact | |
path: OpenDDS/ACE_TAO | |
- name: extract ACE_TAO artifact | |
shell: bash | |
run: | | |
cd OpenDDS/ACE_TAO | |
tar xvfJ ACE_TAO_w19_re_o1p1_sec.tar.xz | |
rm -f ACE_TAO_w19_re_o1p1_sec.tar.xz | |
- name: set up msvc env | |
uses: ilammy/msvc-dev-cmd@v1 | |
- name: setup gtest | |
shell: cmd | |
run: | | |
cd OpenDDS/tests/googletest | |
git submodule init | |
git submodule update | |
mkdir build | |
cd build | |
mkdir install | |
cmake -DCMAKE_INSTALL_PREFIX=./install -DBUILD_SHARED_LIBS=ON .. | |
cmake --build . --target install --config Release | |
- name: configure OpenDDS | |
shell: cmd | |
run: | | |
set SSL_DIR=%CD%/openssl3 | |
cd OpenDDS | |
configure --optimize --ipv6 --rapidjson --security --gtest=${{ github.workspace }}/OpenDDS/tests/googletest/build/install --ace=${{ github.workspace }}/OpenDDS/ACE_TAO/ACE --tao=${{ github.workspace }}/OpenDDS/ACE_TAO/TAO --mpc=${{ github.workspace }}/MPC --xerces3=${{ env.VCPKG_INSTALLED_DIR }}/x64-windows --openssl=%SSL_DIR% --compile-warnings=WARNING | |
echo "SSL_DIR=%SSL_DIR%" >> setenv.cmd | |
- name: check build configuration | |
shell: cmd | |
run: | | |
cd OpenDDS | |
call setenv.cmd | |
perl tools\scripts\show_build_config.pl | |
- uses: ammaraskar/[email protected] | |
- name: build OpenDDS | |
shell: cmd | |
run: | | |
cd OpenDDS | |
call setenv.cmd | |
msbuild -p:Configuration=Release,Platform=x64 -m DDS_no_tests.sln | |
- name: Build CMake Tests | |
shell: cmd | |
run: | | |
cd OpenDDS | |
call setenv.cmd | |
mkdir tests\cmake\build | |
cd tests\cmake\build | |
cmake .. | |
cmake --build . --config Release | |
- name: gitclean | |
shell: bash | |
run: | | |
touch output.txt | |
cd OpenDDS | |
git clean -nd -e ext | tee ../output.txt | |
if [ -s ../output.txt ]; then exit 1; fi | |
- name: create OpenDDS tar.xz artifact | |
shell: bash | |
run: | | |
cd OpenDDS | |
rm -rf ACE_TAO | |
find . -iname "*\.obj" -o -iname "*\.pdb" -o -iname "*\.idb" -o -type f -iname "*\.tlog" | xargs rm | |
tar cvf ../${{ github.job }}.tar setenv.cmd | |
git clean -xdfn | cut -d ' ' -f 3- | xargs tar uvf ../${{ github.job }}.tar | |
xz -3 ../${{ github.job }}.tar | |
- name: upload OpenDDS artifact | |
uses: actions/upload-artifact@v4 | |
with: | |
name: ${{ github.job }}_artifact | |
path: ${{ github.job }}.tar.xz | |
cmake_w19_re_o1p1_sec: | |
runs-on: windows-2019 | |
needs: build_w19_re_o1p1_sec | |
permissions: | |
contents: read | |
id-token: write | |
steps: | |
- name: download openssl artifact | |
uses: actions/download-artifact@v4 | |
with: | |
name: openssl3_w19_artifact | |
- name: extract openssl artifact | |
shell: bash | |
run: | | |
tar xvJf openssl3_w19.tar.xz | |
rm -f openssl3_w19.tar.xz | |
- name: setup for run-vcpkg | |
shell: bash | |
run: | | |
echo '{ "name": "opendds", "version-string": "github-actions", "dependencies": [ "xerces-c" ] }' > vcpkg.json | |
- name: install xerces-c | |
uses: lukka/run-vcpkg@v11 | |
with: | |
vcpkgGitCommitId: '${{ env.VCPKG_GIT_COMMIT }}' | |
runVcpkgInstall: true | |
- name: checkout MPC | |
uses: actions/checkout@v4 | |
with: | |
repository: DOCGroup/MPC | |
path: MPC | |
- name: checkout autobuild | |
uses: actions/checkout@v4 | |
with: | |
repository: DOCGroup/autobuild | |
path: autobuild | |
- name: checkout OpenDDS | |
uses: actions/checkout@v4 | |
with: | |
path: OpenDDS | |
submodules: true | |
- name: checkout ACE_TAO | |
uses: actions/checkout@v4 | |
with: | |
repository: DOCGroup/ACE_TAO | |
ref: ace6tao2 | |
path: OpenDDS/ACE_TAO | |
- name: download ACE_TAO artifact | |
uses: actions/download-artifact@v4 | |
with: | |
name: ACE_TAO_w19_re_o1p1_sec_artifact | |
path: OpenDDS/ACE_TAO | |
- name: extract ACE_TAO artifact | |
shell: bash | |
run: | | |
cd OpenDDS/ACE_TAO | |
tar xvfJ ACE_TAO_w19_re_o1p1_sec.tar.xz | |
rm -f ACE_TAO_w19_re_o1p1_sec.tar.xz | |
- name: download OpenDDS artifact | |
uses: actions/download-artifact@v4 | |
with: | |
name: build_w19_re_o1p1_sec_artifact | |
path: OpenDDS | |
- name: extract OpenDDS artifact | |
shell: bash | |
run: | | |
cd OpenDDS | |
tar xvfJ build_w19_re_o1p1_sec.tar.xz | |
rm -f build_w19_re_o1p1_sec.tar.xz | |
- name: set up msvc env | |
uses: ilammy/msvc-dev-cmd@v1 | |
- name: setup gtest | |
shell: cmd | |
run: | | |
cd OpenDDS/tests/googletest | |
git submodule init | |
git submodule update | |
mkdir build | |
cd build | |
mkdir install | |
cmake -DCMAKE_INSTALL_PREFIX=./install -DBUILD_SHARED_LIBS=ON .. | |
cmake --build . --target install --config Release | |
- name: check build configuration | |
shell: cmd | |
run: | | |
cd OpenDDS | |
call setenv.cmd | |
perl tools\scripts\show_build_config.pl | |
- name: create autobuild config | |
shell: bash | |
run: | | |
cd OpenDDS | |
mkdir ${{ github.job }}_autobuild_workspace | |
cd ${{ github.job }}_autobuild_workspace | |
export FS_GHW=$(echo $GITHUB_WORKSPACE | sed 's/\\/\//g') | |
echo using commit $TRIGGERING_COMMIT for SHA | |
echo $TRIGGERING_COMMIT >> ./SHA | |
cat > config.xml <<EOF | |
<autobuild> | |
<configuration> | |
<variable name="log_file" value="output"/> | |
<variable name="log_root" value="$FS_GHW/OpenDDS/${{ github.job }}_autobuild_workspace/logs"/> | |
<variable name="project_root" value="$FS_GHW/OpenDDS"/> | |
<variable name="root" value="$FS_GHW/OpenDDS/${{ github.job }}_autobuild_workspace"/> | |
<variable name="junit_xml_output" value="Tests"/> | |
</configuration> | |
<command name="log" options="on"/> | |
<command name="print_os_version"/> | |
<command name="print_ace_config"/> | |
<command name="print_cmake_version"/> | |
<command name="print_make_version"/> | |
<command name="check_compiler" options="msvc"/> | |
<command name="print_perl_version"/> | |
<command name="print_autobuild_config"/> | |
<command name="auto_run_tests" options="script_path=tests dir=$FS_GHW/OpenDDS --no-dcps --cmake --cmake-build-cfg Release"/> | |
<command name="log" options="off"/> | |
<command name="process_logs" options="move prettify index"/> | |
</autobuild> | |
EOF | |
cat config.xml | |
- name: run OpenDDS tests | |
shell: cmd | |
run: | | |
cd OpenDDS | |
call setenv.cmd | |
cd ${{ github.job }}_autobuild_workspace | |
perl "${{ github.workspace }}\autobuild\autobuild.pl" "${{ github.workspace }}\OpenDDS\${{ github.job }}_autobuild_workspace\config.xml" | |
- name: upload autobuild output | |
uses: actions/upload-artifact@v4 | |
with: | |
name: ${{ github.job }}_autobuild_output | |
path: OpenDDS\${{ github.job }}_autobuild_workspace | |
- name: Authenticate to Google Cloud | |
uses: google-github-actions/auth@v2 | |
with: | |
workload_identity_provider: projects/30587790497/locations/global/workloadIdentityPools/gha-scoreboard-upload/providers/gha-provider | |
service_account: [email protected] | |
if: ${{ github.repository == 'OpenDDS/OpenDDS' && github.ref == env.SCOREBOARD_UPLOAD_BRANCH }} | |
- name: get OpenDDS version | |
shell: bash | |
run: | | |
cd OpenDDS | |
echo "OPENDDS_MAJOR_VERSION=$(grep '#define OPENDDS_MAJOR_VERSION' dds/Version.h | cut -d' ' -f3)" >> $GITHUB_ENV | |
- name: upload to Google Cloud | |
uses: 'google-github-actions/upload-cloud-storage@v2' | |
with: | |
path: OpenDDS/${{ github.job }}_autobuild_workspace/logs | |
destination: opendds-gha-scoreboard-uploads/${{ env.OPENDDS_MAJOR_VERSION }}/${{ github.job }} | |
parent: false | |
process_gcloudignore: false | |
if: ${{ github.repository == 'OpenDDS/OpenDDS' && github.ref == env.SCOREBOARD_UPLOAD_BRANCH }} | |
- name: check results | |
shell: bash | |
run: | | |
$GITHUB_WORKSPACE/OpenDDS/tools/scripts/autobuild_brief_html_to_text.pl "$GITHUB_WORKSPACE/OpenDDS/${{ github.job }}_autobuild_workspace/logs/"*_Brief.html | |
cat "$GITHUB_WORKSPACE/OpenDDS/${{ github.job }}_autobuild_workspace/logs/latest.txt" | |
grep -q 'Failures: 0' "$GITHUB_WORKSPACE/OpenDDS/${{ github.job }}_autobuild_workspace/logs/latest.txt" | |
messenger_w19_re_o1p1_sec: | |
runs-on: windows-2019 | |
needs: build_w19_re_o1p1_sec | |
permissions: | |
contents: read | |
id-token: write | |
steps: | |
- name: download openssl artifact | |
uses: actions/download-artifact@v4 | |
with: | |
name: openssl3_w19_artifact | |
- name: extract openssl artifact | |
shell: bash | |
run: | | |
tar xvJf openssl3_w19.tar.xz | |
rm -f openssl3_w19.tar.xz | |
- name: setup for run-vcpkg | |
shell: bash | |
run: | | |
echo '{ "name": "opendds", "version-string": "github-actions", "dependencies": [ "xerces-c" ] }' > vcpkg.json | |
- name: install xerces-c | |
uses: lukka/run-vcpkg@v11 | |
with: | |
vcpkgGitCommitId: '${{ env.VCPKG_GIT_COMMIT }}' | |
runVcpkgInstall: true | |
- name: checkout MPC | |
uses: actions/checkout@v4 | |
with: | |
repository: DOCGroup/MPC | |
path: MPC | |
- name: checkout autobuild | |
uses: actions/checkout@v4 | |
with: | |
repository: DOCGroup/autobuild | |
path: autobuild | |
- name: checkout OpenDDS | |
uses: actions/checkout@v4 | |
with: | |
path: OpenDDS | |
submodules: true | |
- name: checkout ACE_TAO | |
uses: actions/checkout@v4 | |
with: | |
repository: DOCGroup/ACE_TAO | |
ref: ace6tao2 | |
path: OpenDDS/ACE_TAO | |
- name: download ACE_TAO artifact | |
uses: actions/download-artifact@v4 | |
with: | |
name: ACE_TAO_w19_re_o1p1_sec_artifact | |
path: OpenDDS/ACE_TAO | |
- name: extract ACE_TAO artifact | |
shell: bash | |
run: | | |
cd OpenDDS/ACE_TAO | |
tar xvfJ ACE_TAO_w19_re_o1p1_sec.tar.xz | |
rm -f ACE_TAO_w19_re_o1p1_sec.tar.xz | |
- name: download OpenDDS artifact | |
uses: actions/download-artifact@v4 | |
with: | |
name: build_w19_re_o1p1_sec_artifact | |
path: OpenDDS | |
- name: extract OpenDDS artifact | |
shell: bash | |
run: | | |
cd OpenDDS | |
tar xvfJ build_w19_re_o1p1_sec.tar.xz | |
rm -f build_w19_re_o1p1_sec.tar.xz | |
- name: set up msvc env | |
uses: ilammy/msvc-dev-cmd@v1 | |
- name: setup gtest | |
shell: cmd | |
run: | | |
cd OpenDDS/tests/googletest | |
git submodule init | |
git submodule update | |
mkdir build | |
cd build | |
mkdir install | |
cmake -DCMAKE_INSTALL_PREFIX=./install -DBUILD_SHARED_LIBS=ON .. | |
cmake --build . --target install --config Release | |
- name: check build configuration | |
shell: cmd | |
run: | | |
cd OpenDDS | |
call setenv.cmd | |
perl tools\scripts\show_build_config.pl | |
- name: configure messenger tests | |
shell: cmd | |
run: | | |
cd OpenDDS | |
call setenv.cmd | |
cd tests\DCPS\Messenger | |
perl %ACE_ROOT%\bin\mwc.pl -type vs2019 -features ipv6=1 -features no_cxx11=0 -features xerces3=1 -features no_rapidjson=0 -features ssl=1 -features openssl11=1 -features no_opendds_security=0 | |
- uses: ammaraskar/[email protected] | |
- name: make messenger tests | |
shell: cmd | |
run: | | |
cd OpenDDS | |
call setenv.cmd | |
cd tests\DCPS\Messenger | |
msbuild -p:Configuration=Release,Platform=x64 -m Messenger.sln | |
- name: configure C++11 messenger test | |
shell: cmd | |
run: | | |
cd OpenDDS | |
call setenv.cmd | |
cd tests\DCPS\C++11 | |
perl %ACE_ROOT%\bin\mwc.pl -type vs2019 -features ipv6=1 -features no_cxx11=0 -features xerces3=1 -features no_rapidjson=0 -features ssl=1 -features openssl11=1 -features no_opendds_security=0 | |
- name: make C++11 messenger test | |
shell: cmd | |
run: | | |
cd OpenDDS | |
call setenv.cmd | |
cd tests\DCPS\C++11 | |
msbuild -p:Configuration=Release,Platform=x64 -m C++11.sln | |
- name: create autobuild config | |
shell: bash | |
run: | | |
cd OpenDDS | |
mkdir ${{ github.job }}_autobuild_workspace | |
cd ${{ github.job }}_autobuild_workspace | |
export FS_GHW=$(echo $GITHUB_WORKSPACE | sed 's/\\/\//g') | |
echo using commit $TRIGGERING_COMMIT for SHA | |
echo $TRIGGERING_COMMIT >> ./SHA | |
cat > config.xml <<EOF | |
<autobuild> | |
<configuration> | |
<variable name="log_file" value="output"/> | |
<variable name="log_root" value="$FS_GHW/OpenDDS/${{ github.job }}_autobuild_workspace/logs"/> | |
<variable name="project_root" value="$FS_GHW/OpenDDS"/> | |
<variable name="root" value="$FS_GHW/OpenDDS/${{ github.job }}_autobuild_workspace"/> | |
<variable name="junit_xml_output" value="Tests"/> | |
</configuration> | |
<command name="log" options="on"/> | |
<command name="print_os_version"/> | |
<command name="print_ace_config"/> | |
<command name="print_make_version"/> | |
<command name="check_compiler" options="msvc"/> | |
<command name="print_perl_version"/> | |
<command name="print_autobuild_config"/> | |
<command name="auto_run_tests" options="script_path=tests dir=$FS_GHW/OpenDDS tests\core_ci_tests.lst -ExeSubDir Release -Config STATIC_MESSENGER -Config IPV6 -Config XERCES3 -Config OPENDDS_SECURITY -Config CXX11 -Config RAPIDJSON -Config NO_UNIT_TESTS"/> | |
<command name="log" options="off"/> | |
<command name="process_logs" options="move prettify index"/> | |
</autobuild> | |
EOF | |
cat config.xml | |
- name: run OpenDDS tests | |
shell: cmd | |
run: | | |
cd OpenDDS | |
call setenv.cmd | |
cd ${{ github.job }}_autobuild_workspace | |
perl "${{ github.workspace }}\autobuild\autobuild.pl" "${{ github.workspace }}\OpenDDS\${{ github.job }}_autobuild_workspace\config.xml" | |
- name: upload autobuild output | |
uses: actions/upload-artifact@v4 | |
with: | |
name: ${{ github.job }}_autobuild_output | |
path: OpenDDS\${{ github.job }}_autobuild_workspace | |
- name: Authenticate to Google Cloud | |
uses: google-github-actions/auth@v2 | |
with: | |
workload_identity_provider: projects/30587790497/locations/global/workloadIdentityPools/gha-scoreboard-upload/providers/gha-provider | |
service_account: [email protected] | |
if: ${{ github.repository == 'OpenDDS/OpenDDS' && github.ref == env.SCOREBOARD_UPLOAD_BRANCH }} | |
- name: get OpenDDS version | |
shell: bash | |
run: | | |
cd OpenDDS | |
echo "OPENDDS_MAJOR_VERSION=$(grep '#define OPENDDS_MAJOR_VERSION' dds/Version.h | cut -d' ' -f3)" >> $GITHUB_ENV | |
- name: upload to Google Cloud | |
uses: 'google-github-actions/upload-cloud-storage@v2' | |
with: | |
path: OpenDDS/${{ github.job }}_autobuild_workspace/logs | |
destination: opendds-gha-scoreboard-uploads/${{ env.OPENDDS_MAJOR_VERSION }}/${{ github.job }} | |
parent: false | |
process_gcloudignore: false | |
if: ${{ github.repository == 'OpenDDS/OpenDDS' && github.ref == env.SCOREBOARD_UPLOAD_BRANCH }} | |
- name: check results | |
shell: bash | |
run: | | |
$GITHUB_WORKSPACE/OpenDDS/tools/scripts/autobuild_brief_html_to_text.pl "$GITHUB_WORKSPACE/OpenDDS/${{ github.job }}_autobuild_workspace/logs/"*_Brief.html | |
cat "$GITHUB_WORKSPACE/OpenDDS/${{ github.job }}_autobuild_workspace/logs/latest.txt" | |
grep -q 'Failures: 0' "$GITHUB_WORKSPACE/OpenDDS/${{ github.job }}_autobuild_workspace/logs/latest.txt" | |
compiler_w19_re_o1p1_sec: | |
runs-on: windows-2019 | |
needs: build_w19_re_o1p1_sec | |
permissions: | |
contents: read | |
id-token: write | |
steps: | |
- name: setup for run-vcpkg | |
shell: bash | |
run: | | |
echo '{ "name": "opendds", "version-string": "github-actions", "dependencies": [ "openssl", "xerces-c" ] }' > vcpkg.json | |
- name: install openssl & xerces-c | |
uses: lukka/run-vcpkg@v11 | |
with: | |
vcpkgGitCommitId: '${{ env.VCPKG_GIT_COMMIT }}' | |
runVcpkgInstall: true | |
- name: checkout MPC | |
uses: actions/checkout@v4 | |
with: | |
repository: DOCGroup/MPC | |
path: MPC | |
- name: checkout autobuild | |
uses: actions/checkout@v4 | |
with: | |
repository: DOCGroup/autobuild | |
path: autobuild | |
- name: checkout OpenDDS | |
uses: actions/checkout@v4 | |
with: | |
path: OpenDDS | |
submodules: true | |
- name: checkout ACE_TAO | |
uses: actions/checkout@v4 | |
with: | |
repository: DOCGroup/ACE_TAO | |
ref: ace6tao2 | |
path: OpenDDS/ACE_TAO | |
- name: download ACE_TAO artifact | |
uses: actions/download-artifact@v4 | |
with: | |
name: ACE_TAO_w19_re_o1p1_sec_artifact | |
path: OpenDDS/ACE_TAO | |
- name: extract ACE_TAO artifact | |
shell: bash | |
run: | | |
cd OpenDDS/ACE_TAO | |
tar xvfJ ACE_TAO_w19_re_o1p1_sec.tar.xz | |
rm -f ACE_TAO_w19_re_o1p1_sec.tar.xz | |
- name: download OpenDDS artifact | |
uses: actions/download-artifact@v4 | |
with: | |
name: build_w19_re_o1p1_sec_artifact | |
path: OpenDDS | |
- name: extract OpenDDS artifact | |
shell: bash | |
run: | | |
cd OpenDDS | |
tar xvfJ build_w19_re_o1p1_sec.tar.xz | |
rm -f build_w19_re_o1p1_sec.tar.xz | |
- name: set up msvc env | |
uses: ilammy/msvc-dev-cmd@v1 | |
- name: check build configuration | |
shell: cmd | |
run: | | |
cd OpenDDS | |
call setenv.cmd | |
perl tools\scripts\show_build_config.pl | |
- name: setup gtest | |
shell: cmd | |
run: | | |
cd OpenDDS/tests/googletest | |
git submodule init | |
git submodule update | |
mkdir build | |
cd build | |
mkdir install | |
cmake -DCMAKE_INSTALL_PREFIX=./install -DBUILD_SHARED_LIBS=ON .. | |
cmake --build . --target install --config Release | |
- name: configure compiler tests | |
shell: cmd | |
run: | | |
cd OpenDDS | |
call setenv.cmd | |
cd tests\DCPS\Compiler | |
perl %ACE_ROOT%\bin\mwc.pl -type vs2019 -features ipv6=1 -features no_cxx11=0 -features xerces3=1 -features no_rapidjson=0 -features ssl=1 -features openssl11=1 -features no_opendds_security=0 | |
- uses: ammaraskar/[email protected] | |
- name: make compiler tests | |
shell: cmd | |
run: | | |
cd OpenDDS | |
call setenv.cmd | |
cd tests\DCPS\Compiler | |
msbuild -p:Configuration=Release,Platform=x64 -m Compiler.sln | |
- name: create autobuild config | |
shell: bash | |
run: | | |
cd OpenDDS | |
mkdir ${{ github.job }}_autobuild_workspace | |
cd ${{ github.job }}_autobuild_workspace | |
export FS_GHW=$(echo $GITHUB_WORKSPACE | sed 's/\\/\//g') | |
echo using commit $TRIGGERING_COMMIT for SHA | |
echo $TRIGGERING_COMMIT >> ./SHA | |
cat > config.xml <<EOF | |
<autobuild> | |
<configuration> | |
<variable name="log_file" value="output"/> | |
<variable name="log_root" value="$FS_GHW/OpenDDS/${{ github.job }}_autobuild_workspace/logs"/> | |
<variable name="project_root" value="$FS_GHW/OpenDDS"/> | |
<variable name="root" value="$FS_GHW/OpenDDS/${{ github.job }}_autobuild_workspace"/> | |
<variable name="junit_xml_output" value="Tests"/> | |
</configuration> | |
<command name="log" options="on"/> | |
<command name="print_os_version"/> | |
<command name="print_ace_config"/> | |
<command name="print_make_version"/> | |
<command name="check_compiler" options="msvc"/> | |
<command name="print_perl_version"/> | |
<command name="print_autobuild_config"/> | |
<command name="auto_run_tests" options="script_path=tests dir=$FS_GHW/OpenDDS tests\core_ci_tests.lst -ExeSubDir Release -Config STATIC_COMPILER -Config IPV6 -Config XERCES3 -Config OPENDDS_SECURITY -Config CXX11 -Config RAPIDJSON -Config NO_UNIT_TESTS"/> | |
<command name="log" options="off"/> | |
<command name="process_logs" options="move prettify index"/> | |
</autobuild> | |
EOF | |
cat config.xml | |
- name: run OpenDDS tests | |
shell: cmd | |
run: | | |
cd OpenDDS | |
call setenv.cmd | |
cd ${{ github.job }}_autobuild_workspace | |
perl "${{ github.workspace }}\autobuild\autobuild.pl" "${{ github.workspace }}\OpenDDS\${{ github.job }}_autobuild_workspace\config.xml" | |
- name: upload autobuild output | |
uses: actions/upload-artifact@v4 | |
with: | |
name: ${{ github.job }}_autobuild_output | |
path: OpenDDS\${{ github.job }}_autobuild_workspace | |
- name: Authenticate to Google Cloud | |
uses: google-github-actions/auth@v2 | |
with: | |
workload_identity_provider: projects/30587790497/locations/global/workloadIdentityPools/gha-scoreboard-upload/providers/gha-provider | |
service_account: [email protected] | |
if: ${{ github.repository == 'OpenDDS/OpenDDS' && github.ref == env.SCOREBOARD_UPLOAD_BRANCH }} | |
- name: get OpenDDS version | |
shell: bash | |
run: | | |
cd OpenDDS | |
echo "OPENDDS_MAJOR_VERSION=$(grep '#define OPENDDS_MAJOR_VERSION' dds/Version.h | cut -d' ' -f3)" >> $GITHUB_ENV | |
- name: upload to Google Cloud | |
uses: 'google-github-actions/upload-cloud-storage@v2' | |
with: | |
path: OpenDDS/${{ github.job }}_autobuild_workspace/logs | |
destination: opendds-gha-scoreboard-uploads/${{ env.OPENDDS_MAJOR_VERSION }}/${{ github.job }} | |
parent: false | |
process_gcloudignore: false | |
if: ${{ github.repository == 'OpenDDS/OpenDDS' && github.ref == env.SCOREBOARD_UPLOAD_BRANCH }} | |
- name: check results | |
shell: bash | |
run: | | |
$GITHUB_WORKSPACE/OpenDDS/tools/scripts/autobuild_brief_html_to_text.pl "$GITHUB_WORKSPACE/OpenDDS/${{ github.job }}_autobuild_workspace/logs/"*_Brief.html | |
cat "$GITHUB_WORKSPACE/OpenDDS/${{ github.job }}_autobuild_workspace/logs/latest.txt" | |
grep -q 'Failures: 0' "$GITHUB_WORKSPACE/OpenDDS/${{ github.job }}_autobuild_workspace/logs/latest.txt" | |
unit_w19_re_o1p1_sec: | |
runs-on: windows-2019 | |
needs: build_w19_re_o1p1_sec | |
permissions: | |
contents: read | |
id-token: write | |
steps: | |
- name: download openssl artifact | |
uses: actions/download-artifact@v4 | |
with: | |
name: openssl3_w19_artifact | |
- name: extract openssl artifact | |
shell: bash | |
run: | | |
tar xvJf openssl3_w19.tar.xz | |
rm -f openssl3_w19.tar.xz | |
- name: setup for run-vcpkg | |
shell: bash | |
run: | | |
echo '{ "name": "opendds", "version-string": "github-actions", "dependencies": [ "xerces-c" ] }' > vcpkg.json | |
- name: install xerces-c | |
uses: lukka/run-vcpkg@v11 | |
with: | |
vcpkgGitCommitId: '${{ env.VCPKG_GIT_COMMIT }}' | |
runVcpkgInstall: true | |
- name: checkout MPC | |
uses: actions/checkout@v4 | |
with: | |
repository: DOCGroup/MPC | |
path: MPC | |
- name: checkout autobuild | |
uses: actions/checkout@v4 | |
with: | |
repository: DOCGroup/autobuild | |
path: autobuild | |
- name: checkout OpenDDS | |
uses: actions/checkout@v4 | |
with: | |
path: OpenDDS | |
submodules: true | |
- name: checkout ACE_TAO | |
uses: actions/checkout@v4 | |
with: | |
repository: DOCGroup/ACE_TAO | |
ref: ace6tao2 | |
path: OpenDDS/ACE_TAO | |
- name: download ACE_TAO artifact | |
uses: actions/download-artifact@v4 | |
with: | |
name: ACE_TAO_w19_re_o1p1_sec_artifact | |
path: OpenDDS/ACE_TAO | |
- name: extract ACE_TAO artifact | |
shell: bash | |
run: | | |
cd OpenDDS/ACE_TAO | |
tar xvfJ ACE_TAO_w19_re_o1p1_sec.tar.xz | |
rm -f ACE_TAO_w19_re_o1p1_sec.tar.xz | |
- name: set up msvc env | |
uses: ilammy/msvc-dev-cmd@v1 | |
- name: download OpenDDS artifact | |
uses: actions/download-artifact@v4 | |
with: | |
name: build_w19_re_o1p1_sec_artifact | |
path: OpenDDS | |
- name: extract OpenDDS artifact | |
shell: bash | |
run: | | |
cd OpenDDS | |
tar xvfJ build_w19_re_o1p1_sec.tar.xz | |
rm -f build_w19_re_o1p1_sec.tar.xz | |
- name: check build configuration | |
shell: cmd | |
run: | | |
cd OpenDDS | |
call setenv.cmd | |
perl tools\scripts\show_build_config.pl | |
- name: setup gtest | |
shell: cmd | |
run: | | |
cd OpenDDS/tests/googletest | |
git submodule init | |
git submodule update | |
mkdir build | |
cd build | |
mkdir install | |
cmake -DCMAKE_INSTALL_PREFIX=./install -DBUILD_SHARED_LIBS=ON .. | |
cmake --build . --target install --config Release | |
- name: configure unit tests | |
shell: cmd | |
run: | | |
cd OpenDDS | |
call setenv.cmd | |
cd tests\unit-tests | |
perl %ACE_ROOT%\bin\mwc.pl -type vs2019 -features ipv6=1 -features no_cxx11=0 -features xerces3=1 -features no_rapidjson=0 -features ssl=1 -features openssl11=1 -features no_opendds_security=0 -value_project macros+=GTEST_LINKED_AS_SHARED_LIBRARY | |
- uses: ammaraskar/[email protected] | |
- name: make unit tests | |
shell: cmd | |
run: | | |
cd OpenDDS | |
call setenv.cmd | |
cd tests\unit-tests | |
msbuild -p:Configuration=Release,Platform=x64 -m unit_tests.sln | |
- name: create autobuild config | |
shell: bash | |
run: | | |
cd OpenDDS | |
mkdir ${{ github.job }}_autobuild_workspace | |
cd ${{ github.job }}_autobuild_workspace | |
export FS_GHW=$(echo $GITHUB_WORKSPACE | sed 's/\\/\//g') | |
echo using commit $TRIGGERING_COMMIT for SHA | |
echo $TRIGGERING_COMMIT >> ./SHA | |
cat > config.xml <<EOF | |
<autobuild> | |
<configuration> | |
<variable name="log_file" value="output"/> | |
<variable name="log_root" value="$FS_GHW/OpenDDS/${{ github.job }}_autobuild_workspace/logs"/> | |
<variable name="project_root" value="$FS_GHW/OpenDDS"/> | |
<variable name="root" value="$FS_GHW/OpenDDS/${{ github.job }}_autobuild_workspace"/> | |
<variable name="junit_xml_output" value="Tests"/> | |
</configuration> | |
<command name="log" options="on"/> | |
<command name="print_os_version"/> | |
<command name="print_ace_config"/> | |
<command name="print_make_version"/> | |
<command name="check_compiler" options="msvc"/> | |
<command name="print_perl_version"/> | |
<command name="print_autobuild_config"/> | |
<command name="auto_run_tests" options="script_path=tests dir=$FS_GHW/OpenDDS tests\core_ci_tests.lst -ExeSubDir Release -Config STATIC_UNIT_TESTS -Config IPV6 -Config XERCES3 -Config OPENDDS_SECURITY -Config CXX11 -Config RAPIDJSON"/> | |
<command name="log" options="off"/> | |
<command name="process_logs" options="move prettify index"/> | |
</autobuild> | |
EOF | |
cat config.xml | |
- name: run OpenDDS tests | |
shell: cmd | |
run: | | |
cd OpenDDS | |
call setenv.cmd | |
cd ${{ github.job }}_autobuild_workspace | |
perl "${{ github.workspace }}\autobuild\autobuild.pl" "${{ github.workspace }}\OpenDDS\${{ github.job }}_autobuild_workspace\config.xml" | |
- name: upload autobuild output | |
uses: actions/upload-artifact@v4 | |
with: | |
name: ${{ github.job }}_autobuild_output | |
path: OpenDDS\${{ github.job }}_autobuild_workspace | |
- name: Authenticate to Google Cloud | |
uses: google-github-actions/auth@v2 | |
with: | |
workload_identity_provider: projects/30587790497/locations/global/workloadIdentityPools/gha-scoreboard-upload/providers/gha-provider | |
service_account: [email protected] | |
if: ${{ github.repository == 'OpenDDS/OpenDDS' && github.ref == env.SCOREBOARD_UPLOAD_BRANCH }} | |
- name: get OpenDDS version | |
shell: bash | |
run: | | |
cd OpenDDS | |
echo "OPENDDS_MAJOR_VERSION=$(grep '#define OPENDDS_MAJOR_VERSION' dds/Version.h | cut -d' ' -f3)" >> $GITHUB_ENV | |
- name: upload to Google Cloud | |
uses: 'google-github-actions/upload-cloud-storage@v2' | |
with: | |
path: OpenDDS/${{ github.job }}_autobuild_workspace/logs | |
destination: opendds-gha-scoreboard-uploads/${{ env.OPENDDS_MAJOR_VERSION }}/${{ github.job }} | |
parent: false | |
process_gcloudignore: false | |
if: ${{ github.repository == 'OpenDDS/OpenDDS' && github.ref == env.SCOREBOARD_UPLOAD_BRANCH }} | |
- name: check results | |
shell: bash | |
run: | | |
$GITHUB_WORKSPACE/OpenDDS/tools/scripts/autobuild_brief_html_to_text.pl "$GITHUB_WORKSPACE/OpenDDS/${{ github.job }}_autobuild_workspace/logs/"*_Brief.html | |
cat "$GITHUB_WORKSPACE/OpenDDS/${{ github.job }}_autobuild_workspace/logs/latest.txt" | |
grep -q 'Failures: 0' "$GITHUB_WORKSPACE/OpenDDS/${{ github.job }}_autobuild_workspace/logs/latest.txt" | |
wireshark_w19-release: | |
runs-on: windows-2019 | |
steps: | |
- name: checkout OpenDDS | |
uses: actions/checkout@v4 | |
with: | |
path: OpenDDS | |
- name: checkout Wireshark | |
shell: cmd | |
run: | | |
git clone -q -b release-3.6 --depth=1 https://gitlab.com/wireshark/wireshark.git | |
cd wireshark | |
for /f %%x in ('git rev-parse HEAD') do @echo WIRESHARK_COMMIT=%%x>> %GITHUB_ENV% | |
- name: get compiler version | |
shell: bash | |
run: | | |
export COMPILER_VERSION=$("C:\Program Files (x86)\Microsoft Visual Studio\Installer\vswhere.exe" -property catalog_productDisplayVersion) | |
echo "COMPILER_VERSION=$COMPILER_VERSION" >> $GITHUB_ENV | |
- name: Cache Artifact | |
id: cache-artifact | |
uses: actions/cache@v4 | |
with: | |
path: ${{ github.job }}.tar.xz | |
key: c02_${{ github.job }}_${{ env.WIRESHARK_COMMIT }}_${{ env.COMPILER_VERSION }} | |
- name: checkout WinFlexBison | |
if: steps.cache-artifact.outputs.cache-hit != 'true' | |
uses: actions/checkout@v4 | |
with: | |
repository: lexxmark/winflexbison | |
path: winflexbison | |
ref: v2.5.24 | |
- name: set up msvc env | |
if: steps.cache-artifact.outputs.cache-hit != 'true' | |
uses: ilammy/msvc-dev-cmd@v1 | |
- name: copy CMakePresets for WinFlexBison | |
if: steps.cache-artifact.outputs.cache-hit != 'true' | |
shell: cmd | |
run: copy OpenDDS\.github\workflows\WinFlexBison_CMakePresets.json winflexbison\CMakePresets.json | |
- name: build WinFlexBison | |
if: steps.cache-artifact.outputs.cache-hit != 'true' | |
uses: lukka/run-cmake@v10 | |
with: | |
cmakeListsTxtPath: winflexbison/CMakeLists.txt | |
configurePreset: config1 | |
buildPreset: build1 | |
- name: set Wireshark environment and copy CMakePresets | |
if: steps.cache-artifact.outputs.cache-hit != 'true' | |
shell: cmd | |
run: | | |
echo WIRESHARK_LIB_DIR=%CD%\wireshark-win64-libs-3.6>> %GITHUB_ENV% | |
echo QT5_BASE_DIR=${{ steps.runvcpkg.outputs.RUNVCPKG_VCPKG_ROOT_OUT }}\installed\x64-windows>> %GITHUB_ENV% | |
echo WIRESHARK_BUILD_DIR=${{ github.workspace }}\wsbuild>> %GITHUB_ENV% | |
echo WINFLEXBISON_ROOT=${{ github.workspace }}\winflexbison>> %GITHUB_ENV% | |
type %GITHUB_ENV% | |
copy OpenDDS\.github\workflows\Wireshark_CMakePresets.json wireshark\CMakePresets.json | |
- name: build Wireshark | |
if: steps.cache-artifact.outputs.cache-hit != 'true' | |
uses: lukka/run-cmake@v10 | |
with: | |
cmakeListsTxtPath: wireshark/CMakeLists.txt | |
configurePreset: config1 | |
buildPreset: build1 | |
- name: create Wireshark artifact | |
if: steps.cache-artifact.outputs.cache-hit != 'true' | |
shell: bash | |
run: | | |
find -iname "*\.obj" -delete | |
tar cvhf ${{ github.job }}.tar wireshark wsbuild wireshark-win64-libs-3.6 | |
xz -3 ${{ github.job }}.tar | |
- name: upload Wireshark artifact | |
uses: actions/upload-artifact@v4 | |
with: | |
name: ${{ github.job }}_artifact | |
path: ${{ github.job }}.tar.xz | |
ACE_TAO_w19_re_j_ws_FM-1f: | |
runs-on: windows-2019 | |
steps: | |
- name: checkout OpenDDS | |
uses: actions/checkout@v4 | |
with: | |
path: OpenDDS | |
submodules: true | |
- name: checkout ACE_TAO | |
uses: actions/checkout@v4 | |
with: | |
repository: DOCGroup/ACE_TAO | |
ref: ace6tao2 | |
path: OpenDDS/ACE_TAO | |
- name: get ACE_TAO commit | |
shell: bash | |
run: | | |
cd OpenDDS/ACE_TAO | |
export ACE_COMMIT=$(git rev-parse HEAD) | |
echo "ACE_COMMIT=$ACE_COMMIT" >> $GITHUB_ENV | |
- name: get compiler version | |
shell: bash | |
run: | | |
export COMPILER_VERSION=$("C:\Program Files (x86)\Microsoft Visual Studio\Installer\vswhere.exe" -property catalog_productDisplayVersion) | |
echo "COMPILER_VERSION=$COMPILER_VERSION" >> $GITHUB_ENV | |
- name: get jdk version | |
shell: bash | |
run: | | |
export JDK_VERSION=$(java -version 2>&1 | grep -i version) | |
echo "JDK_VERSION=$JDK_VERSION" >> $GITHUB_ENV | |
- name: Cache Artifact | |
id: cache-artifact | |
uses: actions/cache@v4 | |
with: | |
path: ${{ github.job }}.tar.xz | |
key: c01_${{ github.job }}_ace6tao2_${{ env.ACE_COMMIT }}_${{ env.COMPILER_VERSION }}_${{ env.JDK_VERSION }} | |
- name: setup for run-vcpkg | |
if: steps.cache-artifact.outputs.cache-hit != 'true' | |
shell: bash | |
run: | | |
echo '{ "name": "opendds", "version-string": "github-actions", "dependencies": [ "openssl", "xerces-c" ] }' > vcpkg.json | |
- name: install openssl & xerces-c | |
if: steps.cache-artifact.outputs.cache-hit != 'true' | |
uses: lukka/run-vcpkg@v11 | |
with: | |
vcpkgGitCommitId: '${{ env.VCPKG_GIT_COMMIT }}' | |
runVcpkgInstall: true | |
- name: checkout MPC | |
if: steps.cache-artifact.outputs.cache-hit != 'true' | |
uses: actions/checkout@v4 | |
with: | |
repository: DOCGroup/MPC | |
path: MPC | |
- name: set up msvc env | |
if: steps.cache-artifact.outputs.cache-hit != 'true' | |
uses: ilammy/msvc-dev-cmd@v1 | |
- name: configure OpenDDS | |
if: steps.cache-artifact.outputs.cache-hit != 'true' | |
shell: cmd | |
run: | | |
cd OpenDDS | |
configure --optimize --java --no-built-in-topics --rapidjson --ace=${{ github.workspace }}/OpenDDS/ACE_TAO/ACE --tao=${{ github.workspace }}/OpenDDS/ACE_TAO/TAO --mpc=${{ github.workspace }}/MPC --xerces3=${{ env.VCPKG_INSTALLED_DIR }}/x64-windows --openssl=${{ env.VCPKG_INSTALLED_DIR }}/x64-windows --mpcopts=-hierarchy --compile-warnings=WARNING | |
- name: build ACE & TAO | |
if: steps.cache-artifact.outputs.cache-hit != 'true' | |
shell: cmd | |
run: | | |
cd OpenDDS | |
call setenv.cmd | |
cd ACE_TAO\ACE | |
msbuild -p:Configuration=Release,Platform=x64 -m ace.sln | |
cd ..\TAO | |
msbuild -p:Configuration=Release,Platform=x64 -m tao.sln | |
- name: create ACE_TAO tar.xz artifact | |
if: steps.cache-artifact.outputs.cache-hit != 'true' | |
shell: bash | |
run: | | |
cd OpenDDS/ACE_TAO | |
perl -ni.bak -e "print unless /opendds/" ACE/bin/MakeProjectCreator/config/default.features # remove opendds features from here, let individual build configure scripts handle those | |
find . -iname "*\.obj" | xargs rm | |
tar cvf ../../${{ github.job }}.tar ACE/ace/config.h | |
git clean -xdfn | cut -d ' ' -f 3- | xargs tar uvf ../../${{ github.job }}.tar | |
xz -3 ../../${{ github.job }}.tar | |
- name: upload ACE_TAO artifact | |
uses: actions/upload-artifact@v4 | |
with: | |
name: ${{ github.job }}_artifact | |
path: ${{ github.job }}.tar.xz | |
build_w19_re_j_ws_FM-1f: | |
runs-on: windows-2019 | |
needs: [ACE_TAO_w19_re_j_ws_FM-1f, wireshark_w19-release] | |
steps: | |
- name: download Wireshark artifact | |
uses: actions/download-artifact@v4 | |
with: | |
name: wireshark_w19-release_artifact | |
- name: extract Wireshark artifact | |
shell: bash | |
run: | | |
tar xvJf wireshark_w19-release.tar.xz | |
rm -f wireshark_w19-release.tar.xz | |
- name: setup for run-vcpkg | |
shell: bash | |
run: | | |
echo '{ "name": "opendds", "version-string": "github-actions", "dependencies": [ "openssl", "xerces-c" ] }' > vcpkg.json | |
- name: install openssl & xerces-c | |
uses: lukka/run-vcpkg@v11 | |
with: | |
vcpkgGitCommitId: '${{ env.VCPKG_GIT_COMMIT }}' | |
runVcpkgInstall: true | |
- name: checkout MPC | |
uses: actions/checkout@v4 | |
with: | |
repository: DOCGroup/MPC | |
path: MPC | |
- name: checkout OpenDDS | |
uses: actions/checkout@v4 | |
with: | |
path: OpenDDS | |
submodules: true | |
- name: checkout ACE_TAO | |
uses: actions/checkout@v4 | |
with: | |
repository: DOCGroup/ACE_TAO | |
ref: ace6tao2 | |
path: OpenDDS/ACE_TAO | |
- name: download ACE_TAO artifact | |
uses: actions/download-artifact@v4 | |
with: | |
name: ACE_TAO_w19_re_j_ws_FM-1f_artifact | |
path: OpenDDS/ACE_TAO | |
- name: extract ACE_TAO artifact | |
shell: bash | |
run: | | |
cd OpenDDS/ACE_TAO | |
tar xvfJ ACE_TAO_w19_re_j_ws_FM-1f.tar.xz | |
rm -f ACE_TAO_w19_re_j_ws_FM-1f.tar.xz | |
- name: set up msvc env | |
uses: ilammy/msvc-dev-cmd@v1 | |
- name: setup gtest | |
shell: cmd | |
run: | | |
cd OpenDDS/tests/googletest | |
git submodule init | |
git submodule update | |
mkdir build | |
cd build | |
mkdir install | |
cmake -DCMAKE_INSTALL_PREFIX=./install -DBUILD_SHARED_LIBS=ON .. | |
cmake --build . --target install --config Release | |
- name: configure OpenDDS | |
shell: cmd | |
run: | | |
cd OpenDDS | |
configure --optimize --java --no-built-in-topics --rapidjson --gtest=${{ github.workspace }}/OpenDDS/tests/googletest/build/install --ace=${{ github.workspace }}/OpenDDS/ACE_TAO/ACE --tao=${{ github.workspace }}/OpenDDS/ACE_TAO/TAO --mpc=${{ github.workspace }}/MPC --xerces3=${{ env.VCPKG_INSTALLED_DIR }}/x64-windows --wireshark-cmake=${{ github.workspace }}\wireshark --wireshark-build=${{ github.workspace }}\wsbuild --wireshark-lib=run --glib=${{ github.workspace }}\wireshark-win64-libs-3.6\vcpkg-export-20210609-1-win64ws\installed\x64-windows --openssl=${{ env.VCPKG_INSTALLED_DIR }}/x64-windows --mpcopts=-hierarchy --compile-warnings=WARNING | |
- name: check build configuration | |
shell: cmd | |
run: | | |
cd OpenDDS | |
call setenv.cmd | |
perl tools\scripts\show_build_config.pl | |
- uses: ammaraskar/[email protected] | |
- name: build OpenDDS | |
shell: cmd | |
run: | | |
cd OpenDDS | |
call setenv.cmd | |
msbuild -p:Configuration=Release,Platform=x64 -m DDS_no_tests.sln | |
- name: Build CMake Tests | |
shell: cmd | |
run: | | |
cd OpenDDS | |
call setenv.cmd | |
mkdir tests\cmake\build | |
cd tests\cmake\build | |
cmake .. | |
cmake --build . --config Release | |
- name: create OpenDDS tar.xz artifact | |
shell: bash | |
run: | | |
cd OpenDDS | |
rm -rf ACE_TAO | |
find . -iname "*\.obj" -o -iname "*\.pdb" -o -iname "*\.idb" -o -type f -iname "*\.tlog" | xargs rm | |
tar cvf ../${{ github.job }}.tar setenv.cmd | |
git clean -xdfn | cut -d ' ' -f 3- | xargs tar uvf ../${{ github.job }}.tar | |
xz -3 ../${{ github.job }}.tar | |
- name: upload OpenDDS artifact | |
uses: actions/upload-artifact@v4 | |
with: | |
name: ${{ github.job }}_artifact | |
path: ${{ github.job }}.tar.xz | |
cmake_w19_re_j_ws_FM-1f: | |
runs-on: windows-2019 | |
needs: build_w19_re_j_ws_FM-1f | |
permissions: | |
contents: read | |
id-token: write | |
steps: | |
- name: checkout MPC | |
uses: actions/checkout@v4 | |
with: | |
repository: DOCGroup/MPC | |
path: MPC | |
- name: checkout autobuild | |
uses: actions/checkout@v4 | |
with: | |
repository: DOCGroup/autobuild | |
path: autobuild | |
- name: checkout OpenDDS | |
uses: actions/checkout@v4 | |
with: | |
path: OpenDDS | |
submodules: true | |
- name: checkout ACE_TAO | |
uses: actions/checkout@v4 | |
with: | |
repository: DOCGroup/ACE_TAO | |
ref: ace6tao2 | |
path: OpenDDS/ACE_TAO | |
- name: download ACE_TAO artifact | |
uses: actions/download-artifact@v4 | |
with: | |
name: ACE_TAO_w19_re_j_ws_FM-1f_artifact | |
path: OpenDDS/ACE_TAO | |
- name: extract ACE_TAO artifact | |
shell: bash | |
run: | | |
cd OpenDDS/ACE_TAO | |
tar xvfJ ACE_TAO_w19_re_j_ws_FM-1f.tar.xz | |
rm -f ACE_TAO_w19_re_j_ws_FM-1f.tar.xz | |
- name: download OpenDDS artifact | |
uses: actions/download-artifact@v4 | |
with: | |
name: build_w19_re_j_ws_FM-1f_artifact | |
path: OpenDDS | |
- name: extract OpenDDS artifact | |
shell: bash | |
run: | | |
cd OpenDDS | |
tar xvfJ build_w19_re_j_ws_FM-1f.tar.xz | |
rm -f build_w19_re_j_ws_FM-1f.tar.xz | |
- name: set up msvc env | |
uses: ilammy/msvc-dev-cmd@v1 | |
- name: check build configuration | |
shell: cmd | |
run: | | |
cd OpenDDS | |
call setenv.cmd | |
perl tools\scripts\show_build_config.pl | |
- name: create autobuild config | |
shell: bash | |
run: | | |
cd OpenDDS | |
mkdir ${{ github.job }}_autobuild_workspace | |
cd ${{ github.job }}_autobuild_workspace | |
export FS_GHW=$(echo $GITHUB_WORKSPACE | sed 's/\\/\//g') | |
echo using commit $TRIGGERING_COMMIT for SHA | |
echo $TRIGGERING_COMMIT >> ./SHA | |
cat > config.xml <<EOF | |
<autobuild> | |
<configuration> | |
<variable name="log_file" value="output"/> | |
<variable name="log_root" value="$FS_GHW/OpenDDS/${{ github.job }}_autobuild_workspace/logs"/> | |
<variable name="project_root" value="$FS_GHW/OpenDDS"/> | |
<variable name="root" value="$FS_GHW/OpenDDS/${{ github.job }}_autobuild_workspace"/> | |
<variable name="junit_xml_output" value="Tests"/> | |
</configuration> | |
<command name="log" options="on"/> | |
<command name="print_os_version"/> | |
<command name="print_ace_config"/> | |
<command name="print_cmake_version"/> | |
<command name="print_make_version"/> | |
<command name="check_compiler" options="msvc"/> | |
<command name="print_perl_version"/> | |
<command name="print_autobuild_config"/> | |
<command name="auto_run_tests" options="script_path=tests dir=$FS_GHW/OpenDDS --no-dcps --cmake --cmake-build-cfg Release"/> | |
<command name="log" options="off"/> | |
<command name="process_logs" options="move prettify index"/> | |
</autobuild> | |
EOF | |
cat config.xml | |
- name: run OpenDDS tests | |
shell: cmd | |
run: | | |
cd OpenDDS | |
call setenv.cmd | |
cd ${{ github.job }}_autobuild_workspace | |
perl "${{ github.workspace }}\autobuild\autobuild.pl" "${{ github.workspace }}\OpenDDS\${{ github.job }}_autobuild_workspace\config.xml" | |
- name: upload autobuild output | |
uses: actions/upload-artifact@v4 | |
with: | |
name: ${{ github.job }}_autobuild_output | |
path: OpenDDS\${{ github.job }}_autobuild_workspace | |
- name: Authenticate to Google Cloud | |
uses: google-github-actions/auth@v2 | |
with: | |
workload_identity_provider: projects/30587790497/locations/global/workloadIdentityPools/gha-scoreboard-upload/providers/gha-provider | |
service_account: [email protected] | |
if: ${{ github.repository == 'OpenDDS/OpenDDS' && github.ref == env.SCOREBOARD_UPLOAD_BRANCH }} | |
- name: get OpenDDS version | |
shell: bash | |
run: | | |
cd OpenDDS | |
echo "OPENDDS_MAJOR_VERSION=$(grep '#define OPENDDS_MAJOR_VERSION' dds/Version.h | cut -d' ' -f3)" >> $GITHUB_ENV | |
- name: upload to Google Cloud | |
uses: 'google-github-actions/upload-cloud-storage@v2' | |
with: | |
path: OpenDDS/${{ github.job }}_autobuild_workspace/logs | |
destination: opendds-gha-scoreboard-uploads/${{ env.OPENDDS_MAJOR_VERSION }}/${{ github.job }} | |
parent: false | |
process_gcloudignore: false | |
if: ${{ github.repository == 'OpenDDS/OpenDDS' && github.ref == env.SCOREBOARD_UPLOAD_BRANCH }} | |
- name: check results | |
shell: bash | |
run: | | |
$GITHUB_WORKSPACE/OpenDDS/tools/scripts/autobuild_brief_html_to_text.pl "$GITHUB_WORKSPACE/OpenDDS/${{ github.job }}_autobuild_workspace/logs/"*_Brief.html | |
cat "$GITHUB_WORKSPACE/OpenDDS/${{ github.job }}_autobuild_workspace/logs/latest.txt" | |
grep -q 'Failures: 0' "$GITHUB_WORKSPACE/OpenDDS/${{ github.job }}_autobuild_workspace/logs/latest.txt" | |
messenger_w19_re_j_ws_FM-1f: | |
runs-on: windows-2019 | |
needs: build_w19_re_j_ws_FM-1f | |
permissions: | |
contents: read | |
id-token: write | |
steps: | |
- name: setup for run-vcpkg | |
shell: bash | |
run: | | |
echo '{ "name": "opendds", "version-string": "github-actions", "dependencies": [ "xerces-c" ] }' > vcpkg.json | |
- name: install xerces-c | |
uses: lukka/run-vcpkg@v11 | |
with: | |
vcpkgGitCommitId: '${{ env.VCPKG_GIT_COMMIT }}' | |
runVcpkgInstall: true | |
- name: checkout MPC | |
uses: actions/checkout@v4 | |
with: | |
repository: DOCGroup/MPC | |
path: MPC | |
- name: checkout autobuild | |
uses: actions/checkout@v4 | |
with: | |
repository: DOCGroup/autobuild | |
path: autobuild | |
- name: checkout OpenDDS | |
uses: actions/checkout@v4 | |
with: | |
path: OpenDDS | |
submodules: true | |
- name: checkout ACE_TAO | |
uses: actions/checkout@v4 | |
with: | |
repository: DOCGroup/ACE_TAO | |
ref: ace6tao2 | |
path: OpenDDS/ACE_TAO | |
- name: download ACE_TAO artifact | |
uses: actions/download-artifact@v4 | |
with: | |
name: ACE_TAO_w19_re_j_ws_FM-1f_artifact | |
path: OpenDDS/ACE_TAO | |
- name: extract ACE_TAO artifact | |
shell: bash | |
run: | | |
cd OpenDDS/ACE_TAO | |
tar xvfJ ACE_TAO_w19_re_j_ws_FM-1f.tar.xz | |
rm -f ACE_TAO_w19_re_j_ws_FM-1f.tar.xz | |
- name: download OpenDDS artifact | |
uses: actions/download-artifact@v4 | |
with: | |
name: build_w19_re_j_ws_FM-1f_artifact | |
path: OpenDDS | |
- name: extract OpenDDS artifact | |
shell: bash | |
run: | | |
cd OpenDDS | |
tar xvfJ build_w19_re_j_ws_FM-1f.tar.xz | |
rm -f build_w19_re_j_ws_FM-1f.tar.xz | |
- name: set up msvc env | |
uses: ilammy/msvc-dev-cmd@v1 | |
- name: check build configuration | |
shell: cmd | |
run: | | |
cd OpenDDS | |
call setenv.cmd | |
perl tools\scripts\show_build_config.pl | |
- name: setup gtest | |
shell: cmd | |
run: | | |
cd OpenDDS/tests/googletest | |
git submodule init | |
git submodule update | |
mkdir build | |
cd build | |
mkdir install | |
cmake -DCMAKE_INSTALL_PREFIX=./install -DBUILD_SHARED_LIBS=ON .. | |
cmake --build . --target install --config Release | |
- name: configure messenger tests | |
shell: cmd | |
run: | | |
cd OpenDDS | |
call setenv.cmd | |
cd tests\DCPS\Messenger | |
perl %ACE_ROOT%\bin\mwc.pl -type vs2019 -features no_cxx11=0 -features java=1 -features xerces3=1 -features no_rapidjson=0 -features ssl=1 -features openssl11=1 -features built_in_topics=0 | |
- uses: ammaraskar/[email protected] | |
- name: make messenger tests | |
shell: cmd | |
run: | | |
cd OpenDDS | |
call setenv.cmd | |
cd tests\DCPS\Messenger | |
msbuild -p:Configuration=Release,Platform=x64 -m Messenger.sln | |
- name: configure C++11 messenger test | |
shell: cmd | |
run: | | |
cd OpenDDS | |
call setenv.cmd | |
cd tests\DCPS\C++11 | |
perl %ACE_ROOT%\bin\mwc.pl -type vs2019 -features no_cxx11=0 -features java=1 -features xerces3=1 -features no_rapidjson=0 -features ssl=1 -features openssl11=1 -features built_in_topics=0 | |
- name: make C++11 messenger test | |
shell: cmd | |
run: | | |
cd OpenDDS | |
call setenv.cmd | |
cd tests\DCPS\C++11 | |
msbuild -p:Configuration=Release,Platform=x64 -m C++11.sln | |
- name: create autobuild config | |
shell: bash | |
run: | | |
cd OpenDDS | |
mkdir ${{ github.job }}_autobuild_workspace | |
cd ${{ github.job }}_autobuild_workspace | |
export FS_GHW=$(echo $GITHUB_WORKSPACE | sed 's/\\/\//g') | |
echo using commit $TRIGGERING_COMMIT for SHA | |
echo $TRIGGERING_COMMIT >> ./SHA | |
cat > config.xml <<EOF | |
<autobuild> | |
<configuration> | |
<variable name="log_file" value="output"/> | |
<variable name="log_root" value="$FS_GHW/OpenDDS/${{ github.job }}_autobuild_workspace/logs"/> | |
<variable name="project_root" value="$FS_GHW/OpenDDS"/> | |
<variable name="root" value="$FS_GHW/OpenDDS/${{ github.job }}_autobuild_workspace"/> | |
<variable name="junit_xml_output" value="Tests"/> | |
</configuration> | |
<command name="log" options="on"/> | |
<command name="print_os_version"/> | |
<command name="print_ace_config"/> | |
<command name="print_make_version"/> | |
<command name="check_compiler" options="msvc"/> | |
<command name="print_perl_version"/> | |
<command name="print_autobuild_config"/> | |
<command name="auto_run_tests" options="script_path=tests dir=$FS_GHW/OpenDDS tests\core_ci_tests.lst -ExeSubDir Release -Config STATIC_MESSENGER -Config XERCES3 -Config CXX11 -Config RAPIDJSON -Config NO_BUILT_IN_TOPICS -Config NO_UNIT_TESTS"/> | |
<command name="log" options="off"/> | |
<command name="process_logs" options="move prettify index"/> | |
</autobuild> | |
EOF | |
cat config.xml | |
- name: run OpenDDS tests | |
shell: cmd | |
run: | | |
cd OpenDDS | |
call setenv.cmd | |
cd ${{ github.job }}_autobuild_workspace | |
perl "${{ github.workspace }}\autobuild\autobuild.pl" "${{ github.workspace }}\OpenDDS\${{ github.job }}_autobuild_workspace\config.xml" | |
- name: upload autobuild output | |
uses: actions/upload-artifact@v4 | |
with: | |
name: ${{ github.job }}_autobuild_output | |
path: OpenDDS\${{ github.job }}_autobuild_workspace | |
- name: Authenticate to Google Cloud | |
uses: google-github-actions/auth@v2 | |
with: | |
workload_identity_provider: projects/30587790497/locations/global/workloadIdentityPools/gha-scoreboard-upload/providers/gha-provider | |
service_account: [email protected] | |
if: ${{ github.repository == 'OpenDDS/OpenDDS' && github.ref == env.SCOREBOARD_UPLOAD_BRANCH }} | |
- name: get OpenDDS version | |
shell: bash | |
run: | | |
cd OpenDDS | |
echo "OPENDDS_MAJOR_VERSION=$(grep '#define OPENDDS_MAJOR_VERSION' dds/Version.h | cut -d' ' -f3)" >> $GITHUB_ENV | |
- name: upload to Google Cloud | |
uses: 'google-github-actions/upload-cloud-storage@v2' | |
with: | |
path: OpenDDS/${{ github.job }}_autobuild_workspace/logs | |
destination: opendds-gha-scoreboard-uploads/${{ env.OPENDDS_MAJOR_VERSION }}/${{ github.job }} | |
parent: false | |
process_gcloudignore: false | |
if: ${{ github.repository == 'OpenDDS/OpenDDS' && github.ref == env.SCOREBOARD_UPLOAD_BRANCH }} | |
- name: check results | |
shell: bash | |
run: | | |
$GITHUB_WORKSPACE/OpenDDS/tools/scripts/autobuild_brief_html_to_text.pl "$GITHUB_WORKSPACE/OpenDDS/${{ github.job }}_autobuild_workspace/logs/"*_Brief.html | |
cat "$GITHUB_WORKSPACE/OpenDDS/${{ github.job }}_autobuild_workspace/logs/latest.txt" | |
grep -q 'Failures: 0' "$GITHUB_WORKSPACE/OpenDDS/${{ github.job }}_autobuild_workspace/logs/latest.txt" | |
compiler_w19_re_j_ws_FM-1f: | |
runs-on: windows-2019 | |
needs: build_w19_re_j_ws_FM-1f | |
permissions: | |
contents: read | |
id-token: write | |
steps: | |
- name: setup for run-vcpkg | |
shell: bash | |
run: | | |
echo '{ "name": "opendds", "version-string": "github-actions", "dependencies": [ "xerces-c" ] }' > vcpkg.json | |
- name: install xerces-c | |
uses: lukka/run-vcpkg@v11 | |
with: | |
vcpkgGitCommitId: '${{ env.VCPKG_GIT_COMMIT }}' | |
runVcpkgInstall: true | |
- name: checkout MPC | |
uses: actions/checkout@v4 | |
with: | |
repository: DOCGroup/MPC | |
path: MPC | |
- name: checkout autobuild | |
uses: actions/checkout@v4 | |
with: | |
repository: DOCGroup/autobuild | |
path: autobuild | |
- name: checkout OpenDDS | |
uses: actions/checkout@v4 | |
with: | |
path: OpenDDS | |
submodules: true | |
- name: checkout ACE_TAO | |
uses: actions/checkout@v4 | |
with: | |
repository: DOCGroup/ACE_TAO | |
ref: ace6tao2 | |
path: OpenDDS/ACE_TAO | |
- name: download ACE_TAO artifact | |
uses: actions/download-artifact@v4 | |
with: | |
name: ACE_TAO_w19_re_j_ws_FM-1f_artifact | |
path: OpenDDS/ACE_TAO | |
- name: extract ACE_TAO artifact | |
shell: bash | |
run: | | |
cd OpenDDS/ACE_TAO | |
tar xvfJ ACE_TAO_w19_re_j_ws_FM-1f.tar.xz | |
rm -f ACE_TAO_w19_re_j_ws_FM-1f.tar.xz | |
- name: download OpenDDS artifact | |
uses: actions/download-artifact@v4 | |
with: | |
name: build_w19_re_j_ws_FM-1f_artifact | |
path: OpenDDS | |
- name: extract OpenDDS artifact | |
shell: bash | |
run: | | |
cd OpenDDS | |
tar xvfJ build_w19_re_j_ws_FM-1f.tar.xz | |
rm -f build_w19_re_j_ws_FM-1f.tar.xz | |
- name: set up msvc env | |
uses: ilammy/msvc-dev-cmd@v1 | |
- name: check build configuration | |
shell: cmd | |
run: | | |
cd OpenDDS | |
call setenv.cmd | |
perl tools\scripts\show_build_config.pl | |
- name: setup gtest | |
shell: cmd | |
run: | | |
cd OpenDDS/tests/googletest | |
git submodule init | |
git submodule update | |
mkdir build | |
cd build | |
mkdir install | |
cmake -DCMAKE_INSTALL_PREFIX=./install -DBUILD_SHARED_LIBS=ON .. | |
cmake --build . --target install --config Release | |
- name: configure compiler tests | |
shell: cmd | |
run: | | |
cd OpenDDS | |
call setenv.cmd | |
cd tests\DCPS\Compiler | |
perl %ACE_ROOT%\bin\mwc.pl -type vs2019 -features no_cxx11=0 -features java=1 -features xerces3=1 -features no_rapidjson=0 -features ssl=1 -features openssl11=1 -features built_in_topics=0 | |
- uses: ammaraskar/[email protected] | |
- name: make compiler tests | |
shell: cmd | |
run: | | |
cd OpenDDS | |
call setenv.cmd | |
cd tests\DCPS\Compiler | |
msbuild -p:Configuration=Release,Platform=x64 -m Compiler.sln | |
- name: create autobuild config | |
shell: bash | |
run: | | |
cd OpenDDS | |
mkdir ${{ github.job }}_autobuild_workspace | |
cd ${{ github.job }}_autobuild_workspace | |
export FS_GHW=$(echo $GITHUB_WORKSPACE | sed 's/\\/\//g') | |
echo using commit $TRIGGERING_COMMIT for SHA | |
echo $TRIGGERING_COMMIT >> ./SHA | |
cat > config.xml <<EOF | |
<autobuild> | |
<configuration> | |
<variable name="log_file" value="output"/> | |
<variable name="log_root" value="$FS_GHW/OpenDDS/${{ github.job }}_autobuild_workspace/logs"/> | |
<variable name="project_root" value="$FS_GHW/OpenDDS"/> | |
<variable name="root" value="$FS_GHW/OpenDDS/${{ github.job }}_autobuild_workspace"/> | |
<variable name="junit_xml_output" value="Tests"/> | |
</configuration> | |
<command name="log" options="on"/> | |
<command name="print_os_version"/> | |
<command name="print_ace_config"/> | |
<command name="print_make_version"/> | |
<command name="check_compiler" options="msvc"/> | |
<command name="print_perl_version"/> | |
<command name="print_autobuild_config"/> | |
<command name="auto_run_tests" options="script_path=tests dir=$FS_GHW/OpenDDS tests\core_ci_tests.lst -ExeSubDir Release -Config STATIC_COMPILER -Config XERCES3 -Config CXX11 -Config RAPIDJSON -Config NO_BUILT_IN_TOPICS -Config NO_UNIT_TESTS"/> | |
<command name="log" options="off"/> | |
<command name="process_logs" options="move prettify index"/> | |
</autobuild> | |
EOF | |
cat config.xml | |
- name: run OpenDDS tests | |
shell: cmd | |
run: | | |
cd OpenDDS | |
call setenv.cmd | |
cd ${{ github.job }}_autobuild_workspace | |
perl "${{ github.workspace }}\autobuild\autobuild.pl" "${{ github.workspace }}\OpenDDS\${{ github.job }}_autobuild_workspace\config.xml" | |
- name: upload autobuild output | |
uses: actions/upload-artifact@v4 | |
with: | |
name: ${{ github.job }}_autobuild_output | |
path: OpenDDS\${{ github.job }}_autobuild_workspace | |
- name: Authenticate to Google Cloud | |
uses: google-github-actions/auth@v2 | |
with: | |
workload_identity_provider: projects/30587790497/locations/global/workloadIdentityPools/gha-scoreboard-upload/providers/gha-provider | |
service_account: [email protected] | |
if: ${{ github.repository == 'OpenDDS/OpenDDS' && github.ref == env.SCOREBOARD_UPLOAD_BRANCH }} | |
- name: get OpenDDS version | |
shell: bash | |
run: | | |
cd OpenDDS | |
echo "OPENDDS_MAJOR_VERSION=$(grep '#define OPENDDS_MAJOR_VERSION' dds/Version.h | cut -d' ' -f3)" >> $GITHUB_ENV | |
- name: upload to Google Cloud | |
uses: 'google-github-actions/upload-cloud-storage@v2' | |
with: | |
path: OpenDDS/${{ github.job }}_autobuild_workspace/logs | |
destination: opendds-gha-scoreboard-uploads/${{ env.OPENDDS_MAJOR_VERSION }}/${{ github.job }} | |
parent: false | |
process_gcloudignore: false | |
if: ${{ github.repository == 'OpenDDS/OpenDDS' && github.ref == env.SCOREBOARD_UPLOAD_BRANCH }} | |
- name: check results | |
shell: bash | |
run: | | |
$GITHUB_WORKSPACE/OpenDDS/tools/scripts/autobuild_brief_html_to_text.pl "$GITHUB_WORKSPACE/OpenDDS/${{ github.job }}_autobuild_workspace/logs/"*_Brief.html | |
cat "$GITHUB_WORKSPACE/OpenDDS/${{ github.job }}_autobuild_workspace/logs/latest.txt" | |
grep -q 'Failures: 0' "$GITHUB_WORKSPACE/OpenDDS/${{ github.job }}_autobuild_workspace/logs/latest.txt" | |
unit_w19_re_j_ws_FM-1f: | |
runs-on: windows-2019 | |
needs: build_w19_re_j_ws_FM-1f | |
permissions: | |
contents: read | |
id-token: write | |
steps: | |
- name: setup for run-vcpkg | |
shell: bash | |
run: | | |
echo '{ "name": "opendds", "version-string": "github-actions", "dependencies": [ "xerces-c" ] }' > vcpkg.json | |
- name: install xerces-c | |
uses: lukka/run-vcpkg@v11 | |
with: | |
vcpkgGitCommitId: '${{ env.VCPKG_GIT_COMMIT }}' | |
runVcpkgInstall: true | |
- name: checkout MPC | |
uses: actions/checkout@v4 | |
with: | |
repository: DOCGroup/MPC | |
path: MPC | |
- name: checkout autobuild | |
uses: actions/checkout@v4 | |
with: | |
repository: DOCGroup/autobuild | |
path: autobuild | |
- name: checkout OpenDDS | |
uses: actions/checkout@v4 | |
with: | |
path: OpenDDS | |
submodules: true | |
- name: checkout ACE_TAO | |
uses: actions/checkout@v4 | |
with: | |
repository: DOCGroup/ACE_TAO | |
ref: ace6tao2 | |
path: OpenDDS/ACE_TAO | |
- name: download ACE_TAO artifact | |
uses: actions/download-artifact@v4 | |
with: | |
name: ACE_TAO_w19_re_j_ws_FM-1f_artifact | |
path: OpenDDS/ACE_TAO | |
- name: extract ACE_TAO artifact | |
shell: bash | |
run: | | |
cd OpenDDS/ACE_TAO | |
tar xvfJ ACE_TAO_w19_re_j_ws_FM-1f.tar.xz | |
rm -f ACE_TAO_w19_re_j_ws_FM-1f.tar.xz | |
- name: download OpenDDS artifact | |
uses: actions/download-artifact@v4 | |
with: | |
name: build_w19_re_j_ws_FM-1f_artifact | |
path: OpenDDS | |
- name: extract OpenDDS artifact | |
shell: bash | |
run: | | |
cd OpenDDS | |
tar xvfJ build_w19_re_j_ws_FM-1f.tar.xz | |
rm -f build_w19_re_j_ws_FM-1f.tar.xz | |
- name: set up msvc env | |
uses: ilammy/msvc-dev-cmd@v1 | |
- name: check build configuration | |
shell: cmd | |
run: | | |
cd OpenDDS | |
call setenv.cmd | |
perl tools\scripts\show_build_config.pl | |
- name: setup gtest | |
shell: cmd | |
run: | | |
cd OpenDDS/tests/googletest | |
git submodule init | |
git submodule update | |
mkdir build | |
cd build | |
mkdir install | |
cmake -DCMAKE_INSTALL_PREFIX=./install -DBUILD_SHARED_LIBS=ON .. | |
cmake --build . --target install --config Release | |
- name: check GTest Path | |
shell: cmd | |
run: | | |
cd D:\a\OpenDDS\OpenDDS\OpenDDS\tests\googletest\build\install\ | |
dir | |
cd lib | |
dir | |
- name: configure unit tests | |
shell: cmd | |
run: | | |
cd OpenDDS | |
call setenv.cmd | |
cd tests\unit-tests | |
perl %ACE_ROOT%\bin\mwc.pl -type vs2019 -features no_cxx11=0 -features java=1 -features xerces3=1 -features no_rapidjson=0 -features ssl=1 -features openssl11=1 -features built_in_topics=0 -value_project macros+=GTEST_LINKED_AS_SHARED_LIBRARY | |
- uses: ammaraskar/[email protected] | |
- name: make unit tests | |
shell: cmd | |
run: | | |
cd OpenDDS | |
call setenv.cmd | |
cd tests\unit-tests | |
msbuild -p:Configuration=Release,Platform=x64 -m unit_tests.sln | |
- name: create autobuild config | |
shell: bash | |
run: | | |
cd OpenDDS | |
mkdir ${{ github.job }}_autobuild_workspace | |
cd ${{ github.job }}_autobuild_workspace | |
export FS_GHW=$(echo $GITHUB_WORKSPACE | sed 's/\\/\//g') | |
echo using commit $TRIGGERING_COMMIT for SHA | |
echo $TRIGGERING_COMMIT >> ./SHA | |
cat > config.xml <<EOF | |
<autobuild> | |
<configuration> | |
<variable name="log_file" value="output"/> | |
<variable name="log_root" value="$FS_GHW/OpenDDS/${{ github.job }}_autobuild_workspace/logs"/> | |
<variable name="project_root" value="$FS_GHW/OpenDDS"/> | |
<variable name="root" value="$FS_GHW/OpenDDS/${{ github.job }}_autobuild_workspace"/> | |
<variable name="junit_xml_output" value="Tests"/> | |
</configuration> | |
<command name="log" options="on"/> | |
<command name="print_os_version"/> | |
<command name="print_ace_config"/> | |
<command name="print_make_version"/> | |
<command name="check_compiler" options="msvc"/> | |
<command name="print_perl_version"/> | |
<command name="print_autobuild_config"/> | |
<command name="auto_run_tests" options="script_path=tests dir=$FS_GHW/OpenDDS tests\core_ci_tests.lst -ExeSubDir Release -Config STATIC_UNIT_TESTS -Config XERCES3 -Config CXX11 -Config RAPIDJSON -Config NO_BUILT_IN_TOPICS"/> | |
<command name="log" options="off"/> | |
<command name="process_logs" options="move prettify index"/> | |
</autobuild> | |
EOF | |
cat config.xml | |
- name: run OpenDDS tests | |
shell: cmd | |
run: | | |
cd OpenDDS | |
call setenv.cmd | |
cd ${{ github.job }}_autobuild_workspace | |
perl "${{ github.workspace }}\autobuild\autobuild.pl" "${{ github.workspace }}\OpenDDS\${{ github.job }}_autobuild_workspace\config.xml" | |
- name: upload autobuild output | |
uses: actions/upload-artifact@v4 | |
with: | |
name: ${{ github.job }}_autobuild_output | |
path: OpenDDS\${{ github.job }}_autobuild_workspace | |
- name: Authenticate to Google Cloud | |
uses: google-github-actions/auth@v2 | |
with: | |
workload_identity_provider: projects/30587790497/locations/global/workloadIdentityPools/gha-scoreboard-upload/providers/gha-provider | |
service_account: [email protected] | |
if: ${{ github.repository == 'OpenDDS/OpenDDS' && github.ref == env.SCOREBOARD_UPLOAD_BRANCH }} | |
- name: get OpenDDS version | |
shell: bash | |
run: | | |
cd OpenDDS | |
echo "OPENDDS_MAJOR_VERSION=$(grep '#define OPENDDS_MAJOR_VERSION' dds/Version.h | cut -d' ' -f3)" >> $GITHUB_ENV | |
- name: upload to Google Cloud | |
uses: 'google-github-actions/upload-cloud-storage@v2' | |
with: | |
path: OpenDDS/${{ github.job }}_autobuild_workspace/logs | |
destination: opendds-gha-scoreboard-uploads/${{ env.OPENDDS_MAJOR_VERSION }}/${{ github.job }} | |
parent: false | |
process_gcloudignore: false | |
if: ${{ github.repository == 'OpenDDS/OpenDDS' && github.ref == env.SCOREBOARD_UPLOAD_BRANCH }} | |
- name: check results | |
shell: bash | |
run: | | |
$GITHUB_WORKSPACE/OpenDDS/tools/scripts/autobuild_brief_html_to_text.pl "$GITHUB_WORKSPACE/OpenDDS/${{ github.job }}_autobuild_workspace/logs/"*_Brief.html | |
cat "$GITHUB_WORKSPACE/OpenDDS/${{ github.job }}_autobuild_workspace/logs/latest.txt" | |
grep -q 'Failures: 0' "$GITHUB_WORKSPACE/OpenDDS/${{ github.job }}_autobuild_workspace/logs/latest.txt" | |
ACE_TAO_w22_x86_i0: | |
runs-on: windows-2022 | |
steps: | |
- name: checkout OpenDDS | |
uses: actions/checkout@v4 | |
with: | |
path: OpenDDS | |
submodules: true | |
- name: checkout ACE_TAO | |
uses: actions/checkout@v4 | |
with: | |
repository: DOCGroup/ACE_TAO | |
ref: ace6tao2 | |
path: OpenDDS/ACE_TAO | |
- name: get ACE_TAO commit | |
shell: bash | |
run: | | |
cd OpenDDS/ACE_TAO | |
export ACE_COMMIT=$(git rev-parse HEAD) | |
echo "ACE_COMMIT=$ACE_COMMIT" >> $GITHUB_ENV | |
- name: get compiler version | |
shell: bash | |
run: | | |
export COMPILER_VERSION=$("C:\Program Files (x86)\Microsoft Visual Studio\Installer\vswhere.exe" -property catalog_productDisplayVersion) | |
echo "COMPILER_VERSION=$COMPILER_VERSION" >> $GITHUB_ENV | |
- name: get jdk version | |
shell: bash | |
run: | | |
export JDK_VERSION=$(java -version 2>&1 | grep -i version) | |
echo "JDK_VERSION=$JDK_VERSION" >> $GITHUB_ENV | |
- name: Cache Artifact | |
id: cache-artifact | |
uses: actions/cache@v4 | |
with: | |
path: ${{ github.job }}.tar.xz | |
key: c02_${{ github.job }}_ace6tao2_${{ env.ACE_COMMIT }}_${{ env.COMPILER_VERSION }}_${{ env.JDK_VERSION }} | |
- name: setup for run-vcpkg | |
if: steps.cache-artifact.outputs.cache-hit != 'true' | |
shell: bash | |
run: | | |
echo '{ "name": "opendds", "version-string": "github-actions", "dependencies": [ "openssl", "xerces-c" ] }' > vcpkg.json | |
echo "VCPKG_DEFAULT_TRIPLET=x86-windows" >> $GITHUB_ENV | |
- name: install openssl & xerces-c | |
if: steps.cache-artifact.outputs.cache-hit != 'true' | |
uses: lukka/run-vcpkg@v11 | |
with: | |
vcpkgGitCommitId: '${{ env.VCPKG_GIT_COMMIT }}' | |
runVcpkgInstall: true | |
- name: checkout MPC | |
if: steps.cache-artifact.outputs.cache-hit != 'true' | |
uses: actions/checkout@v4 | |
with: | |
repository: DOCGroup/MPC | |
path: MPC | |
- name: set up msvc env | |
if: steps.cache-artifact.outputs.cache-hit != 'true' | |
uses: ilammy/msvc-dev-cmd@v1 | |
with: | |
arch: x86 | |
- name: configure OpenDDS | |
if: steps.cache-artifact.outputs.cache-hit != 'true' | |
shell: cmd | |
run: | | |
cd OpenDDS | |
call configure -v --no-inline --tests --security --ace=${{ github.workspace }}/OpenDDS/ACE_TAO/ACE --tao=${{ github.workspace }}/OpenDDS/ACE_TAO/TAO --mpc=${{ github.workspace }}/MPC --xerces3=${{ env.VCPKG_INSTALLED_DIR }}/x86-windows --openssl=${{ env.VCPKG_INSTALLED_DIR }}/x86-windows --mpcopts=-hierarchy --compile-warnings=WARNING | |
perl tools\scripts\show_build_config.pl | |
- name: build ACE & TAO | |
if: steps.cache-artifact.outputs.cache-hit != 'true' | |
shell: cmd | |
run: | | |
cd OpenDDS | |
call setenv.cmd | |
cd ACE_TAO\ACE | |
msbuild -p:Configuration=Debug,Platform=Win32 -m ace.sln | |
cd ..\TAO | |
msbuild -p:Configuration=Debug,Platform=Win32 -m tao.sln | |
- name: create ACE_TAO tar.xz artifact | |
if: steps.cache-artifact.outputs.cache-hit != 'true' | |
shell: bash | |
run: | | |
cd OpenDDS/ACE_TAO | |
perl -ni.bak -e "print unless /opendds/" ACE/bin/MakeProjectCreator/config/default.features # remove opendds features from here, let individual build configure scripts handle those | |
find . -iname "*\.obj" | xargs rm | |
tar cvf ../../${{ github.job }}.tar ACE/ace/config.h | |
git clean -xdfn | cut -d ' ' -f 3- | xargs tar uvf ../../${{ github.job }}.tar | |
xz -3 ../../${{ github.job }}.tar | |
- name: upload ACE_TAO artifact | |
uses: actions/upload-artifact@v4 | |
with: | |
name: ${{ github.job }}_artifact | |
path: ${{ github.job }}.tar.xz | |
build_w22_x86_i0_sec: | |
runs-on: windows-2022 | |
needs: ACE_TAO_w22_x86_i0 | |
steps: | |
- name: setup for run-vcpkg | |
shell: bash | |
run: | | |
echo '{ "name": "opendds", "version-string": "github-actions", "dependencies": [ "openssl", "xerces-c" ] }' > vcpkg.json | |
echo "VCPKG_DEFAULT_TRIPLET=x86-windows" >> $GITHUB_ENV | |
- name: install openssl & xerces-c | |
uses: lukka/run-vcpkg@v11 | |
with: | |
vcpkgGitCommitId: '${{ env.VCPKG_GIT_COMMIT }}' | |
runVcpkgInstall: true | |
- name: remove unused files | |
shell: bash | |
run: | | |
cd vcpkg | |
rm -rf buildtrees downloads | |
- name: checkout MPC | |
uses: actions/checkout@v4 | |
with: | |
repository: DOCGroup/MPC | |
path: MPC | |
- name: checkout OpenDDS | |
uses: actions/checkout@v4 | |
with: | |
path: OpenDDS | |
submodules: true | |
- name: checkout ACE_TAO | |
uses: actions/checkout@v4 | |
with: | |
repository: DOCGroup/ACE_TAO | |
ref: ace6tao2 | |
path: ACE_TAO | |
- name: download ACE_TAO artifact | |
uses: actions/download-artifact@v4 | |
with: | |
name: ACE_TAO_w22_x86_i0_artifact | |
path: ACE_TAO | |
- name: extract ACE_TAO artifact | |
shell: bash | |
run: | | |
cd ACE_TAO | |
tar xvfJ ACE_TAO_w22_x86_i0.tar.xz | |
rm -f ACE_TAO_w22_x86_i0.tar.xz | |
- name: move OpenDDS to C drive | |
shell: bash | |
run: | | |
mv OpenDDS /c/ | |
- name: set up msvc env | |
uses: ilammy/msvc-dev-cmd@v1 | |
with: | |
arch: x86 | |
- name: configure OpenDDS | |
shell: cmd | |
run: | | |
cd /d C:\OpenDDS | |
configure --tests --rapidjson --security --ace=${{ github.workspace }}\ACE_TAO\ACE --tao=${{ github.workspace }}\ACE_TAO\TAO --mpc=${{ github.workspace }}\MPC --xerces3="${{ env.VCPKG_INSTALLED_DIR }}\x86-windows" --openssl="${{ env.VCPKG_INSTALLED_DIR }}\x86-windows" --compile-warnings=WARNING | |
- name: check build configuration | |
shell: cmd | |
run: | | |
cd /d C:\OpenDDS | |
call setenv.cmd | |
perl tools\scripts\show_build_config.pl | |
- uses: ammaraskar/[email protected] | |
- name: build OpenDDS | |
shell: cmd | |
run: | | |
cd /d C:\OpenDDS | |
call setenv.cmd | |
msbuild -p:Configuration=Debug,Platform=Win32 -m DDS.sln | |
- name: create OpenDDS tar.xz artifact | |
shell: bash | |
run: | | |
cd /c/OpenDDS | |
find . -iname "*\.obj" -o -iname "*\.pdb" -o -iname "*\.idb" -o -type f -iname "*\.tlog" | xargs rm | |
tar cvf ../${{ github.job }}.tar setenv.cmd | |
git clean -xdfn | cut -d ' ' -f 3- | xargs tar uvf ../${{ github.job }}.tar | |
xz -3 ../${{ github.job }}.tar | |
mv ../${{ github.job }}.tar.xz $GITHUB_WORKSPACE | |
- name: upload OpenDDS artifact | |
uses: actions/upload-artifact@v4 | |
with: | |
name: ${{ github.job }}_artifact | |
path: ${{ github.job }}.tar.xz | |
cmake_w22_x86_i0_sec: | |
runs-on: windows-2022 | |
needs: build_w22_x86_i0_sec | |
permissions: | |
contents: read | |
id-token: write | |
steps: | |
- name: setup for run-vcpkg | |
shell: bash | |
run: | | |
echo '{ "name": "opendds", "version-string": "github-actions", "dependencies": [ "openssl", "xerces-c" ] }' > vcpkg.json | |
echo "VCPKG_DEFAULT_TRIPLET=x86-windows" >> $GITHUB_ENV | |
- name: install openssl & xerces-c | |
uses: lukka/run-vcpkg@v11 | |
with: | |
vcpkgGitCommitId: '${{ env.VCPKG_GIT_COMMIT }}' | |
runVcpkgInstall: true | |
- name: checkout MPC | |
uses: actions/checkout@v4 | |
with: | |
repository: DOCGroup/MPC | |
path: MPC | |
- name: checkout autobuild | |
uses: actions/checkout@v4 | |
with: | |
repository: DOCGroup/autobuild | |
path: autobuild | |
- name: checkout OpenDDS | |
uses: actions/checkout@v4 | |
with: | |
path: OpenDDS | |
submodules: true | |
- name: checkout ACE_TAO | |
uses: actions/checkout@v4 | |
with: | |
repository: DOCGroup/ACE_TAO | |
ref: ace6tao2 | |
path: ACE_TAO | |
- name: download ACE_TAO artifact | |
uses: actions/download-artifact@v4 | |
with: | |
name: ACE_TAO_w22_x86_i0_artifact | |
path: ACE_TAO | |
- name: extract ACE_TAO artifact | |
shell: bash | |
run: | | |
cd ACE_TAO | |
tar xvfJ ACE_TAO_w22_x86_i0.tar.xz | |
rm -f ACE_TAO_w22_x86_i0.tar.xz | |
- name: download OpenDDS artifact | |
uses: actions/download-artifact@v4 | |
with: | |
name: build_w22_x86_i0_sec_artifact | |
path: OpenDDS | |
- name: extract OpenDDS artifact | |
shell: bash | |
run: | | |
cd OpenDDS | |
tar xvfJ build_w22_x86_i0_sec.tar.xz | |
rm -f build_w22_x86_i0_sec.tar.xz | |
- name: move OpenDDS to C drive | |
shell: bash | |
run: | | |
mv OpenDDS /c/ | |
- name: set up msvc env | |
uses: ilammy/msvc-dev-cmd@v1 | |
- uses: ammaraskar/[email protected] | |
- name: Build CMake Tests | |
shell: cmd | |
run: | | |
cd /d C:\OpenDDS | |
call setenv.cmd | |
mkdir tests\cmake\build | |
cd tests\cmake\build | |
cmake -A Win32 .. | |
cmake --build . | |
- name: check build configuration | |
shell: cmd | |
run: | | |
cd /d C:\OpenDDS | |
call setenv.cmd | |
perl tools\scripts\show_build_config.pl | |
- name: create autobuild config | |
shell: bash | |
run: | | |
cd /c/OpenDDS | |
mkdir ${{ github.job }}_autobuild_workspace | |
cd ${{ github.job }}_autobuild_workspace | |
echo using commit $TRIGGERING_COMMIT for SHA | |
echo $TRIGGERING_COMMIT >> ./SHA | |
cat > config.xml <<EOF | |
<autobuild> | |
<configuration> | |
<variable name="log_file" value="output"/> | |
<variable name="log_root" value="C:/OpenDDS/${{ github.job }}_autobuild_workspace/logs"/> | |
<variable name="project_root" value="C:/OpenDDS"/> | |
<variable name="root" value="C:/OpenDDS/${{ github.job }}_autobuild_workspace"/> | |
<variable name="junit_xml_output" value="Tests"/> | |
</configuration> | |
<command name="log" options="on"/> | |
<command name="print_os_version"/> | |
<command name="print_ace_config"/> | |
<command name="print_cmake_version"/> | |
<command name="print_make_version"/> | |
<command name="check_compiler" options="msvc"/> | |
<command name="print_perl_version"/> | |
<command name="print_autobuild_config"/> | |
<command name="auto_run_tests" options="script_path=tests dir=C:/OpenDDS --no-dcps --cmake"/> | |
<command name="log" options="off"/> | |
<command name="process_logs" options="move prettify index"/> | |
</autobuild> | |
EOF | |
- name: run OpenDDS CMake tests | |
shell: cmd | |
run: | | |
cd /d C:\OpenDDS | |
call setenv.cmd | |
cd ${{ github.job }}_autobuild_workspace | |
perl "${{ github.workspace }}\autobuild\autobuild.pl" "C:\OpenDDS\${{ github.job }}_autobuild_workspace\config.xml" | |
- name: upload autobuild output | |
uses: actions/upload-artifact@v4 | |
with: | |
name: ${{ github.job }}_autobuild_output | |
path: C:\OpenDDS\${{ github.job }}_autobuild_workspace | |
- name: Authenticate to Google Cloud | |
uses: google-github-actions/auth@v2 | |
with: | |
workload_identity_provider: projects/30587790497/locations/global/workloadIdentityPools/gha-scoreboard-upload/providers/gha-provider | |
service_account: [email protected] | |
if: ${{ github.repository == 'OpenDDS/OpenDDS' && github.ref == env.SCOREBOARD_UPLOAD_BRANCH }} | |
- name: get OpenDDS version | |
shell: bash | |
run: | | |
cd /c/OpenDDS | |
echo "OPENDDS_MAJOR_VERSION=$(grep '#define OPENDDS_MAJOR_VERSION' dds/Version.h | cut -d' ' -f3)" >> $GITHUB_ENV | |
- name: upload to Google Cloud | |
uses: 'google-github-actions/upload-cloud-storage@v2' | |
with: | |
path: C:\OpenDDS\${{ github.job }}_autobuild_workspace/logs | |
destination: opendds-gha-scoreboard-uploads/${{ env.OPENDDS_MAJOR_VERSION }}/${{ github.job }} | |
parent: false | |
process_gcloudignore: false | |
if: ${{ github.repository == 'OpenDDS/OpenDDS' && github.ref == env.SCOREBOARD_UPLOAD_BRANCH }} | |
- name: check results | |
shell: bash | |
run: | | |
/c/OpenDDS/tools/scripts/autobuild_brief_html_to_text.pl "/c/OpenDDS/${{ github.job }}_autobuild_workspace/logs/"*_Brief.html | |
cat "/c/OpenDDS/${{ github.job }}_autobuild_workspace/logs/latest.txt" | |
grep -q 'Failures: 0' "/c/OpenDDS/${{ github.job }}_autobuild_workspace/logs/latest.txt" | |
test_w22_x86_i0_sec: | |
runs-on: windows-2022 | |
needs: build_w22_x86_i0_sec | |
permissions: | |
contents: read | |
id-token: write | |
steps: | |
- name: setup for run-vcpkg | |
shell: bash | |
run: | | |
echo '{ "name": "opendds", "version-string": "github-actions", "dependencies": [ "openssl", "xerces-c" ] }' > vcpkg.json | |
echo "VCPKG_DEFAULT_TRIPLET=x86-windows" >> $GITHUB_ENV | |
- name: install openssl & xerces-c | |
uses: lukka/run-vcpkg@v11 | |
with: | |
vcpkgGitCommitId: '${{ env.VCPKG_GIT_COMMIT }}' | |
runVcpkgInstall: true | |
- name: checkout MPC | |
uses: actions/checkout@v4 | |
with: | |
repository: DOCGroup/MPC | |
path: MPC | |
- name: checkout autobuild | |
uses: actions/checkout@v4 | |
with: | |
repository: DOCGroup/autobuild | |
path: autobuild | |
- name: checkout OpenDDS | |
uses: actions/checkout@v4 | |
with: | |
path: OpenDDS | |
submodules: true | |
- name: checkout ACE_TAO | |
uses: actions/checkout@v4 | |
with: | |
repository: DOCGroup/ACE_TAO | |
ref: ace6tao2 | |
path: ACE_TAO | |
- name: download ACE_TAO artifact | |
uses: actions/download-artifact@v4 | |
with: | |
name: ACE_TAO_w22_x86_i0_artifact | |
path: ACE_TAO | |
- name: extract ACE_TAO artifact | |
shell: bash | |
run: | | |
cd ACE_TAO | |
tar xvfJ ACE_TAO_w22_x86_i0.tar.xz | |
rm -f ACE_TAO_w22_x86_i0.tar.xz | |
- name: download OpenDDS artifact | |
uses: actions/download-artifact@v4 | |
with: | |
name: build_w22_x86_i0_sec_artifact | |
path: OpenDDS | |
- name: extract OpenDDS artifact | |
shell: bash | |
run: | | |
cd OpenDDS | |
tar xvfJ build_w22_x86_i0_sec.tar.xz | |
rm -f build_w22_x86_i0_sec.tar.xz | |
- name: move OpenDDS to C drive | |
shell: bash | |
run: | | |
mv OpenDDS /c/ | |
- name: setup gtest | |
shell: cmd | |
run: | | |
cd /d C:\OpenDDS\tests\googletest | |
git submodule init | |
git submodule update | |
mkdir build | |
cd build | |
mkdir install | |
cmake -DCMAKE_INSTALL_PREFIX=./install -A Win32 .. | |
cmake --build . --target install | |
- name: set up msvc env | |
uses: ilammy/msvc-dev-cmd@v1 | |
- name: check build configuration | |
shell: cmd | |
run: | | |
cd /d C:\OpenDDS | |
call setenv.cmd | |
perl tools\scripts\show_build_config.pl | |
- name: create autobuild config | |
shell: bash | |
run: | | |
cd /c/OpenDDS | |
mkdir ${{ github.job }}_autobuild_workspace | |
cd ${{ github.job }}_autobuild_workspace | |
echo using commit $TRIGGERING_COMMIT for SHA | |
echo $TRIGGERING_COMMIT >> ./SHA | |
cat > config.xml <<EOF | |
<autobuild> | |
<configuration> | |
<variable name="log_file" value="output"/> | |
<variable name="log_root" value="C:/OpenDDS/${{ github.job }}_autobuild_workspace/logs"/> | |
<variable name="project_root" value="C:/OpenDDS"/> | |
<variable name="root" value="C:/OpenDDS/${{ github.job }}_autobuild_workspace"/> | |
<variable name="junit_xml_output" value="Tests"/> | |
</configuration> | |
<command name="log" options="on"/> | |
<command name="print_os_version"/> | |
<command name="print_ace_config"/> | |
<command name="print_cmake_version"/> | |
<command name="print_make_version"/> | |
<command name="check_compiler" options="msvc"/> | |
<command name="print_perl_version"/> | |
<command name="print_autobuild_config"/> | |
<command name="auto_run_tests" options="script_path=tests dir=C:/OpenDDS -Config DCPS_MIN"/> | |
<command name="log" options="off"/> | |
<command name="process_logs" options="move prettify index"/> | |
</autobuild> | |
EOF | |
- name: run OpenDDS tests | |
shell: cmd | |
run: | | |
cd /d C:\OpenDDS | |
call setenv.cmd | |
cd ${{ github.job }}_autobuild_workspace | |
perl "${{ github.workspace }}\autobuild\autobuild.pl" "C:\OpenDDS\${{ github.job }}_autobuild_workspace\config.xml" | |
- name: upload autobuild output | |
uses: actions/upload-artifact@v4 | |
with: | |
name: ${{ github.job }}_autobuild_output | |
path: C:\OpenDDS\${{ github.job }}_autobuild_workspace | |
- name: Authenticate to Google Cloud | |
uses: google-github-actions/auth@v2 | |
with: | |
workload_identity_provider: projects/30587790497/locations/global/workloadIdentityPools/gha-scoreboard-upload/providers/gha-provider | |
service_account: [email protected] | |
if: ${{ github.repository == 'OpenDDS/OpenDDS' && github.ref == env.SCOREBOARD_UPLOAD_BRANCH }} | |
- name: get OpenDDS version | |
shell: bash | |
run: | | |
cd /c/OpenDDS | |
echo "OPENDDS_MAJOR_VERSION=$(grep '#define OPENDDS_MAJOR_VERSION' dds/Version.h | cut -d' ' -f3)" >> $GITHUB_ENV | |
- name: upload to Google Cloud | |
uses: 'google-github-actions/upload-cloud-storage@v2' | |
with: | |
path: C:\OpenDDS\${{ github.job }}_autobuild_workspace/logs | |
destination: opendds-gha-scoreboard-uploads/${{ env.OPENDDS_MAJOR_VERSION }}/${{ github.job }} | |
parent: false | |
process_gcloudignore: false | |
if: ${{ github.repository == 'OpenDDS/OpenDDS' && github.ref == env.SCOREBOARD_UPLOAD_BRANCH }} | |
- name: check results | |
shell: bash | |
run: | | |
/c/OpenDDS/tools/scripts/autobuild_brief_html_to_text.pl "/c/OpenDDS/${{ github.job }}_autobuild_workspace/logs/"*_Brief.html | |
cat "/c/OpenDDS/${{ github.job }}_autobuild_workspace/logs/latest.txt" | |
grep -q 'Failures: 0' "/c/OpenDDS/${{ github.job }}_autobuild_workspace/logs/latest.txt" | |
build_w22_x86_i0_j_FM-1f: | |
runs-on: windows-2022 | |
needs: ACE_TAO_w22_x86_i0 | |
steps: | |
- name: setup for run-vcpkg | |
shell: bash | |
run: | | |
echo '{ "name": "opendds", "version-string": "github-actions", "dependencies": [ "xerces-c" ] }' > vcpkg.json | |
echo "VCPKG_DEFAULT_TRIPLET=x86-windows" >> $GITHUB_ENV | |
- name: install xerces-c | |
uses: lukka/run-vcpkg@v11 | |
with: | |
vcpkgGitCommitId: '${{ env.VCPKG_GIT_COMMIT }}' | |
runVcpkgInstall: true | |
- name: checkout MPC | |
uses: actions/checkout@v4 | |
with: | |
repository: DOCGroup/MPC | |
path: MPC | |
- name: checkout OpenDDS | |
uses: actions/checkout@v4 | |
with: | |
path: OpenDDS | |
submodules: true | |
- name: checkout ACE_TAO | |
uses: actions/checkout@v4 | |
with: | |
repository: DOCGroup/ACE_TAO | |
ref: ace6tao2 | |
path: OpenDDS/ACE_TAO | |
- name: download ACE_TAO artifact | |
uses: actions/download-artifact@v4 | |
with: | |
name: ACE_TAO_w22_x86_i0_artifact | |
path: OpenDDS/ACE_TAO | |
- name: extract ACE_TAO artifact | |
shell: bash | |
run: | | |
cd OpenDDS/ACE_TAO | |
tar xvfJ ACE_TAO_w22_x86_i0.tar.xz | |
rm -f ACE_TAO_w22_x86_i0.tar.xz | |
- name: Move OpenDDS to C Drive | |
shell: bash | |
run: | | |
mv OpenDDS /c/ | |
- uses: ammaraskar/[email protected] | |
- name: set up msvc env | |
uses: ilammy/msvc-dev-cmd@v1 | |
with: | |
arch: x86 | |
- name: configure OpenDDS | |
shell: cmd | |
run: | | |
cd /d C:\OpenDDS | |
configure --tests --java --no-built-in-topics --rapidjson --mpc=${{ github.workspace }}\MPC --xerces3="${{ env.VCPKG_INSTALLED_DIR }}\x86-windows" --features no_opendds_testing_features=0 --compile-warnings=WARNING | |
- name: check build configuration | |
shell: cmd | |
run: | | |
cd /d C:\OpenDDS | |
call setenv.cmd | |
perl tools\scripts\show_build_config.pl | |
- name: build OpenDDS | |
shell: cmd | |
run: | | |
cd /d C:\OpenDDS | |
call setenv.cmd | |
msbuild -p:Configuration=Debug,Platform=Win32 -m DDS.sln | |
- name: create OpenDDS tar.xz artifact | |
shell: bash | |
run: | | |
cd /c/OpenDDS | |
find . -iname "*\.obj" -o -iname "*\.pdb" -o -iname "*\.idb" -o -type f -iname "*\.tlog" | xargs rm | |
tar cvf ../${{ github.job }}.tar setenv.cmd | |
git clean -xdfn | cut -d ' ' -f 3- | xargs tar uvf ../${{ github.job }}.tar | |
xz -3 ../${{ github.job }}.tar | |
mv ../${{ github.job }}.tar.xz $GITHUB_WORKSPACE | |
- name: upload OpenDDS artifact | |
uses: actions/upload-artifact@v4 | |
with: | |
name: ${{ github.job }}_artifact | |
path: ${{ github.job }}.tar.xz | |
cmake_w22_x86_i0_j_FM-1f: | |
runs-on: windows-2022 | |
needs: build_w22_x86_i0_j_FM-1f | |
permissions: | |
contents: read | |
id-token: write | |
steps: | |
- name: setup for run-vcpkg | |
shell: bash | |
run: | | |
echo '{ "name": "opendds", "version-string": "github-actions", "dependencies": [ "openssl", "xerces-c" ] }' > vcpkg.json | |
echo "VCPKG_DEFAULT_TRIPLET=x86-windows" >> $GITHUB_ENV | |
- name: install openssl & xerces-c | |
uses: lukka/run-vcpkg@v11 | |
with: | |
vcpkgGitCommitId: '${{ env.VCPKG_GIT_COMMIT }}' | |
runVcpkgInstall: true | |
- name: checkout MPC | |
uses: actions/checkout@v4 | |
with: | |
repository: DOCGroup/MPC | |
path: MPC | |
- name: checkout autobuild | |
uses: actions/checkout@v4 | |
with: | |
repository: DOCGroup/autobuild | |
path: autobuild | |
- name: checkout OpenDDS | |
uses: actions/checkout@v4 | |
with: | |
path: OpenDDS | |
submodules: true | |
- name: checkout ACE_TAO | |
uses: actions/checkout@v4 | |
with: | |
repository: DOCGroup/ACE_TAO | |
ref: ace6tao2 | |
path: OpenDDS/ACE_TAO | |
- name: download ACE_TAO artifact | |
uses: actions/download-artifact@v4 | |
with: | |
name: ACE_TAO_w22_x86_i0_artifact | |
path: OpenDDS/ACE_TAO | |
- name: extract ACE_TAO artifact | |
shell: bash | |
run: | | |
cd OpenDDS/ACE_TAO | |
tar xvfJ ACE_TAO_w22_x86_i0.tar.xz | |
rm -f ACE_TAO_w22_x86_i0.tar.xz | |
- name: download OpenDDS artifact | |
uses: actions/download-artifact@v4 | |
with: | |
name: build_w22_x86_i0_j_FM-1f_artifact | |
path: OpenDDS | |
- name: extract OpenDDS artifact | |
shell: bash | |
run: | | |
cd OpenDDS | |
tar xvfJ build_w22_x86_i0_j_FM-1f.tar.xz | |
rm -f build_w22_x86_i0_j_FM-1f.tar.xz | |
- name: Move OpenDDS to C Drive | |
shell: bash | |
run: | | |
mv OpenDDS /c/ | |
- name: set up msvc env | |
uses: ilammy/msvc-dev-cmd@v1 | |
- uses: ammaraskar/[email protected] | |
- name: check build configuration | |
shell: cmd | |
run: | | |
cd /d C:\OpenDDS | |
call setenv.cmd | |
perl tools\scripts\show_build_config.pl | |
- name: Build CMake Tests | |
shell: cmd | |
run: | | |
cd /d C:\OpenDDS | |
call setenv.cmd | |
mkdir C:\tests\cmake\build | |
cd /d C:\tests\cmake\build | |
cmake -A Win32 %DDS_ROOT%\tests\cmake | |
cmake --build . | |
- name: create autobuild config | |
shell: bash | |
run: | | |
cd /c/OpenDDS | |
mkdir ${{ github.job }}_autobuild_workspace | |
cd ${{ github.job }}_autobuild_workspace | |
echo using commit $TRIGGERING_COMMIT for SHA | |
echo $TRIGGERING_COMMIT >> ./SHA | |
cat > config.xml <<EOF | |
<autobuild> | |
<configuration> | |
<variable name="log_file" value="output"/> | |
<variable name="log_root" value="c:/OpenDDS/${{ github.job }}_autobuild_workspace/logs"/> | |
<variable name="project_root" value="c:/OpenDDS"/> | |
<variable name="root" value="c:/OpenDDS/${{ github.job }}_autobuild_workspace"/> | |
<variable name="junit_xml_output" value="Tests"/> | |
</configuration> | |
<command name="log" options="on"/> | |
<command name="print_os_version"/> | |
<command name="print_ace_config"/> | |
<command name="print_cmake_version"/> | |
<command name="print_make_version"/> | |
<command name="check_compiler" options="msvc"/> | |
<command name="print_perl_version"/> | |
<command name="print_autobuild_config"/> | |
<command name="auto_run_tests" options="script_path=tests dir=c:/OpenDDS --no-dcps --cmake --cmake-build-dir=c:/tests/cmake/build -Config OPENDDS_TESTING_FEATURES"/> | |
<command name="log" options="off"/> | |
<command name="process_logs" options="move prettify index"/> | |
</autobuild> | |
EOF | |
cat config.xml | |
- name: run OpenDDS tests | |
shell: cmd | |
run: | | |
cd /d C:\OpenDDS | |
call setenv.cmd | |
cd ${{ github.job }}_autobuild_workspace | |
perl "${{ github.workspace }}\autobuild\autobuild.pl" "C:\OpenDDS\${{ github.job }}_autobuild_workspace\config.xml" | |
- name: upload autobuild output | |
uses: actions/upload-artifact@v4 | |
with: | |
name: ${{ github.job }}_autobuild_output | |
path: c:/OpenDDS/${{ github.job }}_autobuild_workspace | |
- name: Authenticate to Google Cloud | |
uses: google-github-actions/auth@v2 | |
with: | |
workload_identity_provider: projects/30587790497/locations/global/workloadIdentityPools/gha-scoreboard-upload/providers/gha-provider | |
service_account: [email protected] | |
if: ${{ github.repository == 'OpenDDS/OpenDDS' && github.ref == env.SCOREBOARD_UPLOAD_BRANCH }} | |
- name: get OpenDDS version | |
shell: bash | |
run: | | |
cd /c/OpenDDS | |
echo "OPENDDS_MAJOR_VERSION=$(grep '#define OPENDDS_MAJOR_VERSION' dds/Version.h | cut -d' ' -f3)" >> $GITHUB_ENV | |
- name: upload to Google Cloud | |
uses: 'google-github-actions/upload-cloud-storage@v2' | |
with: | |
path: c:/OpenDDS/${{ github.job }}_autobuild_workspace/logs | |
destination: opendds-gha-scoreboard-uploads/${{ env.OPENDDS_MAJOR_VERSION }}/${{ github.job }} | |
parent: false | |
process_gcloudignore: false | |
if: ${{ github.repository == 'OpenDDS/OpenDDS' && github.ref == env.SCOREBOARD_UPLOAD_BRANCH }} | |
- name: check results | |
shell: bash | |
run: | | |
/c/OpenDDS/tools/scripts/autobuild_brief_html_to_text.pl "c:/OpenDDS/${{ github.job }}_autobuild_workspace/logs/"*_Brief.html | |
cat "c:/OpenDDS/${{ github.job }}_autobuild_workspace/logs/latest.txt" | |
grep -q 'Failures: 0' "c:/OpenDDS/${{ github.job }}_autobuild_workspace/logs/latest.txt" | |
ACE_TAO_w22_p1: | |
runs-on: windows-2022 | |
steps: | |
- name: checkout OpenDDS | |
uses: actions/checkout@v4 | |
with: | |
path: OpenDDS | |
submodules: true | |
- name: checkout ACE_TAO | |
uses: actions/checkout@v4 | |
with: | |
repository: DOCGroup/ACE_TAO | |
ref: ace6tao2 | |
path: OpenDDS/ACE_TAO | |
- name: get ACE_TAO commit | |
shell: bash | |
run: | | |
cd OpenDDS/ACE_TAO | |
export ACE_COMMIT=$(git rev-parse HEAD) | |
echo "ACE_COMMIT=$ACE_COMMIT" >> $GITHUB_ENV | |
- name: get compiler version | |
shell: bash | |
run: | | |
export COMPILER_VERSION=$("C:\Program Files (x86)\Microsoft Visual Studio\Installer\vswhere.exe" -property catalog_productDisplayVersion) | |
echo "COMPILER_VERSION=$COMPILER_VERSION" >> $GITHUB_ENV | |
- name: Cache Artifact | |
id: cache-artifact | |
uses: actions/cache@v4 | |
with: | |
path: ${{ github.job }}.tar.xz | |
key: c02_${{ github.job }}_ace6tao2_${{ env.ACE_COMMIT }}_${{ env.COMPILER_VERSION }} | |
- name: setup for run-vcpkg | |
if: steps.cache-artifact.outputs.cache-hit != 'true' | |
shell: bash | |
run: | | |
echo '{ "name": "opendds", "version-string": "github-actions", "dependencies": [ "openssl", "xerces-c" ] }' > vcpkg.json | |
- name: install openssl & xerces-c | |
if: steps.cache-artifact.outputs.cache-hit != 'true' | |
uses: lukka/run-vcpkg@v11 | |
with: | |
vcpkgGitCommitId: '${{ env.VCPKG_GIT_COMMIT }}' | |
runVcpkgInstall: true | |
- name: checkout MPC | |
if: steps.cache-artifact.outputs.cache-hit != 'true' | |
uses: actions/checkout@v4 | |
with: | |
repository: DOCGroup/MPC | |
path: MPC | |
- name: set up msvc env | |
if: steps.cache-artifact.outputs.cache-hit != 'true' | |
uses: ilammy/msvc-dev-cmd@v1 | |
- name: configure OpenDDS | |
if: steps.cache-artifact.outputs.cache-hit != 'true' | |
shell: cmd | |
run: | | |
cd OpenDDS | |
configure --std=c++20 --tests --ipv6 --rapidjson --ace=${{ github.workspace }}/OpenDDS/ACE_TAO/ACE --tao=${{ github.workspace }}/OpenDDS/ACE_TAO/TAO --mpc=${{ github.workspace }}/MPC --xerces3=${{ env.VCPKG_INSTALLED_DIR }}/x64-windows --openssl=${{ env.VCPKG_INSTALLED_DIR }}/x64-windows --mpcopts=-hierarchy --compile-warnings=WARNING | |
- name: build ACE & TAO | |
if: steps.cache-artifact.outputs.cache-hit != 'true' | |
shell: cmd | |
run: | | |
cd OpenDDS | |
call setenv.cmd | |
cd ACE_TAO\ACE | |
msbuild -p:Configuration=Debug,Platform=x64 -m ace.sln | |
cd ..\TAO | |
msbuild -p:Configuration=Debug,Platform=x64 -m tao.sln | |
- name: create ACE_TAO tar.xz artifact | |
if: steps.cache-artifact.outputs.cache-hit != 'true' | |
shell: bash | |
run: | | |
cd OpenDDS/ACE_TAO | |
perl -ni.bak -e "print unless /opendds/" ACE/bin/MakeProjectCreator/config/default.features # remove opendds features from here, let individual build configure scripts handle those | |
find . -iname "*\.obj" | xargs rm | |
tar cvf ../../${{ github.job }}.tar ACE/ace/config.h | |
git clean -xdfn | cut -d ' ' -f 3- | xargs tar uvf ../../${{ github.job }}.tar | |
xz -3 ../../${{ github.job }}.tar | |
- name: upload ACE_TAO artifact | |
uses: actions/upload-artifact@v4 | |
with: | |
name: ${{ github.job }}_artifact | |
path: ${{ github.job }}.tar.xz | |
build_w22_p1: | |
runs-on: windows-2022 | |
needs: ACE_TAO_w22_p1 | |
steps: | |
- name: setup for run-vcpkg | |
shell: bash | |
run: | | |
echo '{ "name": "opendds", "version-string": "github-actions", "dependencies": [ "openssl", "xerces-c" ] }' > vcpkg.json | |
- name: install openssl & xerces-c | |
uses: lukka/run-vcpkg@v11 | |
with: | |
vcpkgGitCommitId: '${{ env.VCPKG_GIT_COMMIT }}' | |
runVcpkgInstall: true | |
- name: checkout MPC | |
uses: actions/checkout@v4 | |
with: | |
repository: DOCGroup/MPC | |
path: MPC | |
- name: checkout OpenDDS | |
uses: actions/checkout@v4 | |
with: | |
path: OpenDDS | |
submodules: true | |
- name: checkout ACE_TAO | |
uses: actions/checkout@v4 | |
with: | |
repository: DOCGroup/ACE_TAO | |
ref: ace6tao2 | |
path: OpenDDS/ACE_TAO | |
- name: download ACE_TAO artifact | |
uses: actions/download-artifact@v4 | |
with: | |
name: ACE_TAO_w22_p1_artifact | |
path: OpenDDS/ACE_TAO | |
- name: extract ACE_TAO artifact | |
shell: bash | |
run: | | |
cd OpenDDS/ACE_TAO | |
tar xvfJ ACE_TAO_w22_p1.tar.xz | |
rm -f ACE_TAO_w22_p1.tar.xz | |
- name: set up msvc env | |
uses: ilammy/msvc-dev-cmd@v1 | |
- name: setup gtest | |
shell: cmd | |
run: | | |
cd OpenDDS/tests/googletest | |
git submodule init | |
git submodule update | |
mkdir build | |
cd build | |
mkdir install | |
cmake -DCMAKE_INSTALL_PREFIX=./install -DBUILD_SHARED_LIBS=ON .. | |
cmake --build . --target install | |
- name: configure OpenDDS | |
shell: cmd | |
run: | | |
cd OpenDDS | |
configure --std=c++20 --ipv6 --rapidjson --gtest=${{ github.workspace }}/OpenDDS/tests/googletest/build/install --ace=${{ github.workspace }}/OpenDDS/ACE_TAO/ACE --tao=${{ github.workspace }}/OpenDDS/ACE_TAO/TAO --mpc=${{ github.workspace }}/MPC --xerces3=${{ env.VCPKG_INSTALLED_DIR }}/x64-windows --openssl=${{ env.VCPKG_INSTALLED_DIR }}/x64-windows --compile-warnings=WARNING | |
- name: check build configuration | |
shell: cmd | |
run: | | |
cd OpenDDS | |
call setenv.cmd | |
perl tools\scripts\show_build_config.pl | |
- uses: ammaraskar/[email protected] | |
- name: build OpenDDS | |
shell: cmd | |
run: | | |
cd OpenDDS | |
call setenv.cmd | |
msbuild -p:Configuration=Debug,Platform=x64 -m DDS_no_tests.sln | |
- name: create OpenDDS tar.xz artifact | |
shell: bash | |
run: | | |
cd OpenDDS | |
rm -rf ACE_TAO | |
find . -iname "*\.obj" -o -iname "*\.pdb" -o -iname "*\.idb" -o -type f -iname "*\.tlog" | xargs rm | |
tar cvf ../${{ github.job }}.tar setenv.cmd | |
git clean -xdfn | cut -d ' ' -f 3- | xargs tar uvf ../${{ github.job }}.tar | |
xz -3 ../${{ github.job }}.tar | |
- name: upload OpenDDS artifact | |
uses: actions/upload-artifact@v4 | |
with: | |
name: ${{ github.job }}_artifact | |
path: ${{ github.job }}.tar.xz | |
cmake_w22_p1: | |
runs-on: windows-2022 | |
needs: build_w22_p1 | |
permissions: | |
contents: read | |
id-token: write | |
steps: | |
- name: setup for run-vcpkg | |
shell: bash | |
run: | | |
echo '{ "name": "opendds", "version-string": "github-actions", "dependencies": [ "openssl", "xerces-c" ] }' > vcpkg.json | |
- name: install openssl & xerces-c | |
uses: lukka/run-vcpkg@v11 | |
with: | |
vcpkgGitCommitId: '${{ env.VCPKG_GIT_COMMIT }}' | |
runVcpkgInstall: true | |
- name: checkout MPC | |
uses: actions/checkout@v4 | |
with: | |
repository: DOCGroup/MPC | |
path: MPC | |
- name: checkout autobuild | |
uses: actions/checkout@v4 | |
with: | |
repository: DOCGroup/autobuild | |
path: autobuild | |
- name: checkout OpenDDS | |
uses: actions/checkout@v4 | |
with: | |
path: OpenDDS | |
submodules: true | |
- name: checkout ACE_TAO | |
uses: actions/checkout@v4 | |
with: | |
repository: DOCGroup/ACE_TAO | |
ref: ace6tao2 | |
path: OpenDDS/ACE_TAO | |
- name: download ACE_TAO artifact | |
uses: actions/download-artifact@v4 | |
with: | |
name: ACE_TAO_w22_p1_artifact | |
path: OpenDDS/ACE_TAO | |
- name: extract ACE_TAO artifact | |
shell: bash | |
run: | | |
cd OpenDDS/ACE_TAO | |
tar xvfJ ACE_TAO_w22_p1.tar.xz | |
rm -f ACE_TAO_w22_p1.tar.xz | |
- name: download OpenDDS artifact | |
uses: actions/download-artifact@v4 | |
with: | |
name: build_w22_p1_artifact | |
path: OpenDDS | |
- name: extract OpenDDS artifact | |
shell: bash | |
run: | | |
cd OpenDDS | |
tar xvfJ build_w22_p1.tar.xz | |
rm -f build_w22_p1.tar.xz | |
- name: set up msvc env | |
uses: ilammy/msvc-dev-cmd@v1 | |
- uses: ammaraskar/[email protected] | |
- name: Build CMake Tests | |
shell: cmd | |
run: | | |
cd OpenDDS | |
call setenv.cmd | |
mkdir tests\cmake\build | |
cd tests\cmake\build | |
cmake .. -DCMAKE_CXX_STANDARD=20 | |
cmake --build . | |
- name: check build configuration | |
shell: cmd | |
run: | | |
cd OpenDDS | |
call setenv.cmd | |
perl tools\scripts\show_build_config.pl | |
- name: create autobuild config | |
shell: bash | |
run: | | |
cd OpenDDS | |
mkdir ${{ github.job }}_autobuild_workspace | |
cd ${{ github.job }}_autobuild_workspace | |
export FS_GHW=$(echo $GITHUB_WORKSPACE | sed 's/\\/\//g') | |
echo using commit $TRIGGERING_COMMIT for SHA | |
echo $TRIGGERING_COMMIT >> ./SHA | |
cat > config.xml <<EOF | |
<autobuild> | |
<configuration> | |
<variable name="log_file" value="output"/> | |
<variable name="log_root" value="$FS_GHW/OpenDDS/${{ github.job }}_autobuild_workspace/logs"/> | |
<variable name="project_root" value="$FS_GHW/OpenDDS"/> | |
<variable name="root" value="$FS_GHW/OpenDDS/${{ github.job }}_autobuild_workspace"/> | |
<variable name="junit_xml_output" value="Tests"/> | |
</configuration> | |
<command name="log" options="on"/> | |
<command name="print_os_version"/> | |
<command name="print_ace_config"/> | |
<command name="print_cmake_version"/> | |
<command name="print_make_version"/> | |
<command name="check_compiler" options="msvc"/> | |
<command name="print_perl_version"/> | |
<command name="print_autobuild_config"/> | |
<command name="auto_run_tests" options="script_path=tests dir=$FS_GHW/OpenDDS --no-dcps --cmake"/> | |
<command name="log" options="off"/> | |
<command name="process_logs" options="move prettify index"/> | |
</autobuild> | |
EOF | |
cat config.xml | |
- name: run OpenDDS CMake tests | |
shell: cmd | |
run: | | |
cd OpenDDS | |
call setenv.cmd | |
cd ${{ github.job }}_autobuild_workspace | |
perl "${{ github.workspace }}\autobuild\autobuild.pl" "${{ github.workspace }}\OpenDDS\${{ github.job }}_autobuild_workspace\config.xml" | |
- name: upload autobuild output | |
uses: actions/upload-artifact@v4 | |
with: | |
name: ${{ github.job }}_autobuild_output | |
path: OpenDDS\${{ github.job }}_autobuild_workspace | |
- name: Authenticate to Google Cloud | |
uses: google-github-actions/auth@v2 | |
with: | |
workload_identity_provider: projects/30587790497/locations/global/workloadIdentityPools/gha-scoreboard-upload/providers/gha-provider | |
service_account: [email protected] | |
if: ${{ github.repository == 'OpenDDS/OpenDDS' && github.ref == env.SCOREBOARD_UPLOAD_BRANCH }} | |
- name: get OpenDDS version | |
shell: bash | |
run: | | |
cd OpenDDS | |
echo "OPENDDS_MAJOR_VERSION=$(grep '#define OPENDDS_MAJOR_VERSION' dds/Version.h | cut -d' ' -f3)" >> $GITHUB_ENV | |
- name: upload to Google Cloud | |
uses: 'google-github-actions/upload-cloud-storage@v2' | |
with: | |
path: OpenDDS/${{ github.job }}_autobuild_workspace/logs | |
destination: opendds-gha-scoreboard-uploads/${{ env.OPENDDS_MAJOR_VERSION }}/${{ github.job }} | |
parent: false | |
process_gcloudignore: false | |
if: ${{ github.repository == 'OpenDDS/OpenDDS' && github.ref == env.SCOREBOARD_UPLOAD_BRANCH }} | |
- name: check results | |
shell: bash | |
run: | | |
$GITHUB_WORKSPACE/OpenDDS/tools/scripts/autobuild_brief_html_to_text.pl "$GITHUB_WORKSPACE/OpenDDS/${{ github.job }}_autobuild_workspace/logs/"*_Brief.html | |
cat "$GITHUB_WORKSPACE/OpenDDS/${{ github.job }}_autobuild_workspace/logs/latest.txt" | |
grep -q 'Failures: 0' "$GITHUB_WORKSPACE/OpenDDS/${{ github.job }}_autobuild_workspace/logs/latest.txt" | |
messenger_w22_p1: | |
runs-on: windows-2022 | |
needs: build_w22_p1 | |
permissions: | |
contents: read | |
id-token: write | |
steps: | |
- name: setup for run-vcpkg | |
shell: bash | |
run: | | |
echo '{ "name": "opendds", "version-string": "github-actions", "dependencies": [ "openssl", "xerces-c" ] }' > vcpkg.json | |
- name: install openssl & xerces-c | |
uses: lukka/run-vcpkg@v11 | |
with: | |
vcpkgGitCommitId: '${{ env.VCPKG_GIT_COMMIT }}' | |
runVcpkgInstall: true | |
- name: checkout MPC | |
uses: actions/checkout@v4 | |
with: | |
repository: DOCGroup/MPC | |
path: MPC | |
- name: checkout autobuild | |
uses: actions/checkout@v4 | |
with: | |
repository: DOCGroup/autobuild | |
path: autobuild | |
- name: checkout OpenDDS | |
uses: actions/checkout@v4 | |
with: | |
path: OpenDDS | |
submodules: true | |
- name: checkout ACE_TAO | |
uses: actions/checkout@v4 | |
with: | |
repository: DOCGroup/ACE_TAO | |
ref: ace6tao2 | |
path: OpenDDS/ACE_TAO | |
- name: download ACE_TAO artifact | |
uses: actions/download-artifact@v4 | |
with: | |
name: ACE_TAO_w22_p1_artifact | |
path: OpenDDS/ACE_TAO | |
- name: extract ACE_TAO artifact | |
shell: bash | |
run: | | |
cd OpenDDS/ACE_TAO | |
tar xvfJ ACE_TAO_w22_p1.tar.xz | |
rm -f ACE_TAO_w22_p1.tar.xz | |
- name: download OpenDDS artifact | |
uses: actions/download-artifact@v4 | |
with: | |
name: build_w22_p1_artifact | |
path: OpenDDS | |
- name: extract OpenDDS artifact | |
shell: bash | |
run: | | |
cd OpenDDS | |
tar xvfJ build_w22_p1.tar.xz | |
rm -f build_w22_p1.tar.xz | |
- name: set up msvc env | |
uses: ilammy/msvc-dev-cmd@v1 | |
- name: check build configuration | |
shell: cmd | |
run: | | |
cd OpenDDS | |
call setenv.cmd | |
perl tools\scripts\show_build_config.pl | |
- name: configure messenger tests | |
shell: cmd | |
run: | | |
cd OpenDDS | |
call setenv.cmd | |
cd tests\DCPS\Messenger | |
perl %DDS_ROOT%\bin\opendds_mwc.pl | |
- uses: ammaraskar/[email protected] | |
- name: make messenger tests | |
shell: cmd | |
run: | | |
cd OpenDDS | |
call setenv.cmd | |
cd tests\DCPS\Messenger | |
msbuild -p:Configuration=Debug,Platform=x64 -m Messenger.sln | |
- name: configure C++11 messenger test | |
shell: cmd | |
run: | | |
cd OpenDDS | |
call setenv.cmd | |
cd tests\DCPS\C++11 | |
perl %DDS_ROOT%\bin\opendds_mwc.pl | |
- name: make C++11 messenger test | |
shell: cmd | |
run: | | |
cd OpenDDS | |
call setenv.cmd | |
cd tests\DCPS\C++11 | |
msbuild -p:Configuration=Debug,Platform=x64 -m C++11.sln | |
- name: create autobuild config | |
shell: bash | |
run: | | |
cd OpenDDS | |
mkdir ${{ github.job }}_autobuild_workspace | |
cd ${{ github.job }}_autobuild_workspace | |
export FS_GHW=$(echo $GITHUB_WORKSPACE | sed 's/\\/\//g') | |
echo using commit $TRIGGERING_COMMIT for SHA | |
echo $TRIGGERING_COMMIT >> ./SHA | |
cat > config.xml <<EOF | |
<autobuild> | |
<configuration> | |
<variable name="log_file" value="output"/> | |
<variable name="log_root" value="$FS_GHW/OpenDDS/${{ github.job }}_autobuild_workspace/logs"/> | |
<variable name="project_root" value="$FS_GHW/OpenDDS"/> | |
<variable name="root" value="$FS_GHW/OpenDDS/${{ github.job }}_autobuild_workspace"/> | |
<variable name="junit_xml_output" value="Tests"/> | |
</configuration> | |
<command name="log" options="on"/> | |
<command name="print_os_version"/> | |
<command name="print_ace_config"/> | |
<command name="print_make_version"/> | |
<command name="check_compiler" options="msvc"/> | |
<command name="print_perl_version"/> | |
<command name="print_autobuild_config"/> | |
<command name="auto_run_tests" options="script_path=tests dir=$FS_GHW/OpenDDS tests\core_ci_tests.lst -ExeSubDir Debug -Config STATIC_MESSENGER -Config IPV6 -Config XERCES3 -Config CXX11 -Config NO_UNIT_TESTS -Config RAPIDJSON"/> | |
<command name="log" options="off"/> | |
<command name="process_logs" options="move prettify index"/> | |
</autobuild> | |
EOF | |
cat config.xml | |
- name: run OpenDDS Messenger tests | |
shell: cmd | |
run: | | |
cd OpenDDS | |
call setenv.cmd | |
cd ${{ github.job }}_autobuild_workspace | |
perl "${{ github.workspace }}\autobuild\autobuild.pl" "${{ github.workspace }}\OpenDDS\${{ github.job }}_autobuild_workspace\config.xml" | |
- name: upload autobuild output | |
uses: actions/upload-artifact@v4 | |
with: | |
name: ${{ github.job }}_autobuild_output | |
path: OpenDDS\${{ github.job }}_autobuild_workspace | |
- name: Authenticate to Google Cloud | |
uses: google-github-actions/auth@v2 | |
with: | |
workload_identity_provider: projects/30587790497/locations/global/workloadIdentityPools/gha-scoreboard-upload/providers/gha-provider | |
service_account: [email protected] | |
if: ${{ github.repository == 'OpenDDS/OpenDDS' && github.ref == env.SCOREBOARD_UPLOAD_BRANCH }} | |
- name: get OpenDDS version | |
shell: bash | |
run: | | |
cd OpenDDS | |
echo "OPENDDS_MAJOR_VERSION=$(grep '#define OPENDDS_MAJOR_VERSION' dds/Version.h | cut -d' ' -f3)" >> $GITHUB_ENV | |
- name: upload to Google Cloud | |
uses: 'google-github-actions/upload-cloud-storage@v2' | |
with: | |
path: OpenDDS/${{ github.job }}_autobuild_workspace/logs | |
destination: opendds-gha-scoreboard-uploads/${{ env.OPENDDS_MAJOR_VERSION }}/${{ github.job }} | |
parent: false | |
process_gcloudignore: false | |
if: ${{ github.repository == 'OpenDDS/OpenDDS' && github.ref == env.SCOREBOARD_UPLOAD_BRANCH }} | |
- name: check results | |
shell: bash | |
run: | | |
$GITHUB_WORKSPACE/OpenDDS/tools/scripts/autobuild_brief_html_to_text.pl "$GITHUB_WORKSPACE/OpenDDS/${{ github.job }}_autobuild_workspace/logs/"*_Brief.html | |
cat "$GITHUB_WORKSPACE/OpenDDS/${{ github.job }}_autobuild_workspace/logs/latest.txt" | |
grep -q 'Failures: 0' "$GITHUB_WORKSPACE/OpenDDS/${{ github.job }}_autobuild_workspace/logs/latest.txt" | |
compiler_w22_p1: | |
runs-on: windows-2022 | |
needs: build_w22_p1 | |
permissions: | |
contents: read | |
id-token: write | |
steps: | |
- name: setup for run-vcpkg | |
shell: bash | |
run: | | |
echo '{ "name": "opendds", "version-string": "github-actions", "dependencies": [ "openssl", "xerces-c" ] }' > vcpkg.json | |
- name: install openssl & xerces-c | |
uses: lukka/run-vcpkg@v11 | |
with: | |
vcpkgGitCommitId: '${{ env.VCPKG_GIT_COMMIT }}' | |
runVcpkgInstall: true | |
- name: checkout MPC | |
uses: actions/checkout@v4 | |
with: | |
repository: DOCGroup/MPC | |
path: MPC | |
- name: checkout autobuild | |
uses: actions/checkout@v4 | |
with: | |
repository: DOCGroup/autobuild | |
path: autobuild | |
- name: checkout OpenDDS | |
uses: actions/checkout@v4 | |
with: | |
path: OpenDDS | |
submodules: true | |
- name: checkout ACE_TAO | |
uses: actions/checkout@v4 | |
with: | |
repository: DOCGroup/ACE_TAO | |
ref: ace6tao2 | |
path: OpenDDS/ACE_TAO | |
- name: download ACE_TAO artifact | |
uses: actions/download-artifact@v4 | |
with: | |
name: ACE_TAO_w22_p1_artifact | |
path: OpenDDS/ACE_TAO | |
- name: extract ACE_TAO artifact | |
shell: bash | |
run: | | |
cd OpenDDS/ACE_TAO | |
tar xvfJ ACE_TAO_w22_p1.tar.xz | |
rm -f ACE_TAO_w22_p1.tar.xz | |
- name: download OpenDDS artifact | |
uses: actions/download-artifact@v4 | |
with: | |
name: build_w22_p1_artifact | |
path: OpenDDS | |
- name: extract OpenDDS artifact | |
shell: bash | |
run: | | |
cd OpenDDS | |
tar xvfJ build_w22_p1.tar.xz | |
rm -f build_w22_p1.tar.xz | |
- name: set up msvc env | |
uses: ilammy/msvc-dev-cmd@v1 | |
- name: check build configuration | |
shell: cmd | |
run: | | |
cd OpenDDS | |
call setenv.cmd | |
perl tools\scripts\show_build_config.pl | |
- name: setup gtest | |
shell: cmd | |
run: | | |
cd OpenDDS/tests/googletest | |
git submodule init | |
git submodule update | |
mkdir build | |
cd build | |
mkdir install | |
cmake -DCMAKE_INSTALL_PREFIX=./install -DBUILD_SHARED_LIBS=ON .. | |
cmake --build . --target install | |
- name: configure compiler tests | |
shell: cmd | |
run: | | |
cd OpenDDS | |
call setenv.cmd | |
cd tests\DCPS\Compiler | |
perl %DDS_ROOT%\bin\opendds_mwc.pl -value_project macros+=GTEST_LINKED_AS_SHARED_LIBRARY | |
- uses: ammaraskar/[email protected] | |
- name: make compiler tests | |
shell: cmd | |
run: | | |
cd OpenDDS | |
call setenv.cmd | |
cd tests\DCPS\Compiler | |
msbuild -p:Configuration=Debug,Platform=x64 -m Compiler.sln | |
- name: create autobuild config | |
shell: bash | |
run: | | |
cd OpenDDS | |
mkdir ${{ github.job }}_autobuild_workspace | |
cd ${{ github.job }}_autobuild_workspace | |
export FS_GHW=$(echo $GITHUB_WORKSPACE | sed 's/\\/\//g') | |
echo using commit $TRIGGERING_COMMIT for SHA | |
echo $TRIGGERING_COMMIT >> ./SHA | |
cat > config.xml <<EOF | |
<autobuild> | |
<configuration> | |
<variable name="log_file" value="output"/> | |
<variable name="log_root" value="$FS_GHW/OpenDDS/${{ github.job }}_autobuild_workspace/logs"/> | |
<variable name="project_root" value="$FS_GHW/OpenDDS"/> | |
<variable name="root" value="$FS_GHW/OpenDDS/${{ github.job }}_autobuild_workspace"/> | |
<variable name="junit_xml_output" value="Tests"/> | |
</configuration> | |
<command name="log" options="on"/> | |
<command name="print_os_version"/> | |
<command name="print_ace_config"/> | |
<command name="print_make_version"/> | |
<command name="check_compiler" options="msvc"/> | |
<command name="print_perl_version"/> | |
<command name="print_autobuild_config"/> | |
<command name="auto_run_tests" options="script_path=tests dir=$FS_GHW/OpenDDS tests\core_ci_tests.lst -ExeSubDir Debug -Config STATIC_COMPILER -Config STATIC_COMPILER2 -Config IPV6 -Config XERCES3 -Config CXX11 -Config NO_UNIT_TESTS -Config RAPIDJSON"/> | |
<command name="log" options="off"/> | |
<command name="process_logs" options="move prettify index"/> | |
</autobuild> | |
EOF | |
cat config.xml | |
- name: run OpenDDS compiler tests | |
shell: cmd | |
run: | | |
cd OpenDDS | |
call setenv.cmd | |
cd ${{ github.job }}_autobuild_workspace | |
perl "${{ github.workspace }}\autobuild\autobuild.pl" "${{ github.workspace }}\OpenDDS\${{ github.job }}_autobuild_workspace\config.xml" | |
- name: upload autobuild output | |
uses: actions/upload-artifact@v4 | |
with: | |
name: ${{ github.job }}_autobuild_output | |
path: OpenDDS\${{ github.job }}_autobuild_workspace | |
- name: Authenticate to Google Cloud | |
uses: google-github-actions/auth@v2 | |
with: | |
workload_identity_provider: projects/30587790497/locations/global/workloadIdentityPools/gha-scoreboard-upload/providers/gha-provider | |
service_account: [email protected] | |
if: ${{ github.repository == 'OpenDDS/OpenDDS' && github.ref == env.SCOREBOARD_UPLOAD_BRANCH }} | |
- name: get OpenDDS version | |
shell: bash | |
run: | | |
cd OpenDDS | |
echo "OPENDDS_MAJOR_VERSION=$(grep '#define OPENDDS_MAJOR_VERSION' dds/Version.h | cut -d' ' -f3)" >> $GITHUB_ENV | |
- name: upload to Google Cloud | |
uses: 'google-github-actions/upload-cloud-storage@v2' | |
with: | |
path: OpenDDS/${{ github.job }}_autobuild_workspace/logs | |
destination: opendds-gha-scoreboard-uploads/${{ env.OPENDDS_MAJOR_VERSION }}/${{ github.job }} | |
parent: false | |
process_gcloudignore: false | |
if: ${{ github.repository == 'OpenDDS/OpenDDS' && github.ref == env.SCOREBOARD_UPLOAD_BRANCH }} | |
- name: check results | |
shell: bash | |
run: | | |
$GITHUB_WORKSPACE/OpenDDS/tools/scripts/autobuild_brief_html_to_text.pl "$GITHUB_WORKSPACE/OpenDDS/${{ github.job }}_autobuild_workspace/logs/"*_Brief.html | |
cat "$GITHUB_WORKSPACE/OpenDDS/${{ github.job }}_autobuild_workspace/logs/latest.txt" | |
grep -q 'Failures: 0' "$GITHUB_WORKSPACE/OpenDDS/${{ github.job }}_autobuild_workspace/logs/latest.txt" | |
unit_w22_p1: | |
runs-on: windows-2022 | |
needs: build_w22_p1 | |
permissions: | |
contents: read | |
id-token: write | |
steps: | |
- name: setup for run-vcpkg | |
shell: bash | |
run: | | |
echo '{ "name": "opendds", "version-string": "github-actions", "dependencies": [ "openssl", "xerces-c" ] }' > vcpkg.json | |
- name: install openssl & xerces-c | |
uses: lukka/run-vcpkg@v11 | |
with: | |
vcpkgGitCommitId: '${{ env.VCPKG_GIT_COMMIT }}' | |
runVcpkgInstall: true | |
- name: checkout MPC | |
uses: actions/checkout@v4 | |
with: | |
repository: DOCGroup/MPC | |
path: MPC | |
- name: checkout autobuild | |
uses: actions/checkout@v4 | |
with: | |
repository: DOCGroup/autobuild | |
path: autobuild | |
- name: checkout OpenDDS | |
uses: actions/checkout@v4 | |
with: | |
path: OpenDDS | |
submodules: true | |
- name: checkout ACE_TAO | |
uses: actions/checkout@v4 | |
with: | |
repository: DOCGroup/ACE_TAO | |
ref: ace6tao2 | |
path: OpenDDS/ACE_TAO | |
- name: download ACE_TAO artifact | |
uses: actions/download-artifact@v4 | |
with: | |
name: ACE_TAO_w22_p1_artifact | |
path: OpenDDS/ACE_TAO | |
- name: extract ACE_TAO artifact | |
shell: bash | |
run: | | |
cd OpenDDS/ACE_TAO | |
tar xvfJ ACE_TAO_w22_p1.tar.xz | |
rm -f ACE_TAO_w22_p1.tar.xz | |
- name: set up msvc env | |
uses: ilammy/msvc-dev-cmd@v1 | |
- name: download OpenDDS artifact | |
uses: actions/download-artifact@v4 | |
with: | |
name: build_w22_p1_artifact | |
path: OpenDDS | |
- name: extract OpenDDS artifact | |
shell: bash | |
run: | | |
cd OpenDDS | |
tar xvfJ build_w22_p1.tar.xz | |
rm -f build_w22_p1.tar.xz | |
- name: check build configuration | |
shell: cmd | |
run: | | |
cd OpenDDS | |
call setenv.cmd | |
perl tools\scripts\show_build_config.pl | |
- name: setup gtest | |
shell: cmd | |
run: | | |
cd OpenDDS/tests/googletest | |
git submodule init | |
git submodule update | |
mkdir build | |
cd build | |
mkdir install | |
cmake -DCMAKE_INSTALL_PREFIX=./install -DBUILD_SHARED_LIBS=ON .. | |
cmake --build . --target install | |
- name: configure unit tests | |
shell: cmd | |
run: | | |
cd OpenDDS | |
call setenv.cmd | |
cd tests\unit-tests | |
perl %DDS_ROOT%\bin\opendds_mwc.pl -value_project macros+=GTEST_LINKED_AS_SHARED_LIBRARY | |
- uses: ammaraskar/[email protected] | |
- name: make unit tests | |
shell: cmd | |
run: | | |
cd OpenDDS | |
call setenv.cmd | |
cd tests\unit-tests | |
msbuild -p:Configuration=Debug,Platform=x64 -m unit_tests.sln | |
- name: create autobuild config | |
shell: bash | |
run: | | |
cd OpenDDS | |
mkdir ${{ github.job }}_autobuild_workspace | |
cd ${{ github.job }}_autobuild_workspace | |
export FS_GHW=$(echo $GITHUB_WORKSPACE | sed 's/\\/\//g') | |
echo using commit $TRIGGERING_COMMIT for SHA | |
echo $TRIGGERING_COMMIT >> ./SHA | |
cat > config.xml <<EOF | |
<autobuild> | |
<configuration> | |
<variable name="log_file" value="output"/> | |
<variable name="log_root" value="$FS_GHW/OpenDDS/${{ github.job }}_autobuild_workspace/logs"/> | |
<variable name="project_root" value="$FS_GHW/OpenDDS"/> | |
<variable name="root" value="$FS_GHW/OpenDDS/${{ github.job }}_autobuild_workspace"/> | |
<variable name="junit_xml_output" value="Tests"/> | |
</configuration> | |
<command name="log" options="on"/> | |
<command name="print_os_version"/> | |
<command name="print_ace_config"/> | |
<command name="print_make_version"/> | |
<command name="check_compiler" options="msvc"/> | |
<command name="print_perl_version"/> | |
<command name="print_autobuild_config"/> | |
<command name="auto_run_tests" options="script_path=tests dir=$FS_GHW/OpenDDS tests\core_ci_tests.lst -ExeSubDir Debug -Config STATIC_UNIT_TESTS -Config IPV6 -Config XERCES3 -Config CXX11 -Config RAPIDJSON"/> | |
<command name="log" options="off"/> | |
<command name="process_logs" options="move prettify index"/> | |
</autobuild> | |
EOF | |
cat config.xml | |
- name: run OpenDDS unit tests | |
shell: cmd | |
run: | | |
cd OpenDDS | |
call setenv.cmd | |
cd ${{ github.job }}_autobuild_workspace | |
perl "${{ github.workspace }}\autobuild\autobuild.pl" "${{ github.workspace }}\OpenDDS\${{ github.job }}_autobuild_workspace\config.xml" | |
- name: upload autobuild output | |
uses: actions/upload-artifact@v4 | |
with: | |
name: ${{ github.job }}_autobuild_output | |
path: OpenDDS\${{ github.job }}_autobuild_workspace | |
- name: Authenticate to Google Cloud | |
uses: google-github-actions/auth@v2 | |
with: | |
workload_identity_provider: projects/30587790497/locations/global/workloadIdentityPools/gha-scoreboard-upload/providers/gha-provider | |
service_account: [email protected] | |
if: ${{ github.repository == 'OpenDDS/OpenDDS' && github.ref == env.SCOREBOARD_UPLOAD_BRANCH }} | |
- name: get OpenDDS version | |
shell: bash | |
run: | | |
cd OpenDDS | |
echo "OPENDDS_MAJOR_VERSION=$(grep '#define OPENDDS_MAJOR_VERSION' dds/Version.h | cut -d' ' -f3)" >> $GITHUB_ENV | |
- name: upload to Google Cloud | |
uses: 'google-github-actions/upload-cloud-storage@v2' | |
with: | |
path: OpenDDS/${{ github.job }}_autobuild_workspace/logs | |
destination: opendds-gha-scoreboard-uploads/${{ env.OPENDDS_MAJOR_VERSION }}/${{ github.job }} | |
parent: false | |
process_gcloudignore: false | |
if: ${{ github.repository == 'OpenDDS/OpenDDS' && github.ref == env.SCOREBOARD_UPLOAD_BRANCH }} | |
- name: check results | |
shell: bash | |
run: | | |
$GITHUB_WORKSPACE/OpenDDS/tools/scripts/autobuild_brief_html_to_text.pl "$GITHUB_WORKSPACE/OpenDDS/${{ github.job }}_autobuild_workspace/logs/"*_Brief.html | |
cat "$GITHUB_WORKSPACE/OpenDDS/${{ github.job }}_autobuild_workspace/logs/latest.txt" | |
grep -q 'Failures: 0' "$GITHUB_WORKSPACE/OpenDDS/${{ github.job }}_autobuild_workspace/logs/latest.txt" | |
# macOS 13 | |
ACE_TAO_m13_sec: | |
runs-on: macos-13 | |
steps: | |
- name: checkout OpenDDS | |
uses: actions/checkout@v4 | |
with: | |
path: OpenDDS | |
submodules: true | |
- name: checkout ACE_TAO | |
uses: actions/checkout@v4 | |
with: | |
repository: DOCGroup/ACE_TAO | |
ref: ace6tao2 | |
path: OpenDDS/ACE_TAO | |
- name: get compiler version | |
shell: bash | |
run: | | |
export COMPILER_VERSION=$(c++ --version 2>&1 | head -n 1) | |
echo "COMPILER_VERSION=$COMPILER_VERSION" >> $GITHUB_ENV | |
- name: get ACE_TAO commit | |
shell: bash | |
run: | | |
cd OpenDDS/ACE_TAO | |
export ACE_COMMIT=$(git rev-parse HEAD) | |
echo "ACE_COMMIT=$ACE_COMMIT" >> $GITHUB_ENV | |
- name: get jdk version | |
shell: bash | |
run: | | |
export JDK_VERSION=$(java -version 2>&1 | grep -i version) | |
echo "JDK_VERSION=$JDK_VERSION" >> $GITHUB_ENV | |
- name: Cache Artifact | |
id: cache-artifact | |
uses: actions/cache@v4 | |
with: | |
path: ${{ github.job }}.tar.xz | |
key: c01_${{ github.job }}_ace6tao2_${{ env.ACE_COMMIT }}_${{ env.COMPILER_VERSION }}_${{ env.JDK_VERSION }} | |
- name: install xerces-c | |
if: steps.cache-artifact.outputs.cache-hit != 'true' | |
run: | | |
brew install xerces-c | |
- name: checkout MPC | |
if: steps.cache-artifact.outputs.cache-hit != 'true' | |
uses: actions/checkout@v4 | |
with: | |
repository: DOCGroup/MPC | |
path: MPC | |
- name: configure OpenDDS | |
if: steps.cache-artifact.outputs.cache-hit != 'true' | |
run: | | |
cd OpenDDS | |
XERCESC_ROOT=$(find /usr/local/Cellar/xerces-c -iname "3\.*\.*" -type d | sort -r | head -n 1) | |
./configure --std=c++11 --tests --security --ace=$GITHUB_WORKSPACE/OpenDDS/ACE_TAO/ACE --mpc=$GITHUB_WORKSPACE/MPC --xerces3=$XERCESC_ROOT --openssl=/usr/local/opt/[email protected] --compile-warnings=WARNING | |
- name: build ACE and TAO | |
if: steps.cache-artifact.outputs.cache-hit != 'true' | |
run: | | |
cd OpenDDS | |
. setenv.sh | |
cd ACE_TAO/ACE | |
make -j4 | |
cd ../TAO | |
make -j4 | |
- name: create ACE_TAO tar.xz artifact | |
if: steps.cache-artifact.outputs.cache-hit != 'true' | |
shell: bash | |
run: | | |
cd OpenDDS/ACE_TAO | |
perl -ni.bak -e "print unless /opendds/" ACE/bin/MakeProjectCreator/config/default.features # remove opendds features from here, let individual build configure scripts handle those | |
find . -iname "*\.o" | xargs rm | |
gtar cvf ../../${{ github.job }}.tar ACE/ace/config.h | |
git clean -xdfn | cut -d ' ' -f 3- | xargs gtar uvf ../../${{ github.job }}.tar | |
xz -3 ../../${{ github.job }}.tar | |
- name: upload ACE_TAO artifact | |
uses: actions/upload-artifact@v4 | |
with: | |
name: ${{ github.job }}_artifact | |
path: ${{ github.job }}.tar.xz | |
build_m13_sec: | |
runs-on: macos-13 | |
needs: ACE_TAO_m13_sec | |
steps: | |
- name: install xerces-c | |
run: | | |
brew install xerces-c | |
- name: checkout MPC | |
uses: actions/checkout@v4 | |
with: | |
repository: DOCGroup/MPC | |
path: MPC | |
- name: checkout ACE_TAO | |
uses: actions/checkout@v4 | |
with: | |
repository: DOCGroup/ACE_TAO | |
ref: ace6tao2 | |
path: ACE_TAO | |
- name: download ACE_TAO artifact | |
uses: actions/download-artifact@v4 | |
with: | |
name: ACE_TAO_m13_sec_artifact | |
path: ACE_TAO | |
- name: extract ACE_TAO artifact | |
shell: bash | |
run: | | |
cd ACE_TAO | |
gtar xvfJ ACE_TAO_m13_sec.tar.xz | |
- name: checkout OpenDDS | |
uses: actions/checkout@v4 | |
with: | |
path: OpenDDS | |
submodules: true | |
- name: configure OpenDDS | |
run: | | |
cd OpenDDS | |
XERCESC_ROOT=$(find /usr/local/Cellar/xerces-c -iname "3\.*\.*" -type d | sort -r | head -n 1) | |
./configure --std=c++11 --tests --rapidjson --security --ace=$GITHUB_WORKSPACE/ACE_TAO/ACE --mpc=$GITHUB_WORKSPACE/MPC --xerces3=$XERCESC_ROOT --openssl=/usr/local/opt/[email protected] --compile-warnings=WARNING | |
- name: check build configuration | |
shell: bash | |
run: | | |
cd OpenDDS | |
. setenv.sh | |
tools/scripts/show_build_config.pl | |
- uses: ammaraskar/[email protected] | |
- name: build OpenDDS | |
shell: bash | |
run: | | |
cd OpenDDS | |
. setenv.sh | |
make -j4 | |
- name: Build CMake Tests | |
run: | | |
source OpenDDS/setenv.sh | |
mkdir OpenDDS/tests/cmake/build | |
cd OpenDDS/tests/cmake/build | |
cmake -DCMAKE_CXX_STANDARD=11 .. | |
cmake --build . -- -j4 | |
- name: create OpenDDS tar.xz artifact | |
shell: bash | |
run: | | |
cd OpenDDS | |
rm -rf ACE_TAO | |
find . -iname "*\.o" | xargs rm | |
gtar cvf ../${{ github.job }}.tar setenv.sh | |
git clean -xdfn | cut -d ' ' -f 3- | xargs gtar uvf ../${{ github.job }}.tar | |
xz -3 ../${{ github.job }}.tar | |
- name: upload OpenDDS artifact | |
uses: actions/upload-artifact@v4 | |
with: | |
name: ${{ github.job }}_artifact | |
path: ${{ github.job }}.tar.xz | |
test_m13_sec: | |
runs-on: macos-13 | |
needs: build_m13_sec | |
permissions: | |
contents: read | |
id-token: write | |
steps: | |
- name: install xerces-c | |
run: | | |
brew install xerces-c | |
- name: checkout MPC | |
uses: actions/checkout@v4 | |
with: | |
repository: DOCGroup/MPC | |
path: MPC | |
- name: checkout autobuild | |
uses: actions/checkout@v4 | |
with: | |
repository: DOCGroup/autobuild | |
path: autobuild | |
- name: checkout ACE_TAO | |
uses: actions/checkout@v4 | |
with: | |
repository: DOCGroup/ACE_TAO | |
ref: ace6tao2 | |
path: ACE_TAO | |
- name: download ACE_TAO artifact | |
uses: actions/download-artifact@v4 | |
with: | |
name: ACE_TAO_m13_sec_artifact | |
path: ACE_TAO | |
- name: extract ACE_TAO artifact | |
shell: bash | |
run: | | |
cd ACE_TAO | |
gtar xvfJ ACE_TAO_m13_sec.tar.xz | |
- name: checkout OpenDDS | |
uses: actions/checkout@v4 | |
with: | |
path: OpenDDS | |
submodules: true | |
- name: download OpenDDS artifact | |
uses: actions/download-artifact@v4 | |
with: | |
name: build_m13_sec_artifact | |
path: OpenDDS | |
- name: extract OpenDDS artifact | |
shell: bash | |
run: | | |
cd OpenDDS | |
gtar xvfJ build_m13_sec.tar.xz | |
- name: check build configuration | |
shell: bash | |
run: | | |
cd OpenDDS | |
. setenv.sh | |
tools/scripts/show_build_config.pl | |
- name: run OpenDDS tests | |
shell: bash | |
run: | | |
cd OpenDDS | |
echo "export ACE_TEST_LOG_STUCK_STACKS=1" >> setenv.sh | |
. setenv.sh | |
mkdir ${{ github.job }}_autobuild_workspace | |
cd ${{ github.job }}_autobuild_workspace | |
echo using commit $TRIGGERING_COMMIT for SHA | |
echo $TRIGGERING_COMMIT >> ./SHA | |
cat > config.xml <<EOF | |
<autobuild> | |
<configuration> | |
<variable name="log_file" value="output"/> | |
<variable name="log_root" value="$DDS_ROOT/${{ github.job }}_autobuild_workspace/logs"/> | |
<variable name="project_root" value="$DDS_ROOT"/> | |
<variable name="root" value="$DDS_ROOT/${{ github.job }}_autobuild_workspace"/> | |
<variable name="junit_xml_output" value="Tests"/> | |
</configuration> | |
<command name="log" options="on"/> | |
<command name="print_os_version"/> | |
<command name="print_ace_config"/> | |
<command name="print_make_version"/> | |
<command name="check_compiler" options="gcc"/> | |
<command name="print_perl_version"/> | |
<command name="print_autobuild_config"/> | |
<command name="auto_run_tests" options="script_path=tests dir=$GITHUB_WORKSPACE/OpenDDS -Config STATIC_MESSENGER -Config STATIC_COMPILER -Config STATIC_COMPILER2 -Config STATIC_UNIT_TESTS -Config XERCES3 -Config OPENDDS_SECURITY -Config CXX11 -Config RAPIDJSON -Config NO_SHMEM -Config DDS_NO_ORBSVCS --no-dcps tests/core_ci_tests.lst"/> | |
<command name="log" options="off"/> | |
<command name="process_logs" options="move prettify index"/> | |
</autobuild> | |
EOF | |
$GITHUB_WORKSPACE/autobuild/autobuild.pl "$GITHUB_WORKSPACE/OpenDDS/${{ github.job }}_autobuild_workspace/config.xml" | |
- name: upload autobuild output | |
uses: actions/upload-artifact@v4 | |
with: | |
name: ${{ github.job }}_autobuild_output | |
path: OpenDDS/${{ github.job }}_autobuild_workspace | |
- name: Authenticate to Google Cloud | |
uses: google-github-actions/auth@v2 | |
with: | |
workload_identity_provider: projects/30587790497/locations/global/workloadIdentityPools/gha-scoreboard-upload/providers/gha-provider | |
service_account: [email protected] | |
if: ${{ github.repository == 'OpenDDS/OpenDDS' && github.ref == env.SCOREBOARD_UPLOAD_BRANCH }} | |
- name: get OpenDDS version | |
shell: bash | |
run: | | |
cd OpenDDS | |
echo "OPENDDS_MAJOR_VERSION=$(grep '#define OPENDDS_MAJOR_VERSION' dds/Version.h | cut -d' ' -f3)" >> $GITHUB_ENV | |
- name: upload to Google Cloud | |
uses: 'google-github-actions/upload-cloud-storage@v2' | |
with: | |
path: OpenDDS/${{ github.job }}_autobuild_workspace/logs | |
destination: opendds-gha-scoreboard-uploads/${{ env.OPENDDS_MAJOR_VERSION }}/${{ github.job }} | |
parent: false | |
process_gcloudignore: false | |
if: ${{ github.repository == 'OpenDDS/OpenDDS' && github.ref == env.SCOREBOARD_UPLOAD_BRANCH }} | |
- name: check results | |
shell: bash | |
run: | | |
$GITHUB_WORKSPACE/OpenDDS/tools/scripts/autobuild_brief_html_to_text.pl "$GITHUB_WORKSPACE/OpenDDS/${{ github.job }}_autobuild_workspace/logs/"*_Brief.html | |
cat "$GITHUB_WORKSPACE/OpenDDS/${{ github.job }}_autobuild_workspace/logs/latest.txt" | |
grep -q 'Failures: 0' "$GITHUB_WORKSPACE/OpenDDS/${{ github.job }}_autobuild_workspace/logs/latest.txt" | |
cmake_m13_sec: | |
runs-on: macos-13 | |
needs: build_m13_sec | |
permissions: | |
contents: read | |
id-token: write | |
steps: | |
- name: install xerces-c | |
run: | | |
brew install xerces-c | |
- name: checkout MPC | |
uses: actions/checkout@v4 | |
with: | |
repository: DOCGroup/MPC | |
path: MPC | |
- name: checkout autobuild | |
uses: actions/checkout@v4 | |
with: | |
repository: DOCGroup/autobuild | |
path: autobuild | |
- name: checkout ACE_TAO | |
uses: actions/checkout@v4 | |
with: | |
repository: DOCGroup/ACE_TAO | |
ref: ace6tao2 | |
path: ACE_TAO | |
- name: download ACE_TAO artifact | |
uses: actions/download-artifact@v4 | |
with: | |
name: ACE_TAO_m13_sec_artifact | |
path: ACE_TAO | |
- name: extract ACE_TAO artifact | |
shell: bash | |
run: | | |
cd ACE_TAO | |
gtar xvfJ ACE_TAO_m13_sec.tar.xz | |
- name: checkout OpenDDS | |
uses: actions/checkout@v4 | |
with: | |
path: OpenDDS | |
submodules: true | |
- name: download OpenDDS artifact | |
uses: actions/download-artifact@v4 | |
with: | |
name: build_m13_sec_artifact | |
path: OpenDDS | |
- name: extract OpenDDS artifact | |
shell: bash | |
run: | | |
cd OpenDDS | |
gtar xvfJ build_m13_sec.tar.xz | |
- name: check build configuration | |
shell: bash | |
run: | | |
cd OpenDDS | |
. setenv.sh | |
tools/scripts/show_build_config.pl | |
- name: run OpenDDS tests | |
shell: bash | |
run: | | |
cd OpenDDS | |
echo "export ACE_TEST_LOG_STUCK_STACKS=1" >> setenv.sh | |
. setenv.sh | |
mkdir ${{ github.job }}_autobuild_workspace | |
cd ${{ github.job }}_autobuild_workspace | |
echo using commit $TRIGGERING_COMMIT for SHA | |
echo $TRIGGERING_COMMIT >> ./SHA | |
cat > config.xml <<EOF | |
<autobuild> | |
<configuration> | |
<variable name="log_file" value="output"/> | |
<variable name="log_root" value="$DDS_ROOT/${{ github.job }}_autobuild_workspace/logs"/> | |
<variable name="project_root" value="$DDS_ROOT"/> | |
<variable name="root" value="$DDS_ROOT/${{ github.job }}_autobuild_workspace"/> | |
<variable name="junit_xml_output" value="Tests"/> | |
</configuration> | |
<command name="log" options="on"/> | |
<command name="print_os_version"/> | |
<command name="print_ace_config"/> | |
<command name="print_make_version"/> | |
<command name="check_compiler" options="gcc"/> | |
<command name="print_perl_version"/> | |
<command name="print_autobuild_config"/> | |
<command name="auto_run_tests" options="script_path=tests dir=$GITHUB_WORKSPACE/OpenDDS --no-dcps --cmake"/> | |
<command name="log" options="off"/> | |
<command name="process_logs" options="move prettify index"/> | |
</autobuild> | |
EOF | |
$GITHUB_WORKSPACE/autobuild/autobuild.pl "$GITHUB_WORKSPACE/OpenDDS/${{ github.job }}_autobuild_workspace/config.xml" | |
- name: upload autobuild output | |
uses: actions/upload-artifact@v4 | |
with: | |
name: ${{ github.job }}_autobuild_output | |
path: OpenDDS/${{ github.job }}_autobuild_workspace | |
- name: Authenticate to Google Cloud | |
uses: google-github-actions/auth@v2 | |
with: | |
workload_identity_provider: projects/30587790497/locations/global/workloadIdentityPools/gha-scoreboard-upload/providers/gha-provider | |
service_account: [email protected] | |
if: ${{ github.repository == 'OpenDDS/OpenDDS' && github.ref == env.SCOREBOARD_UPLOAD_BRANCH }} | |
- name: get OpenDDS version | |
shell: bash | |
run: | | |
cd OpenDDS | |
echo "OPENDDS_MAJOR_VERSION=$(grep '#define OPENDDS_MAJOR_VERSION' dds/Version.h | cut -d' ' -f3)" >> $GITHUB_ENV | |
- name: upload to Google Cloud | |
uses: 'google-github-actions/upload-cloud-storage@v2' | |
with: | |
path: OpenDDS/${{ github.job }}_autobuild_workspace/logs | |
destination: opendds-gha-scoreboard-uploads/${{ env.OPENDDS_MAJOR_VERSION }}/${{ github.job }} | |
parent: false | |
process_gcloudignore: false | |
if: ${{ github.repository == 'OpenDDS/OpenDDS' && github.ref == env.SCOREBOARD_UPLOAD_BRANCH }} | |
- name: check results | |
shell: bash | |
run: | | |
$GITHUB_WORKSPACE/OpenDDS/tools/scripts/autobuild_brief_html_to_text.pl "$GITHUB_WORKSPACE/OpenDDS/${{ github.job }}_autobuild_workspace/logs/"*_Brief.html | |
cat "$GITHUB_WORKSPACE/OpenDDS/${{ github.job }}_autobuild_workspace/logs/latest.txt" | |
grep -q 'Failures: 0' "$GITHUB_WORKSPACE/OpenDDS/${{ github.job }}_autobuild_workspace/logs/latest.txt" | |
build_m13_j_FM-1f: | |
runs-on: macos-13 | |
needs: ACE_TAO_m13_sec | |
steps: | |
- name: install xerces-c | |
run: | | |
brew install xerces-c | |
- name: checkout MPC | |
uses: actions/checkout@v4 | |
with: | |
repository: DOCGroup/MPC | |
path: MPC | |
- name: checkout ACE_TAO | |
uses: actions/checkout@v4 | |
with: | |
repository: DOCGroup/ACE_TAO | |
ref: ace6tao2 | |
path: ACE_TAO | |
- name: download ACE_TAO artifact | |
uses: actions/download-artifact@v4 | |
with: | |
name: ACE_TAO_m13_sec_artifact | |
path: ACE_TAO | |
- name: extract ACE_TAO artifact | |
shell: bash | |
run: | | |
cd ACE_TAO | |
gtar xvfJ ACE_TAO_m13_sec.tar.xz | |
- name: checkout OpenDDS | |
uses: actions/checkout@v4 | |
with: | |
path: OpenDDS | |
submodules: true | |
- name: configure OpenDDS | |
run: | | |
cd OpenDDS | |
./configure --std=c++11 --tests --rapidjson --java --no-built-in-topics --ace=$GITHUB_WORKSPACE/ACE_TAO/ACE --mpc=$GITHUB_WORKSPACE/MPC --compile-warnings=WARNING | |
- name: check build configuration | |
shell: bash | |
run: | | |
cd OpenDDS | |
. setenv.sh | |
tools/scripts/show_build_config.pl | |
- uses: ammaraskar/[email protected] | |
- name: build OpenDDS | |
shell: bash | |
run: | | |
cd OpenDDS | |
. setenv.sh | |
make -j4 | |
- name: Build CMake Tests | |
run: | | |
source OpenDDS/setenv.sh | |
mkdir OpenDDS/tests/cmake/build | |
cd OpenDDS/tests/cmake/build | |
cmake -DCMAKE_CXX_STANDARD=11 .. | |
cmake --build . -- -j4 | |
- name: set up Modeling tests | |
shell: bash | |
run: | | |
cd OpenDDS | |
. setenv.sh | |
cd tools/modeling/tests | |
./setup.pl | |
cd - | |
mwc.pl -type gnuace -workers 4 -features built_in_topics=0 tools/modeling/tests/modeling_tests.mwc | |
- name: build Modeling tests | |
shell: bash | |
run: | | |
cd OpenDDS | |
. setenv.sh | |
make -j4 -C tools/modeling/tests | |
- name: create OpenDDS tar.xz artifact | |
shell: bash | |
run: | | |
cd OpenDDS | |
rm -rf ACE_TAO | |
find . -iname "*\.o" | xargs rm | |
gtar cvf ../${{ github.job }}.tar setenv.sh | |
git clean -xdfn | cut -d ' ' -f 3- | xargs gtar uvf ../${{ github.job }}.tar | |
xz -3 ../${{ github.job }}.tar | |
- name: upload OpenDDS artifact | |
uses: actions/upload-artifact@v4 | |
with: | |
name: ${{ github.job }}_artifact | |
path: ${{ github.job }}.tar.xz | |
test_m13_j_FM-1f: | |
runs-on: macos-13 | |
needs: build_m13_j_FM-1f | |
permissions: | |
contents: read | |
id-token: write | |
steps: | |
- name: install xerces-c | |
run: | | |
brew install xerces-c | |
- name: checkout MPC | |
uses: actions/checkout@v4 | |
with: | |
repository: DOCGroup/MPC | |
path: MPC | |
- name: checkout autobuild | |
uses: actions/checkout@v4 | |
with: | |
repository: DOCGroup/autobuild | |
path: autobuild | |
- name: checkout ACE_TAO | |
uses: actions/checkout@v4 | |
with: | |
repository: DOCGroup/ACE_TAO | |
ref: ace6tao2 | |
path: ACE_TAO | |
- name: download ACE_TAO artifact | |
uses: actions/download-artifact@v4 | |
with: | |
name: ACE_TAO_m13_sec_artifact | |
path: ACE_TAO | |
- name: extract ACE_TAO artifact | |
shell: bash | |
run: | | |
cd ACE_TAO | |
gtar xvfJ ACE_TAO_m13_sec.tar.xz | |
- name: checkout OpenDDS | |
uses: actions/checkout@v4 | |
with: | |
path: OpenDDS | |
submodules: true | |
- name: download OpenDDS artifact | |
uses: actions/download-artifact@v4 | |
with: | |
name: build_m13_j_FM-1f_artifact | |
path: OpenDDS | |
- name: extract OpenDDS artifact | |
shell: bash | |
run: | | |
cd OpenDDS | |
gtar xvfJ build_m13_j_FM-1f.tar.xz | |
- name: check build configuration | |
shell: bash | |
run: | | |
cd OpenDDS | |
. setenv.sh | |
tools/scripts/show_build_config.pl | |
- name: run OpenDDS tests | |
shell: bash | |
run: | | |
cd OpenDDS | |
echo "export ACE_TEST_LOG_STUCK_STACKS=1" >> setenv.sh | |
. setenv.sh | |
mkdir ${{ github.job }}_autobuild_workspace | |
cd ${{ github.job }}_autobuild_workspace | |
echo using commit $TRIGGERING_COMMIT for SHA | |
echo $TRIGGERING_COMMIT >> ./SHA | |
cat > config.xml <<EOF | |
<autobuild> | |
<configuration> | |
<variable name="log_file" value="output"/> | |
<variable name="log_root" value="$DDS_ROOT/${{ github.job }}_autobuild_workspace/logs"/> | |
<variable name="project_root" value="$DDS_ROOT"/> | |
<variable name="root" value="$DDS_ROOT/${{ github.job }}_autobuild_workspace"/> | |
<variable name="junit_xml_output" value="Tests"/> | |
</configuration> | |
<command name="log" options="on"/> | |
<command name="print_os_version"/> | |
<command name="print_ace_config"/> | |
<command name="print_make_version"/> | |
<command name="check_compiler" options="gcc"/> | |
<command name="print_perl_version"/> | |
<command name="print_autobuild_config"/> | |
<command name="auto_run_tests" options="script_path=tests dir=$GITHUB_WORKSPACE/OpenDDS -Config STATIC_MESSENGER -Config STATIC_COMPILER -Config STATIC_COMPILER2 -Config STATIC_UNIT_TESTS -Config CXX11 -Config RAPIDJSON -Config NO_SHMEM -Config DDS_NO_ORBSVCS -Config NO_BUILT_IN_TOPICS --no-dcps tests/core_ci_tests.lst"/> | |
<command name="log" options="off"/> | |
<command name="process_logs" options="move prettify index"/> | |
</autobuild> | |
EOF | |
$GITHUB_WORKSPACE/autobuild/autobuild.pl "$GITHUB_WORKSPACE/OpenDDS/${{ github.job }}_autobuild_workspace/config.xml" | |
- name: upload autobuild output | |
uses: actions/upload-artifact@v4 | |
with: | |
name: ${{ github.job }}_autobuild_output | |
path: OpenDDS/${{ github.job }}_autobuild_workspace | |
- name: Authenticate to Google Cloud | |
uses: google-github-actions/auth@v2 | |
with: | |
workload_identity_provider: projects/30587790497/locations/global/workloadIdentityPools/gha-scoreboard-upload/providers/gha-provider | |
service_account: [email protected] | |
if: ${{ github.repository == 'OpenDDS/OpenDDS' && github.ref == env.SCOREBOARD_UPLOAD_BRANCH }} | |
- name: get OpenDDS version | |
shell: bash | |
run: | | |
cd OpenDDS | |
echo "OPENDDS_MAJOR_VERSION=$(grep '#define OPENDDS_MAJOR_VERSION' dds/Version.h | cut -d' ' -f3)" >> $GITHUB_ENV | |
- name: upload to Google Cloud | |
uses: 'google-github-actions/upload-cloud-storage@v2' | |
with: | |
path: OpenDDS/${{ github.job }}_autobuild_workspace/logs | |
destination: opendds-gha-scoreboard-uploads/${{ env.OPENDDS_MAJOR_VERSION }}/${{ github.job }} | |
parent: false | |
process_gcloudignore: false | |
if: ${{ github.repository == 'OpenDDS/OpenDDS' && github.ref == env.SCOREBOARD_UPLOAD_BRANCH }} | |
- name: check results | |
shell: bash | |
run: | | |
$GITHUB_WORKSPACE/OpenDDS/tools/scripts/autobuild_brief_html_to_text.pl "$GITHUB_WORKSPACE/OpenDDS/${{ github.job }}_autobuild_workspace/logs/"*_Brief.html | |
cat "$GITHUB_WORKSPACE/OpenDDS/${{ github.job }}_autobuild_workspace/logs/latest.txt" | |
grep -q 'Failures: 0' "$GITHUB_WORKSPACE/OpenDDS/${{ github.job }}_autobuild_workspace/logs/latest.txt" | |
cmake_modeling_m13_j_FM-1f: | |
runs-on: macos-13 | |
needs: build_m13_j_FM-1f | |
permissions: | |
contents: read | |
id-token: write | |
steps: | |
- name: install xerces-c | |
run: | | |
brew install xerces-c | |
- name: checkout MPC | |
uses: actions/checkout@v4 | |
with: | |
repository: DOCGroup/MPC | |
path: MPC | |
- name: checkout autobuild | |
uses: actions/checkout@v4 | |
with: | |
repository: DOCGroup/autobuild | |
path: autobuild | |
- name: checkout ACE_TAO | |
uses: actions/checkout@v4 | |
with: | |
repository: DOCGroup/ACE_TAO | |
ref: ace6tao2 | |
path: ACE_TAO | |
- name: download ACE_TAO artifact | |
uses: actions/download-artifact@v4 | |
with: | |
name: ACE_TAO_m13_sec_artifact | |
path: ACE_TAO | |
- name: extract ACE_TAO artifact | |
shell: bash | |
run: | | |
cd ACE_TAO | |
gtar xvfJ ACE_TAO_m13_sec.tar.xz | |
- name: checkout OpenDDS | |
uses: actions/checkout@v4 | |
with: | |
path: OpenDDS | |
submodules: true | |
- name: download OpenDDS artifact | |
uses: actions/download-artifact@v4 | |
with: | |
name: build_m13_j_FM-1f_artifact | |
path: OpenDDS | |
- name: extract OpenDDS artifact | |
shell: bash | |
run: | | |
cd OpenDDS | |
gtar xvfJ build_m13_j_FM-1f.tar.xz | |
- name: check build configuration | |
shell: bash | |
run: | | |
cd OpenDDS | |
. setenv.sh | |
tools/scripts/show_build_config.pl | |
- name: run OpenDDS tests | |
shell: bash | |
run: | | |
cd OpenDDS | |
echo "export ACE_TEST_LOG_STUCK_STACKS=1" >> setenv.sh | |
. setenv.sh | |
mkdir ${{ github.job }}_autobuild_workspace | |
cd ${{ github.job }}_autobuild_workspace | |
echo using commit $TRIGGERING_COMMIT for SHA | |
echo $TRIGGERING_COMMIT >> ./SHA | |
cat > config.xml <<EOF | |
<autobuild> | |
<configuration> | |
<variable name="log_file" value="output"/> | |
<variable name="log_root" value="$DDS_ROOT/${{ github.job }}_autobuild_workspace/logs"/> | |
<variable name="project_root" value="$DDS_ROOT"/> | |
<variable name="root" value="$DDS_ROOT/${{ github.job }}_autobuild_workspace"/> | |
<variable name="junit_xml_output" value="Tests"/> | |
</configuration> | |
<command name="log" options="on"/> | |
<command name="print_os_version"/> | |
<command name="print_ace_config"/> | |
<command name="print_make_version"/> | |
<command name="check_compiler" options="gcc"/> | |
<command name="print_perl_version"/> | |
<command name="print_autobuild_config"/> | |
<command name="auto_run_tests" options="script_path=tests dir=$GITHUB_WORKSPACE/OpenDDS --no-dcps -Config CXX11 -Config RAPIDJSON -Config NO_SHMEM -Config DDS_NO_ORBSVCS -Config NO_BUILT_IN_TOPICS --java --cmake --modeling"/> | |
<command name="log" options="off"/> | |
<command name="process_logs" options="move prettify index"/> | |
</autobuild> | |
EOF | |
$GITHUB_WORKSPACE/autobuild/autobuild.pl "$GITHUB_WORKSPACE/OpenDDS/${{ github.job }}_autobuild_workspace/config.xml" | |
- name: upload autobuild output | |
uses: actions/upload-artifact@v4 | |
with: | |
name: ${{ github.job }}_autobuild_output | |
path: OpenDDS/${{ github.job }}_autobuild_workspace | |
- name: Authenticate to Google Cloud | |
uses: google-github-actions/auth@v2 | |
with: | |
workload_identity_provider: projects/30587790497/locations/global/workloadIdentityPools/gha-scoreboard-upload/providers/gha-provider | |
service_account: [email protected] | |
if: ${{ github.repository == 'OpenDDS/OpenDDS' && github.ref == env.SCOREBOARD_UPLOAD_BRANCH }} | |
- name: get OpenDDS version | |
shell: bash | |
run: | | |
cd OpenDDS | |
echo "OPENDDS_MAJOR_VERSION=$(grep '#define OPENDDS_MAJOR_VERSION' dds/Version.h | cut -d' ' -f3)" >> $GITHUB_ENV | |
- name: upload to Google Cloud | |
uses: 'google-github-actions/upload-cloud-storage@v2' | |
with: | |
path: OpenDDS/${{ github.job }}_autobuild_workspace/logs | |
destination: opendds-gha-scoreboard-uploads/${{ env.OPENDDS_MAJOR_VERSION }}/${{ github.job }} | |
parent: false | |
process_gcloudignore: false | |
if: ${{ github.repository == 'OpenDDS/OpenDDS' && github.ref == env.SCOREBOARD_UPLOAD_BRANCH }} | |
- name: check results | |
shell: bash | |
run: | | |
$GITHUB_WORKSPACE/OpenDDS/tools/scripts/autobuild_brief_html_to_text.pl "$GITHUB_WORKSPACE/OpenDDS/${{ github.job }}_autobuild_workspace/logs/"*_Brief.html | |
cat "$GITHUB_WORKSPACE/OpenDDS/${{ github.job }}_autobuild_workspace/logs/latest.txt" | |
grep -q 'Failures: 0' "$GITHUB_WORKSPACE/OpenDDS/${{ github.job }}_autobuild_workspace/logs/latest.txt" | |
# macOS 14 | |
ACE_TAO_m14_o1d0_sec: | |
runs-on: macos-14 | |
steps: | |
- name: checkout OpenDDS | |
uses: actions/checkout@v4 | |
with: | |
path: OpenDDS | |
submodules: true | |
- name: checkout ACE_TAO | |
uses: actions/checkout@v4 | |
with: | |
repository: DOCGroup/ACE_TAO | |
ref: ace6tao2 | |
path: OpenDDS/ACE_TAO | |
- name: get ACE_TAO commit | |
shell: bash | |
run: | | |
cd OpenDDS/ACE_TAO | |
export ACE_COMMIT=$(git rev-parse HEAD) | |
echo "ACE_COMMIT=$ACE_COMMIT" >> $GITHUB_ENV | |
- name: get compiler version | |
shell: bash | |
run: | | |
export COMPILER_VERSION=$(c++ --version 2>&1 | head -n 1) | |
echo "COMPILER_VERSION=$COMPILER_VERSION" >> $GITHUB_ENV | |
- name: Cache Artifact | |
id: cache-artifact | |
uses: actions/cache@v4 | |
with: | |
path: ${{ github.job }}.tar.xz | |
key: c03_${{ github.job }}_ace6tao2_${{ env.ACE_COMMIT }}_${{ env.COMPILER_VERSION }} | |
- name: install xerces-c | |
if: steps.cache-artifact.outputs.cache-hit != 'true' | |
run: | | |
brew install xerces-c | |
- name: checkout MPC | |
if: steps.cache-artifact.outputs.cache-hit != 'true' | |
uses: actions/checkout@v4 | |
with: | |
repository: DOCGroup/MPC | |
path: MPC | |
- name: configure OpenDDS | |
if: steps.cache-artifact.outputs.cache-hit != 'true' | |
run: | | |
cd OpenDDS | |
XERCESC_ROOT=$(find /opt/homebrew/Cellar/xerces-c -iname "3\.*\.*" -type d | sort -r | head -n 1) | |
./configure --optimize --no-debug --std=c++11 --tests --security --ace=$GITHUB_WORKSPACE/OpenDDS/ACE_TAO/ACE --mpc=$GITHUB_WORKSPACE/MPC --xerces3=$XERCESC_ROOT --openssl=/opt/homebrew/opt/[email protected] --compile-warnings=WARNING | |
- name: build ACE and TAO | |
if: steps.cache-artifact.outputs.cache-hit != 'true' | |
run: | | |
cd OpenDDS | |
. setenv.sh | |
cd ACE_TAO/ACE | |
make -j4 | |
cd ../TAO | |
make -j4 | |
- name: create ACE_TAO tar.xz artifact | |
if: steps.cache-artifact.outputs.cache-hit != 'true' | |
shell: bash | |
run: | | |
cd OpenDDS/ACE_TAO | |
perl -ni.bak -e "print unless /opendds/" ACE/bin/MakeProjectCreator/config/default.features # remove opendds features from here, let individual build configure scripts handle those | |
find . -iname "*\.o" | xargs rm | |
gtar cvf ../../${{ github.job }}.tar ACE/ace/config.h | |
git clean -xdfn | cut -d ' ' -f 3- | xargs gtar uvf ../../${{ github.job }}.tar | |
xz -3 ../../${{ github.job }}.tar | |
- name: upload ACE_TAO artifact | |
uses: actions/upload-artifact@v4 | |
with: | |
name: ${{ github.job }}_artifact | |
path: ${{ github.job }}.tar.xz | |
build_m14_o1d0_sec: | |
runs-on: macos-14 | |
needs: ACE_TAO_m14_o1d0_sec | |
steps: | |
- name: checkout OpenDDS | |
uses: actions/checkout@v4 | |
with: | |
path: OpenDDS | |
submodules: true | |
- name: install xerces-c | |
run: | | |
brew install xerces-c | |
- name: checkout MPC | |
uses: actions/checkout@v4 | |
with: | |
repository: DOCGroup/MPC | |
path: MPC | |
- name: checkout ACE_TAO | |
uses: actions/checkout@v4 | |
with: | |
repository: DOCGroup/ACE_TAO | |
ref: ace6tao2 | |
path: OpenDDS/ACE_TAO | |
- name: download ACE_TAO artifact | |
uses: actions/download-artifact@v4 | |
with: | |
name: ACE_TAO_m14_o1d0_sec_artifact | |
path: OpenDDS/ACE_TAO | |
- name: extract ACE_TAO artifact | |
shell: bash | |
run: | | |
cd OpenDDS/ACE_TAO | |
gtar xvfJ ACE_TAO_m14_o1d0_sec.tar.xz | |
- name: configure OpenDDS | |
run: | | |
cd OpenDDS | |
clang++ --version | |
XERCESC_ROOT=$(find /opt/homebrew/Cellar/xerces-c -iname "3\.*\.*" -type d | sort -r | head -n 1) | |
./configure --optimize --no-debug --std=c++11 --tests --rapidjson --security --ace=$GITHUB_WORKSPACE/OpenDDS/ACE_TAO/ACE --mpc=$GITHUB_WORKSPACE/MPC --xerces3=$XERCESC_ROOT --openssl=/opt/homebrew/opt/[email protected] --compile-warnings=WARNING | |
- name: check build configuration | |
shell: bash | |
run: | | |
cd OpenDDS | |
. setenv.sh | |
tools/scripts/show_build_config.pl | |
- uses: ammaraskar/[email protected] | |
- name: build OpenDDS | |
shell: bash | |
run: | | |
cd OpenDDS | |
. setenv.sh | |
make -j4 | |
- name: Build CMake Tests | |
run: | | |
source OpenDDS/setenv.sh | |
mkdir OpenDDS/tests/cmake/build | |
cd OpenDDS/tests/cmake/build | |
cmake -DCMAKE_CXX_STANDARD=11 .. | |
cmake --build . -- -j4 | |
- name: create OpenDDS tar.xz artifact | |
shell: bash | |
run: | | |
cd OpenDDS | |
rm -rf ACE_TAO | |
find . -iname "*\.o" | xargs rm | |
find bin dds lib tests -type f -print0 | xargs -0 shasum > manifest 2> manifest_errors || true | |
gtar cvf ../${{ github.job }}.tar setenv.sh manifest manifest_errors | |
git clean -xdfn | cut -d ' ' -f 3- | xargs gtar uvf ../${{ github.job }}.tar | |
xz -3 ../${{ github.job }}.tar | |
- name: upload OpenDDS artifact | |
uses: actions/upload-artifact@v4 | |
with: | |
name: ${{ github.job }}_artifact | |
path: ${{ github.job }}.tar.xz | |
test_m14_o1d0_sec: | |
runs-on: macos-14 | |
needs: build_m14_o1d0_sec | |
permissions: | |
contents: read | |
id-token: write | |
steps: | |
- name: checkout OpenDDS | |
uses: actions/checkout@v4 | |
with: | |
path: OpenDDS | |
submodules: true | |
- name: install xerces-c | |
run: | | |
brew install xerces-c | |
- name: checkout MPC | |
uses: actions/checkout@v4 | |
with: | |
repository: DOCGroup/MPC | |
path: MPC | |
- name: checkout autobuild | |
uses: actions/checkout@v4 | |
with: | |
repository: DOCGroup/autobuild | |
path: autobuild | |
- name: checkout ACE_TAO | |
uses: actions/checkout@v4 | |
with: | |
repository: DOCGroup/ACE_TAO | |
ref: ace6tao2 | |
path: OpenDDS/ACE_TAO | |
- name: download ACE_TAO artifact | |
uses: actions/download-artifact@v4 | |
with: | |
name: ACE_TAO_m14_o1d0_sec_artifact | |
path: OpenDDS/ACE_TAO | |
- name: extract ACE_TAO artifact | |
shell: bash | |
run: | | |
cd OpenDDS/ACE_TAO | |
gtar xvfJ ACE_TAO_m14_o1d0_sec.tar.xz | |
- name: download OpenDDS artifact | |
uses: actions/download-artifact@v4 | |
with: | |
name: build_m14_o1d0_sec_artifact | |
path: OpenDDS | |
- name: extract OpenDDS artifact | |
shell: bash | |
run: | | |
cd OpenDDS | |
gtar xvfJ build_m14_o1d0_sec.tar.xz | |
- name: check build configuration | |
shell: bash | |
run: | | |
cd OpenDDS | |
. setenv.sh | |
tools/scripts/show_build_config.pl | |
- name: run OpenDDS tests | |
shell: bash | |
run: | | |
ulimit -c unlimited | |
sudo chmod o+w /cores | |
cd OpenDDS | |
echo "export ACE_TEST_LOG_STUCK_STACKS=1" >> setenv.sh | |
. setenv.sh | |
mkdir ${{ github.job }}_autobuild_workspace | |
cd ${{ github.job }}_autobuild_workspace | |
echo using commit $TRIGGERING_COMMIT for SHA | |
echo $TRIGGERING_COMMIT >> ./SHA | |
cat > config.xml <<EOF | |
<autobuild> | |
<configuration> | |
<variable name="log_file" value="output"/> | |
<variable name="log_root" value="$DDS_ROOT/${{ github.job }}_autobuild_workspace/logs"/> | |
<variable name="project_root" value="$DDS_ROOT"/> | |
<variable name="root" value="$DDS_ROOT/${{ github.job }}_autobuild_workspace"/> | |
<variable name="junit_xml_output" value="Tests"/> | |
</configuration> | |
<command name="log" options="on"/> | |
<command name="print_os_version"/> | |
<command name="print_ace_config"/> | |
<command name="print_cmake_version"/> | |
<command name="print_make_version"/> | |
<command name="check_compiler" options="gcc"/> | |
<command name="print_perl_version"/> | |
<command name="print_autobuild_config"/> | |
<command name="auto_run_tests" options="script_path=tests dir=$GITHUB_WORKSPACE/OpenDDS -Config STATIC_MESSENGER -Config STATIC_COMPILER -Config STATIC_COMPILER2 -Config STATIC_UNIT_TESTS -Config XERCES3 -Config OPENDDS_SECURITY -Config CXX11 -Config RAPIDJSON -Config NO_SHMEM -Config DDS_NO_ORBSVCS --no-dcps tests/core_ci_tests.lst"/> | |
<command name="log" options="off"/> | |
<command name="process_logs" options="move prettify index"/> | |
</autobuild> | |
EOF | |
$GITHUB_WORKSPACE/autobuild/autobuild.pl "$GITHUB_WORKSPACE/OpenDDS/${{ github.job }}_autobuild_workspace/config.xml" | |
- name: upload autobuild output | |
uses: actions/upload-artifact@v4 | |
with: | |
name: ${{ github.job }}_autobuild_output | |
path: OpenDDS/${{ github.job }}_autobuild_workspace | |
- name: Authenticate to Google Cloud | |
uses: google-github-actions/auth@v2 | |
with: | |
workload_identity_provider: projects/30587790497/locations/global/workloadIdentityPools/gha-scoreboard-upload/providers/gha-provider | |
service_account: [email protected] | |
if: ${{ github.repository == 'OpenDDS/OpenDDS' && github.ref == env.SCOREBOARD_UPLOAD_BRANCH }} | |
- name: get OpenDDS version | |
shell: bash | |
run: | | |
cd OpenDDS | |
echo "OPENDDS_MAJOR_VERSION=$(grep '#define OPENDDS_MAJOR_VERSION' dds/Version.h | cut -d' ' -f3)" >> $GITHUB_ENV | |
- name: upload to Google Cloud | |
uses: 'google-github-actions/upload-cloud-storage@v2' | |
with: | |
path: OpenDDS/${{ github.job }}_autobuild_workspace/logs | |
destination: opendds-gha-scoreboard-uploads/${{ env.OPENDDS_MAJOR_VERSION }}/${{ github.job }} | |
parent: false | |
process_gcloudignore: false | |
if: ${{ github.repository == 'OpenDDS/OpenDDS' && github.ref == env.SCOREBOARD_UPLOAD_BRANCH }} | |
- name: check results | |
shell: bash | |
run: | | |
$GITHUB_WORKSPACE/OpenDDS/tools/scripts/autobuild_brief_html_to_text.pl "$GITHUB_WORKSPACE/OpenDDS/${{ github.job }}_autobuild_workspace/logs/"*_Brief.html | |
cat "$GITHUB_WORKSPACE/OpenDDS/${{ github.job }}_autobuild_workspace/logs/latest.txt" | |
grep -q 'Failures: 0' "$GITHUB_WORKSPACE/OpenDDS/${{ github.job }}_autobuild_workspace/logs/latest.txt" | |
cmake_m14_o1d0_sec: | |
runs-on: macos-14 | |
needs: build_m14_o1d0_sec | |
permissions: | |
contents: read | |
id-token: write | |
steps: | |
- name: checkout OpenDDS | |
uses: actions/checkout@v4 | |
with: | |
path: OpenDDS | |
submodules: true | |
- name: install xerces-c | |
run: | | |
brew install xerces-c | |
- name: checkout MPC | |
uses: actions/checkout@v4 | |
with: | |
repository: DOCGroup/MPC | |
path: MPC | |
- name: checkout autobuild | |
uses: actions/checkout@v4 | |
with: | |
repository: DOCGroup/autobuild | |
path: autobuild | |
- name: checkout ACE_TAO | |
uses: actions/checkout@v4 | |
with: | |
repository: DOCGroup/ACE_TAO | |
ref: ace6tao2 | |
path: OpenDDS/ACE_TAO | |
- name: download ACE_TAO artifact | |
uses: actions/download-artifact@v4 | |
with: | |
name: ACE_TAO_m14_o1d0_sec_artifact | |
path: OpenDDS/ACE_TAO | |
- name: extract ACE_TAO artifact | |
shell: bash | |
run: | | |
cd OpenDDS/ACE_TAO | |
gtar xvfJ ACE_TAO_m14_o1d0_sec.tar.xz | |
- name: download OpenDDS artifact | |
uses: actions/download-artifact@v4 | |
with: | |
name: build_m14_o1d0_sec_artifact | |
path: OpenDDS | |
- name: extract OpenDDS artifact | |
shell: bash | |
run: | | |
cd OpenDDS | |
gtar xvfJ build_m14_o1d0_sec.tar.xz | |
- name: check build configuration | |
shell: bash | |
run: | | |
cd OpenDDS | |
. setenv.sh | |
tools/scripts/show_build_config.pl | |
- name: run OpenDDS tests | |
shell: bash | |
run: | | |
ulimit -c unlimited | |
sudo chmod o+w /cores | |
cd OpenDDS | |
echo "export ACE_TEST_LOG_STUCK_STACKS=1" >> setenv.sh | |
. setenv.sh | |
mkdir ${{ github.job }}_autobuild_workspace | |
cd ${{ github.job }}_autobuild_workspace | |
echo using commit $TRIGGERING_COMMIT for SHA | |
echo $TRIGGERING_COMMIT >> ./SHA | |
cat > config.xml <<EOF | |
<autobuild> | |
<configuration> | |
<variable name="log_file" value="output"/> | |
<variable name="log_root" value="$DDS_ROOT/${{ github.job }}_autobuild_workspace/logs"/> | |
<variable name="project_root" value="$DDS_ROOT"/> | |
<variable name="root" value="$DDS_ROOT/${{ github.job }}_autobuild_workspace"/> | |
<variable name="junit_xml_output" value="Tests"/> | |
</configuration> | |
<command name="log" options="on"/> | |
<command name="print_os_version"/> | |
<command name="print_ace_config"/> | |
<command name="print_cmake_version"/> | |
<command name="print_make_version"/> | |
<command name="check_compiler" options="gcc"/> | |
<command name="print_perl_version"/> | |
<command name="print_autobuild_config"/> | |
<command name="auto_run_tests" options="script_path=tests dir=$GITHUB_WORKSPACE/OpenDDS --no-dcps --cmake"/> | |
<command name="log" options="off"/> | |
<command name="process_logs" options="move prettify index"/> | |
</autobuild> | |
EOF | |
$GITHUB_WORKSPACE/autobuild/autobuild.pl "$GITHUB_WORKSPACE/OpenDDS/${{ github.job }}_autobuild_workspace/config.xml" | |
- name: upload autobuild output | |
uses: actions/upload-artifact@v4 | |
with: | |
name: ${{ github.job }}_autobuild_output | |
path: OpenDDS/${{ github.job }}_autobuild_workspace | |
- name: Authenticate to Google Cloud | |
uses: google-github-actions/auth@v2 | |
with: | |
workload_identity_provider: projects/30587790497/locations/global/workloadIdentityPools/gha-scoreboard-upload/providers/gha-provider | |
service_account: [email protected] | |
if: ${{ github.repository == 'OpenDDS/OpenDDS' && github.ref == env.SCOREBOARD_UPLOAD_BRANCH }} | |
- name: get OpenDDS version | |
shell: bash | |
run: | | |
cd OpenDDS | |
echo "OPENDDS_MAJOR_VERSION=$(grep '#define OPENDDS_MAJOR_VERSION' dds/Version.h | cut -d' ' -f3)" >> $GITHUB_ENV | |
- name: upload to Google Cloud | |
uses: 'google-github-actions/upload-cloud-storage@v2' | |
with: | |
path: OpenDDS/${{ github.job }}_autobuild_workspace/logs | |
destination: opendds-gha-scoreboard-uploads/${{ env.OPENDDS_MAJOR_VERSION }}/${{ github.job }} | |
parent: false | |
process_gcloudignore: false | |
if: ${{ github.repository == 'OpenDDS/OpenDDS' && github.ref == env.SCOREBOARD_UPLOAD_BRANCH }} | |
- name: check results | |
shell: bash | |
run: | | |
$GITHUB_WORKSPACE/OpenDDS/tools/scripts/autobuild_brief_html_to_text.pl "$GITHUB_WORKSPACE/OpenDDS/${{ github.job }}_autobuild_workspace/logs/"*_Brief.html | |
cat "$GITHUB_WORKSPACE/OpenDDS/${{ github.job }}_autobuild_workspace/logs/latest.txt" | |
grep -q 'Failures: 0' "$GITHUB_WORKSPACE/OpenDDS/${{ github.job }}_autobuild_workspace/logs/latest.txt" | |
ACE_TAO_m14_i0_j_FM-1f: | |
runs-on: macos-14 | |
steps: | |
- name: checkout OpenDDS | |
uses: actions/checkout@v4 | |
with: | |
path: OpenDDS | |
submodules: true | |
- name: checkout ACE_TAO | |
uses: actions/checkout@v4 | |
with: | |
repository: DOCGroup/ACE_TAO | |
ref: ace6tao2 | |
path: OpenDDS/ACE_TAO | |
- name: get ACE_TAO commit | |
shell: bash | |
run: | | |
cd OpenDDS/ACE_TAO | |
export ACE_COMMIT=$(git rev-parse HEAD) | |
echo "ACE_COMMIT=$ACE_COMMIT" >> $GITHUB_ENV | |
- name: get compiler version | |
shell: bash | |
run: | | |
export COMPILER_VERSION=$(c++ --version 2>&1 | head -n 1) | |
echo "COMPILER_VERSION=$COMPILER_VERSION" >> $GITHUB_ENV | |
- name: get jdk version | |
shell: bash | |
run: | | |
export JDK_VERSION=$(java -version 2>&1 | grep -i version) | |
echo "JDK_VERSION=$JDK_VERSION" >> $GITHUB_ENV | |
- name: Cache Artifact | |
id: cache-artifact | |
uses: actions/cache@v4 | |
with: | |
path: ${{ github.job }}.tar.xz | |
key: c01_${{ github.job }}_ace6tao2_${{ env.ACE_COMMIT }}_${{ env.COMPILER_VERSION }}_${{ env.JDK_VERSION }} | |
- name: install xerces-c | |
if: steps.cache-artifact.outputs.cache-hit != 'true' | |
run: | | |
brew install xerces-c | |
- name: checkout MPC | |
if: steps.cache-artifact.outputs.cache-hit != 'true' | |
uses: actions/checkout@v4 | |
with: | |
repository: DOCGroup/MPC | |
path: MPC | |
- name: configure OpenDDS | |
if: steps.cache-artifact.outputs.cache-hit != 'true' | |
run: | | |
cd OpenDDS | |
XERCESC_ROOT=$(find /opt/homebrew/Cellar/xerces-c -iname "3\.*\.*" -type d | sort -r | head -n 1) | |
./configure --no-inline --std=c++11 --tests --security --ace=$GITHUB_WORKSPACE/OpenDDS/ACE_TAO/ACE --mpc=$GITHUB_WORKSPACE/MPC --xerces3=$XERCESC_ROOT --openssl=/opt/homebrew/opt/[email protected] --compile-warnings=WARNING | |
- name: build ACE and TAO | |
if: steps.cache-artifact.outputs.cache-hit != 'true' | |
run: | | |
cd OpenDDS | |
. setenv.sh | |
cd ACE_TAO/ACE | |
make -j4 | |
cd ../TAO | |
make -j4 | |
- name: create ACE_TAO tar.xz artifact | |
if: steps.cache-artifact.outputs.cache-hit != 'true' | |
shell: bash | |
run: | | |
cd OpenDDS/ACE_TAO | |
perl -ni.bak -e "print unless /opendds/" ACE/bin/MakeProjectCreator/config/default.features # remove opendds features from here, let individual build configure scripts handle those | |
find . -iname "*\.o" | xargs rm | |
gtar cvf ../../${{ github.job }}.tar ACE/ace/config.h | |
git clean -xdfn | cut -d ' ' -f 3- | xargs gtar uvf ../../${{ github.job }}.tar | |
xz -3 ../../${{ github.job }}.tar | |
- name: upload ACE_TAO artifact | |
uses: actions/upload-artifact@v4 | |
with: | |
name: ${{ github.job }}_artifact | |
path: ${{ github.job }}.tar.xz | |
build_m14_i0_j_FM-1f: | |
runs-on: macos-14 | |
needs: ACE_TAO_m14_i0_j_FM-1f | |
steps: | |
- name: checkout OpenDDS | |
uses: actions/checkout@v4 | |
with: | |
path: OpenDDS | |
submodules: true | |
- name: install xerces-c | |
run: | | |
brew install xerces-c | |
- name: checkout MPC | |
uses: actions/checkout@v4 | |
with: | |
repository: DOCGroup/MPC | |
path: MPC | |
- name: checkout ACE_TAO | |
uses: actions/checkout@v4 | |
with: | |
repository: DOCGroup/ACE_TAO | |
ref: ace6tao2 | |
path: OpenDDS/ACE_TAO | |
- name: download ACE_TAO artifact | |
uses: actions/download-artifact@v4 | |
with: | |
name: ACE_TAO_m14_i0_j_FM-1f_artifact | |
path: OpenDDS/ACE_TAO | |
- name: extract ACE_TAO artifact | |
shell: bash | |
run: | | |
cd OpenDDS/ACE_TAO | |
gtar xvfJ ACE_TAO_m14_i0_j_FM-1f.tar.xz | |
- name: configure OpenDDS | |
run: | | |
cd OpenDDS | |
clang++ --version | |
XERCESC_ROOT=$(find /opt/homebrew/Cellar/xerces-c -iname "3\.*\.*" -type d | sort -r | head -n 1) | |
./configure --no-inline --std=c++11 --tests --rapidjson --java --no-built-in-topics --ace=$GITHUB_WORKSPACE/OpenDDS/ACE_TAO/ACE --mpc=$GITHUB_WORKSPACE/MPC --xerces3=$XERCESC_ROOT --compile-warnings=WARNING | |
- name: check build configuration | |
shell: bash | |
run: | | |
cd OpenDDS | |
. setenv.sh | |
tools/scripts/show_build_config.pl | |
- uses: ammaraskar/[email protected] | |
- name: build OpenDDS | |
shell: bash | |
run: | | |
cd OpenDDS | |
. setenv.sh | |
make -j4 | |
- name: Build CMake Tests | |
run: | | |
source OpenDDS/setenv.sh | |
mkdir OpenDDS/tests/cmake/build | |
cd OpenDDS/tests/cmake/build | |
cmake -DCMAKE_CXX_STANDARD=11 .. | |
cmake --build . -- -j4 | |
- name: set up Modeling tests | |
shell: bash | |
run: | | |
cd OpenDDS | |
. setenv.sh | |
cd tools/modeling/tests | |
./setup.pl | |
cd - | |
mwc.pl -type gnuace -workers 4 -features built_in_topics=0 tools/modeling/tests/modeling_tests.mwc | |
- name: build Modeling tests | |
shell: bash | |
run: | | |
cd OpenDDS | |
. setenv.sh | |
make -j4 -C tools/modeling/tests | |
- name: create OpenDDS tar.xz artifact | |
shell: bash | |
run: | | |
cd OpenDDS | |
rm -rf ACE_TAO | |
find . -iname "*\.o" | xargs rm | |
find bin dds lib tests -type f -print0 | xargs -0 shasum > manifest 2> manifest_errors || true | |
gtar cvf ../${{ github.job }}.tar setenv.sh manifest manifest_errors | |
git clean -xdfn | cut -d ' ' -f 3- | xargs gtar uvf ../${{ github.job }}.tar | |
xz -3 ../${{ github.job }}.tar | |
- name: upload OpenDDS artifact | |
uses: actions/upload-artifact@v4 | |
with: | |
name: ${{ github.job }}_artifact | |
path: ${{ github.job }}.tar.xz | |
test_m14_i0_j_FM-1f: | |
runs-on: macos-14 | |
needs: build_m14_i0_j_FM-1f | |
permissions: | |
contents: read | |
id-token: write | |
steps: | |
- name: checkout OpenDDS | |
uses: actions/checkout@v4 | |
with: | |
path: OpenDDS | |
submodules: true | |
- name: install xerces-c | |
run: | | |
brew install xerces-c | |
- name: checkout MPC | |
uses: actions/checkout@v4 | |
with: | |
repository: DOCGroup/MPC | |
path: MPC | |
- name: checkout autobuild | |
uses: actions/checkout@v4 | |
with: | |
repository: DOCGroup/autobuild | |
path: autobuild | |
- name: checkout ACE_TAO | |
uses: actions/checkout@v4 | |
with: | |
repository: DOCGroup/ACE_TAO | |
ref: ace6tao2 | |
path: OpenDDS/ACE_TAO | |
- name: download ACE_TAO artifact | |
uses: actions/download-artifact@v4 | |
with: | |
name: ACE_TAO_m14_i0_j_FM-1f_artifact | |
path: OpenDDS/ACE_TAO | |
- name: extract ACE_TAO artifact | |
shell: bash | |
run: | | |
cd OpenDDS/ACE_TAO | |
gtar xvfJ ACE_TAO_m14_i0_j_FM-1f.tar.xz | |
- name: download OpenDDS artifact | |
uses: actions/download-artifact@v4 | |
with: | |
name: build_m14_i0_j_FM-1f_artifact | |
path: OpenDDS | |
- name: extract OpenDDS artifact | |
shell: bash | |
run: | | |
cd OpenDDS | |
gtar xvfJ build_m14_i0_j_FM-1f.tar.xz | |
- name: check build configuration | |
shell: bash | |
run: | | |
cd OpenDDS | |
. setenv.sh | |
tools/scripts/show_build_config.pl | |
- name: run OpenDDS tests | |
shell: bash | |
run: | | |
ulimit -c unlimited | |
sudo chmod o+w /cores | |
cd OpenDDS | |
echo "export ACE_TEST_LOG_STUCK_STACKS=1" >> setenv.sh | |
. setenv.sh | |
mkdir ${{ github.job }}_autobuild_workspace | |
cd ${{ github.job }}_autobuild_workspace | |
echo using commit $TRIGGERING_COMMIT for SHA | |
echo $TRIGGERING_COMMIT >> ./SHA | |
cat > config.xml <<EOF | |
<autobuild> | |
<configuration> | |
<variable name="log_file" value="output"/> | |
<variable name="log_root" value="$DDS_ROOT/${{ github.job }}_autobuild_workspace/logs"/> | |
<variable name="project_root" value="$DDS_ROOT"/> | |
<variable name="root" value="$DDS_ROOT/${{ github.job }}_autobuild_workspace"/> | |
<variable name="junit_xml_output" value="Tests"/> | |
</configuration> | |
<command name="log" options="on"/> | |
<command name="print_os_version"/> | |
<command name="print_ace_config"/> | |
<command name="print_cmake_version"/> | |
<command name="print_make_version"/> | |
<command name="check_compiler" options="gcc"/> | |
<command name="print_perl_version"/> | |
<command name="print_autobuild_config"/> | |
<command name="auto_run_tests" options="script_path=tests dir=$GITHUB_WORKSPACE/OpenDDS -Config STATIC_MESSENGER -Config STATIC_COMPILER -Config STATIC_COMPILER2 -Config STATIC_UNIT_TESTS -Config CXX11 -Config RAPIDJSON -Config NO_SHMEM -Config DDS_NO_ORBSVCS -Config NO_BUILT_IN_TOPICS -Config NO_UNIT_TESTS --no-dcps tests/core_ci_tests.lst"/> | |
<command name="log" options="off"/> | |
<command name="process_logs" options="move prettify index"/> | |
</autobuild> | |
EOF | |
$GITHUB_WORKSPACE/autobuild/autobuild.pl "$GITHUB_WORKSPACE/OpenDDS/${{ github.job }}_autobuild_workspace/config.xml" | |
- name: upload autobuild output | |
uses: actions/upload-artifact@v4 | |
with: | |
name: ${{ github.job }}_autobuild_output | |
path: OpenDDS/${{ github.job }}_autobuild_workspace | |
- name: Authenticate to Google Cloud | |
uses: google-github-actions/auth@v2 | |
with: | |
workload_identity_provider: projects/30587790497/locations/global/workloadIdentityPools/gha-scoreboard-upload/providers/gha-provider | |
service_account: [email protected] | |
if: ${{ github.repository == 'OpenDDS/OpenDDS' && github.ref == env.SCOREBOARD_UPLOAD_BRANCH }} | |
- name: get OpenDDS version | |
shell: bash | |
run: | | |
cd OpenDDS | |
echo "OPENDDS_MAJOR_VERSION=$(grep '#define OPENDDS_MAJOR_VERSION' dds/Version.h | cut -d' ' -f3)" >> $GITHUB_ENV | |
- name: upload to Google Cloud | |
uses: 'google-github-actions/upload-cloud-storage@v2' | |
with: | |
path: OpenDDS/${{ github.job }}_autobuild_workspace/logs | |
destination: opendds-gha-scoreboard-uploads/${{ env.OPENDDS_MAJOR_VERSION }}/${{ github.job }} | |
parent: false | |
process_gcloudignore: false | |
if: ${{ github.repository == 'OpenDDS/OpenDDS' && github.ref == env.SCOREBOARD_UPLOAD_BRANCH }} | |
- name: check results | |
shell: bash | |
run: | | |
$GITHUB_WORKSPACE/OpenDDS/tools/scripts/autobuild_brief_html_to_text.pl "$GITHUB_WORKSPACE/OpenDDS/${{ github.job }}_autobuild_workspace/logs/"*_Brief.html | |
cat "$GITHUB_WORKSPACE/OpenDDS/${{ github.job }}_autobuild_workspace/logs/latest.txt" | |
grep -q 'Failures: 0' "$GITHUB_WORKSPACE/OpenDDS/${{ github.job }}_autobuild_workspace/logs/latest.txt" | |
cmake_modeling_m14_i0_j_FM-1f: | |
runs-on: macos-14 | |
needs: build_m14_i0_j_FM-1f | |
permissions: | |
contents: read | |
id-token: write | |
steps: | |
- name: checkout OpenDDS | |
uses: actions/checkout@v4 | |
with: | |
path: OpenDDS | |
submodules: true | |
- name: install xerces-c | |
run: | | |
brew install xerces-c | |
- name: checkout MPC | |
uses: actions/checkout@v4 | |
with: | |
repository: DOCGroup/MPC | |
path: MPC | |
- name: checkout autobuild | |
uses: actions/checkout@v4 | |
with: | |
repository: DOCGroup/autobuild | |
path: autobuild | |
- name: checkout ACE_TAO | |
uses: actions/checkout@v4 | |
with: | |
repository: DOCGroup/ACE_TAO | |
ref: ace6tao2 | |
path: OpenDDS/ACE_TAO | |
- name: download ACE_TAO artifact | |
uses: actions/download-artifact@v4 | |
with: | |
name: ACE_TAO_m14_i0_j_FM-1f_artifact | |
path: OpenDDS/ACE_TAO | |
- name: extract ACE_TAO artifact | |
shell: bash | |
run: | | |
cd OpenDDS/ACE_TAO | |
gtar xvfJ ACE_TAO_m14_i0_j_FM-1f.tar.xz | |
- name: download OpenDDS artifact | |
uses: actions/download-artifact@v4 | |
with: | |
name: build_m14_i0_j_FM-1f_artifact | |
path: OpenDDS | |
- name: extract OpenDDS artifact | |
shell: bash | |
run: | | |
cd OpenDDS | |
gtar xvfJ build_m14_i0_j_FM-1f.tar.xz | |
- name: check build configuration | |
shell: bash | |
run: | | |
cd OpenDDS | |
. setenv.sh | |
tools/scripts/show_build_config.pl | |
- name: run OpenDDS tests | |
shell: bash | |
run: | | |
ulimit -c unlimited | |
sudo chmod o+w /cores | |
cd OpenDDS | |
echo "export ACE_TEST_LOG_STUCK_STACKS=1" >> setenv.sh | |
. setenv.sh | |
mkdir ${{ github.job }}_autobuild_workspace | |
cd ${{ github.job }}_autobuild_workspace | |
echo using commit $TRIGGERING_COMMIT for SHA | |
echo $TRIGGERING_COMMIT >> ./SHA | |
cat > config.xml <<EOF | |
<autobuild> | |
<configuration> | |
<variable name="log_file" value="output"/> | |
<variable name="log_root" value="$DDS_ROOT/${{ github.job }}_autobuild_workspace/logs"/> | |
<variable name="project_root" value="$DDS_ROOT"/> | |
<variable name="root" value="$DDS_ROOT/${{ github.job }}_autobuild_workspace"/> | |
<variable name="junit_xml_output" value="Tests"/> | |
</configuration> | |
<command name="log" options="on"/> | |
<command name="print_os_version"/> | |
<command name="print_ace_config"/> | |
<command name="print_cmake_version"/> | |
<command name="print_make_version"/> | |
<command name="check_compiler" options="gcc"/> | |
<command name="print_perl_version"/> | |
<command name="print_autobuild_config"/> | |
<command name="auto_run_tests" options="script_path=tests dir=$GITHUB_WORKSPACE/OpenDDS --no-dcps -Config CXX11 -Config RAPIDJSON -Config NO_SHMEM -Config DDS_NO_ORBSVCS -Config NO_BUILT_IN_TOPICS -Config NO_UNIT_TESTS --modeling --cmake"/> | |
<command name="log" options="off"/> | |
<command name="process_logs" options="move prettify index"/> | |
</autobuild> | |
EOF | |
$GITHUB_WORKSPACE/autobuild/autobuild.pl "$GITHUB_WORKSPACE/OpenDDS/${{ github.job }}_autobuild_workspace/config.xml" | |
- name: upload autobuild output | |
uses: actions/upload-artifact@v4 | |
with: | |
name: ${{ github.job }}_autobuild_output | |
path: OpenDDS/${{ github.job }}_autobuild_workspace | |
- name: Authenticate to Google Cloud | |
uses: google-github-actions/auth@v2 | |
with: | |
workload_identity_provider: projects/30587790497/locations/global/workloadIdentityPools/gha-scoreboard-upload/providers/gha-provider | |
service_account: [email protected] | |
if: ${{ github.repository == 'OpenDDS/OpenDDS' && github.ref == env.SCOREBOARD_UPLOAD_BRANCH }} | |
- name: get OpenDDS version | |
shell: bash | |
run: | | |
cd OpenDDS | |
echo "OPENDDS_MAJOR_VERSION=$(grep '#define OPENDDS_MAJOR_VERSION' dds/Version.h | cut -d' ' -f3)" >> $GITHUB_ENV | |
- name: upload to Google Cloud | |
uses: 'google-github-actions/upload-cloud-storage@v2' | |
with: | |
path: OpenDDS/${{ github.job }}_autobuild_workspace/logs | |
destination: opendds-gha-scoreboard-uploads/${{ env.OPENDDS_MAJOR_VERSION }}/${{ github.job }} | |
parent: false | |
process_gcloudignore: false | |
if: ${{ github.repository == 'OpenDDS/OpenDDS' && github.ref == env.SCOREBOARD_UPLOAD_BRANCH }} | |
- name: check results | |
shell: bash | |
run: | | |
$GITHUB_WORKSPACE/OpenDDS/tools/scripts/autobuild_brief_html_to_text.pl "$GITHUB_WORKSPACE/OpenDDS/${{ github.job }}_autobuild_workspace/logs/"*_Brief.html | |
cat "$GITHUB_WORKSPACE/OpenDDS/${{ github.job }}_autobuild_workspace/logs/latest.txt" | |
grep -q 'Failures: 0' "$GITHUB_WORKSPACE/OpenDDS/${{ github.job }}_autobuild_workspace/logs/latest.txt" | |
build_u14_gcc4: | |
runs-on: ubuntu-22.04 | |
steps: | |
- name: Checkout OpenDDS | |
uses: actions/checkout@v4 | |
with: | |
path: OpenDDS | |
submodules: true | |
- uses: ammaraskar/[email protected] | |
- name: Build | |
run: cd OpenDDS && docker build -f .github/workflows/build_u14_gcc4.Dockerfile . | |
openssl3_u20: | |
runs-on: ubuntu-20.04 | |
steps: | |
- name: checkout openssl 3.0.2 | |
run: | | |
git clone --branch openssl-3.0.2 --depth 1 https://github.com/openssl/openssl.git | |
cd openssl | |
echo "OPENSSL_COMMIT=$(git rev-parse HEAD)" >> $GITHUB_ENV | |
- name: Cache Artifact | |
id: cache-artifact | |
uses: actions/cache@v4 | |
with: | |
path: ${{ github.job }}.tar.xz | |
key: c02_${{ github.job }}_${{ env.OPENSSL_COMMIT }} | |
- name: Build openssl 3.0.2 | |
if: steps.cache-artifact.outputs.cache-hit != 'true' | |
run: | | |
PREFIX=$PWD/openssl_install | |
echo PREFIX=$PREFIX | |
mkdir $PREFIX | |
cd openssl | |
./Configure no-tests --prefix=$PREFIX | |
make install_sw | |
- name: create openssl tar.xz artifact | |
if: steps.cache-artifact.outputs.cache-hit != 'true' | |
shell: bash | |
run: | | |
tar cvf ${{ github.job }}.tar openssl_install | |
xz -3 ${{ github.job }}.tar | |
- name: upload openssl artifact | |
uses: actions/upload-artifact@v4 | |
with: | |
name: ${{ github.job }}_artifact | |
path: ${{ github.job }}.tar.xz | |
openssl3_w19: | |
runs-on: windows-2019 | |
steps: | |
- name: checkout openssl 3.0.2 | |
shell: cmd | |
run: | | |
git clone --branch openssl-3.0.2 --depth 1 https://github.com/openssl/openssl.git | |
cd openssl | |
for /f %%x in ('git rev-parse HEAD') do @echo OPENSSL_COMMIT=%%x>> %GITHUB_ENV% | |
- name: get compiler version | |
shell: bash | |
run: | | |
export COMPILER_VERSION=$("C:\Program Files (x86)\Microsoft Visual Studio\Installer\vswhere.exe" -property catalog_productDisplayVersion) | |
echo "COMPILER_VERSION=$COMPILER_VERSION" >> $GITHUB_ENV | |
- name: Cache Artifact | |
id: cache-artifact | |
uses: actions/cache@v4 | |
with: | |
path: ${{ github.job }}.tar.xz | |
key: c01_${{ github.job }}_${{ env.OPENSSL_COMMIT }}_${{ env.COMPILER_VERSION }} | |
- name: set up msvc env | |
if: steps.cache-artifact.outputs.cache-hit != 'true' | |
uses: ilammy/msvc-dev-cmd@v1 | |
- name: set up nasm | |
if: steps.cache-artifact.outputs.cache-hit != 'true' | |
uses: ilammy/setup-nasm@v1 | |
- name: set openssl environment | |
if: steps.cache-artifact.outputs.cache-hit != 'true' | |
shell: cmd | |
run: | | |
echo SSL_ROOT=%CD%\openssl3>> %GITHUB_ENV% | |
echo OPENSSLDIR=%CD%\openssl3dir>> %GITHUB_ENV% | |
type %GITHUB_ENV% | |
- name: build openssl | |
if: steps.cache-artifact.outputs.cache-hit != 'true' | |
shell: cmd | |
run: | | |
cd openssl | |
perl Configure --prefix=%SSL_ROOT% --openssldir=%OPENSSLDIR% --no-asm VC-WIN64A | |
nmake | |
nmake install | |
- name: create openssl artifact | |
if: steps.cache-artifact.outputs.cache-hit != 'true' | |
shell: bash | |
run: | | |
tar cvhf ${{ github.job }}.tar openssl3 | |
xz -3 ${{ github.job }}.tar | |
- name: upload openssl artifact | |
uses: actions/upload-artifact@v4 | |
with: | |
name: ${{ github.job }}_artifact | |
path: ${{ github.job }}.tar.xz |