diff --git a/.github/workflows/build-test.yml b/.github/workflows/build-test.yml index 6543bf6c4..fa340f2ef 100644 --- a/.github/workflows/build-test.yml +++ b/.github/workflows/build-test.yml @@ -12,7 +12,7 @@ permissions: jobs: build: - runs-on: ubuntu-latest + runs-on: ubuntu-22.04 steps: - uses: actions/checkout@v3 diff --git a/.github/workflows/native-build.yml b/.github/workflows/native-build.yml index 849f4ab5f..b074762ff 100644 --- a/.github/workflows/native-build.yml +++ b/.github/workflows/native-build.yml @@ -49,7 +49,7 @@ on: type: boolean jobs: build-jars: - runs-on: "ubuntu-latest" + runs-on: "ubuntu-22.04" name: "Build Standard JARs" steps: - name: "Checkout repository" @@ -90,7 +90,7 @@ jobs: outputs: native: ${{ steps.set-matrix.outputs.native }} tags: ${{ steps.set-matrix.outputs.tags }} - runs-on: ubuntu-latest + runs-on: ubuntu-22.04 steps: - id: set-matrix shell: python @@ -105,7 +105,7 @@ jobs: "tag": "macosx_12_0_universal2" }, { - "runner": "ubuntu-latest", + "runner": "ubuntu-22.04", "tag": "manylinux2014_x86_64", "container": "quay.io/pypa/manylinux2014_x86_64" } @@ -135,6 +135,9 @@ jobs: run: | # https://github.com/actions/checkout/issues/1809 # https://github.blog/changelog/2024-03-07-github-actions-all-actions-will-run-on-node20-instead-of-node16-by-default/ + # + # NOTE: actions/checkout et al. @v3 are deprecated - however the manylinux2014_x86_64 Docker image does not have node20 + # which prevents from upgrading to @v4. We keep the deprecated versions (@v3) for now for lack of a better solution echo "ACTIONS_RUNNER_FORCED_INTERNAL_NODE_VERSION=node16" >> $GITHUB_ENV echo "ACTIONS_RUNNER_FORCE_ACTIONS_NODE_VERSION=node16" >> $GITHUB_ENV echo "ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION=true" >> $GITHUB_ENV @@ -174,7 +177,7 @@ jobs: ${{ inputs.test }} build-wheels: needs: [build-jars, build-native-images, generate-run-matricies] - runs-on: ubuntu-latest + runs-on: ubuntu-22.04 strategy: matrix: ${{ fromJson(needs.generate-run-matricies.outputs.tags) }} steps: @@ -242,7 +245,7 @@ jobs: publish-wheels: if: ${{ github.event_name == 'release' }} needs: [test-wheels, generate-run-matricies] - runs-on: ubuntu-latest + runs-on: ubuntu-22.04 strategy: matrix: ${{ fromJson(needs.generate-run-matricies.outputs.tags) }} steps: diff --git a/compiler/lib/src/main/scala/codegen/CppWriter/ComponentCppWriter/ComponentDataProducts.scala b/compiler/lib/src/main/scala/codegen/CppWriter/ComponentCppWriter/ComponentDataProducts.scala index 25caca2b1..57fde61b5 100644 --- a/compiler/lib/src/main/scala/codegen/CppWriter/ComponentCppWriter/ComponentDataProducts.scala +++ b/compiler/lib/src/main/scala/codegen/CppWriter/ComponentCppWriter/ComponentDataProducts.scala @@ -178,9 +178,9 @@ case class ComponentDataProducts ( |Fw::Buffer buffer; |const Fw::Success::T status = this->$invokeProductGet(0, globalId, size, buffer); |if (status == Fw::Success::SUCCESS) { - | container.setId(globalId); - | container.setBuffer(buffer); - | container.setBaseId(baseId); + | // Assign a fresh DpContainer into container + | // This action clears out all the container state + | container = DpContainer(globalId, buffer, baseId); | container.setPriority(priority); |} |return status;""") diff --git a/compiler/tools/fpp-to-cpp/test/array/check-cpp b/compiler/tools/fpp-to-cpp/test/array/check-cpp index 431a6d44d..957a6e566 100755 --- a/compiler/tools/fpp-to-cpp/test/array/check-cpp +++ b/compiler/tools/fpp-to-cpp/test/array/check-cpp @@ -7,7 +7,6 @@ cd `dirname $0` fprime_gcc=../../../../scripts/fprime-gcc -export FPRIME_GCC_FLAGS="-Iinclude" ../fprime/generate_cpp @@ -20,5 +19,5 @@ do cp $base.ref.hpp $base.hpp cp $base.ref.cpp $base.cpp echo "compiling $base.cpp" - $fprime_gcc -I../../.. -c $base.cpp -Wno-gnu-zero-variadic-macro-arguments + $fprime_gcc -Iinclude -c $base.cpp done diff --git a/compiler/tools/fpp-to-cpp/test/component/base/ActiveGetProductsComponentAc.ref.cpp b/compiler/tools/fpp-to-cpp/test/component/base/ActiveGetProductsComponentAc.ref.cpp index a18be9441..0fdb6e1bc 100644 --- a/compiler/tools/fpp-to-cpp/test/component/base/ActiveGetProductsComponentAc.ref.cpp +++ b/compiler/tools/fpp-to-cpp/test/component/base/ActiveGetProductsComponentAc.ref.cpp @@ -3433,9 +3433,9 @@ Fw::Success::T ActiveGetProductsComponentBase :: Fw::Buffer buffer; const Fw::Success::T status = this->productGetOut_out(0, globalId, size, buffer); if (status == Fw::Success::SUCCESS) { - container.setId(globalId); - container.setBuffer(buffer); - container.setBaseId(baseId); + // Assign a fresh DpContainer into container + // This action clears out all the container state + container = DpContainer(globalId, buffer, baseId); container.setPriority(priority); } return status; diff --git a/compiler/tools/fpp-to-cpp/test/component/base/PassiveGetProductsComponentAc.ref.cpp b/compiler/tools/fpp-to-cpp/test/component/base/PassiveGetProductsComponentAc.ref.cpp index 6cbc25f1f..37e54a072 100644 --- a/compiler/tools/fpp-to-cpp/test/component/base/PassiveGetProductsComponentAc.ref.cpp +++ b/compiler/tools/fpp-to-cpp/test/component/base/PassiveGetProductsComponentAc.ref.cpp @@ -2144,9 +2144,9 @@ Fw::Success::T PassiveGetProductsComponentBase :: Fw::Buffer buffer; const Fw::Success::T status = this->productGetOut_out(0, globalId, size, buffer); if (status == Fw::Success::SUCCESS) { - container.setId(globalId); - container.setBuffer(buffer); - container.setBaseId(baseId); + // Assign a fresh DpContainer into container + // This action clears out all the container state + container = DpContainer(globalId, buffer, baseId); container.setPriority(priority); } return status; diff --git a/compiler/tools/fpp-to-cpp/test/component/base/QueuedGetProductsComponentAc.ref.cpp b/compiler/tools/fpp-to-cpp/test/component/base/QueuedGetProductsComponentAc.ref.cpp index c34f97834..5321ffd6b 100644 --- a/compiler/tools/fpp-to-cpp/test/component/base/QueuedGetProductsComponentAc.ref.cpp +++ b/compiler/tools/fpp-to-cpp/test/component/base/QueuedGetProductsComponentAc.ref.cpp @@ -3433,9 +3433,9 @@ Fw::Success::T QueuedGetProductsComponentBase :: Fw::Buffer buffer; const Fw::Success::T status = this->productGetOut_out(0, globalId, size, buffer); if (status == Fw::Success::SUCCESS) { - container.setId(globalId); - container.setBuffer(buffer); - container.setBaseId(baseId); + // Assign a fresh DpContainer into container + // This action clears out all the container state + container = DpContainer(globalId, buffer, baseId); container.setPriority(priority); } return status; diff --git a/compiler/tools/fpp-to-cpp/test/component/compile_base_cpp b/compiler/tools/fpp-to-cpp/test/component/compile_base_cpp index 228435ae3..506e4ea6d 100755 --- a/compiler/tools/fpp-to-cpp/test/component/compile_base_cpp +++ b/compiler/tools/fpp-to-cpp/test/component/compile_base_cpp @@ -27,12 +27,10 @@ do done fprime_gcc=../../../../../scripts/fprime-gcc -export FPRIME_GCC_FLAGS="-I../../fprime" ## Set compiler flags -include_flags="-I../../../.. -I.." +include_flags="-I../../../.. -I.. -I../../fprime -I../../fprime/config" warning_flags=" --Wno-gnu-zero-variadic-macro-arguments -Wno-sign-conversion -Wno-unused-parameter -Wno-vla-extension diff --git a/compiler/tools/fpp-to-cpp/test/component/impl/check-cpp b/compiler/tools/fpp-to-cpp/test/component/impl/check-cpp index 85f0b00f0..415843660 100755 --- a/compiler/tools/fpp-to-cpp/test/component/impl/check-cpp +++ b/compiler/tools/fpp-to-cpp/test/component/impl/check-cpp @@ -5,7 +5,6 @@ cd `dirname $0` fprime_gcc=../../../../../scripts/fprime-gcc export FPRIME_GCC_FLAGS="-I../../fprime" warning_flags=" --Wno-gnu-zero-variadic-macro-arguments -Wno-return-type -Wno-unused-parameter " @@ -25,5 +24,5 @@ do cp $base.template.ref.hpp $base.hpp cp $base.template.ref.cpp $base.cpp echo "compiling $base.cpp" - $fprime_gcc -I../../../.. -I.. -c $base.cpp $warning_flags + $fprime_gcc -I../../../.. -I.. -I../../fprime/config $warning_flags -c $base.cpp done diff --git a/compiler/tools/fpp-to-cpp/test/component/test-impl/check-cpp b/compiler/tools/fpp-to-cpp/test/component/test-impl/check-cpp index 63fbee426..1ab19c012 100755 --- a/compiler/tools/fpp-to-cpp/test/component/test-impl/check-cpp +++ b/compiler/tools/fpp-to-cpp/test/component/test-impl/check-cpp @@ -5,7 +5,6 @@ cd `dirname $0` fprime_gcc=../../../../../scripts/fprime-gcc export FPRIME_GCC_FLAGS="-I../../fprime" warning_flags=" --Wno-gnu-zero-variadic-macro-arguments -Wno-return-type -Wno-sign-conversion -Wno-unused-parameter @@ -17,6 +16,7 @@ include_flags=" -I../base -I../impl -I../test-base +-I../../fprime/config " define_flags="-DPROTECTED="public" -DBUILD_UT=1" @@ -44,5 +44,5 @@ do base=`basename $file .ref.cpp` cp $file $base.cpp echo "compiling $base.cpp" - $fprime_gcc $include_flags -c $define_flags $warning_flags $base.cpp + $fprime_gcc $include_flags $define_flags $warning_flags -c $base.cpp done diff --git a/compiler/tools/fpp-to-cpp/test/enum/check-cpp b/compiler/tools/fpp-to-cpp/test/enum/check-cpp index b5fb48b99..55f4232f2 100755 --- a/compiler/tools/fpp-to-cpp/test/enum/check-cpp +++ b/compiler/tools/fpp-to-cpp/test/enum/check-cpp @@ -14,5 +14,5 @@ do cp $base.ref.hpp $base.hpp cp $base.ref.cpp $base.cpp echo "compiling $base.cpp" - $fprime_gcc -I../../.. -c $base.cpp + $fprime_gcc -I../fprime/config -c $base.cpp done diff --git a/compiler/tools/fpp-to-cpp/test/port/check-cpp b/compiler/tools/fpp-to-cpp/test/port/check-cpp index 3b3b3d753..fe96ff82e 100755 --- a/compiler/tools/fpp-to-cpp/test/port/check-cpp +++ b/compiler/tools/fpp-to-cpp/test/port/check-cpp @@ -15,5 +15,5 @@ do cp $base.ref.hpp $base.hpp cp $base.ref.cpp $base.cpp echo "compiling $base.cpp" - $fprime_gcc -I../../.. -c $base.cpp -Wno-gnu-zero-variadic-macro-arguments + $fprime_gcc -I../fprime/config -c $base.cpp done diff --git a/compiler/tools/fpp-to-cpp/test/struct/check-cpp b/compiler/tools/fpp-to-cpp/test/struct/check-cpp index c0b6bb85c..a77f91d1a 100755 --- a/compiler/tools/fpp-to-cpp/test/struct/check-cpp +++ b/compiler/tools/fpp-to-cpp/test/struct/check-cpp @@ -16,5 +16,5 @@ do cp $base.ref.hpp $base.hpp cp $base.ref.cpp $base.cpp echo "compiling $base.cpp" - $fprime_gcc -I../../.. -c $base.cpp -Wno-gnu-zero-variadic-macro-arguments + $fprime_gcc -I../fprime/config -c $base.cpp done diff --git a/compiler/tools/fpp-to-cpp/test/top/check-cpp b/compiler/tools/fpp-to-cpp/test/top/check-cpp index ed7e7e4fd..3ccc792c4 100755 --- a/compiler/tools/fpp-to-cpp/test/top/check-cpp +++ b/compiler/tools/fpp-to-cpp/test/top/check-cpp @@ -3,5 +3,4 @@ cd `dirname $0` ../fprime/generate_cpp -export FPRIME_GCC_FLAGS="-I../../../fprime -Wno-unused-parameter -Wno-unused-variable" (cd check-cpp-dir; ./check) diff --git a/compiler/tools/fpp-to-cpp/test/top/check-cpp-dir/Basic/check b/compiler/tools/fpp-to-cpp/test/top/check-cpp-dir/Basic/check index 3922a976c..83806a6ac 100755 --- a/compiler/tools/fpp-to-cpp/test/top/check-cpp-dir/Basic/check +++ b/compiler/tools/fpp-to-cpp/test/top/check-cpp-dir/Basic/check @@ -1,6 +1,5 @@ #!/bin/sh -e -export FPRIME_GCC_FLAGS="-I../../../fprime -Wno-unused-parameter -Wno-unused-variable" fpp_to_cpp=../../../../../../bin/fpp-to-cpp echo ' removing old files' @@ -17,4 +16,4 @@ do done echo ' compiling C++' -fprime-gcc -c BasicTopologyAc.cpp +fprime-gcc -I.. -I../../../fprime -I../../../fprime/config -Wno-unused-parameter -c BasicTopologyAc.cpp diff --git a/compiler/tools/fpp-to-cpp/test/top/check-cpp-dir/Commands/check b/compiler/tools/fpp-to-cpp/test/top/check-cpp-dir/Commands/check index b89d99118..6775f3fc7 100755 --- a/compiler/tools/fpp-to-cpp/test/top/check-cpp-dir/Commands/check +++ b/compiler/tools/fpp-to-cpp/test/top/check-cpp-dir/Commands/check @@ -1,6 +1,5 @@ #!/bin/sh -e -export FPRIME_GCC_FLAGS="-I../../../fprime -Wno-unused-parameter -Wno-unused-variable" fpp_to_cpp=../../../../../../bin/fpp-to-cpp echo ' removing old files' @@ -18,4 +17,4 @@ do done echo ' compiling C++' -fprime-gcc -I .. -c CommandsTopologyAc.cpp +fprime-gcc -I.. -I../../../fprime -I../../../fprime/config -Wno-unused-parameter -c CommandsTopologyAc.cpp diff --git a/compiler/tools/fpp-to-cpp/test/top/check-cpp-dir/Health/check b/compiler/tools/fpp-to-cpp/test/top/check-cpp-dir/Health/check index ea972f173..d2a15f3f5 100755 --- a/compiler/tools/fpp-to-cpp/test/top/check-cpp-dir/Health/check +++ b/compiler/tools/fpp-to-cpp/test/top/check-cpp-dir/Health/check @@ -1,6 +1,5 @@ #!/bin/sh -e -export FPRIME_GCC_FLAGS="-I../../../fprime -Wno-unused-parameter -Wno-unused-variable" fpp_to_cpp=../../../../../../bin/fpp-to-cpp echo ' removing old files' @@ -17,4 +16,4 @@ do done echo ' compiling C++' -fprime-gcc -c HealthTopologyAc.cpp +fprime-gcc -I.. -I../../../fprime -I../../../fprime/config -Wno-unused-parameter -c HealthTopologyAc.cpp diff --git a/compiler/tools/fpp-to-cpp/test/top/check-cpp-dir/Params/check b/compiler/tools/fpp-to-cpp/test/top/check-cpp-dir/Params/check index ac80feb32..2b9801338 100755 --- a/compiler/tools/fpp-to-cpp/test/top/check-cpp-dir/Params/check +++ b/compiler/tools/fpp-to-cpp/test/top/check-cpp-dir/Params/check @@ -1,6 +1,5 @@ #!/bin/sh -e -export FPRIME_GCC_FLAGS="-I../../../fprime -Wno-unused-parameter -Wno-unused-variable" fpp_to_cpp=../../../../../../bin/fpp-to-cpp echo ' removing old files' @@ -18,4 +17,4 @@ do done echo ' compiling C++' -fprime-gcc -I .. -c ParamsTopologyAc.cpp +fprime-gcc -I.. -I../../../fprime -I../../../fprime/config -Wno-unused-parameter -c ParamsTopologyAc.cpp