From a1b140e448629d7c23b7d540d68316fae9d17758 Mon Sep 17 00:00:00 2001 From: "Gerardo E. Cruz-Ortiz" <59618057+astrogeco@users.noreply.github.com> Date: Mon, 20 Sep 2021 21:58:00 -0400 Subject: [PATCH 1/3] IC:2021-09-21 **Combines** nasa/cFE#1967 v6.8.0-rc1+dev1024 nasa/osal#1158 v5.1.0-rc1+dev619 nasa/sch_lab#92 v2.4.0-rc1+dev53 nasa/sample_app#155 v1.2.0-rc1+dev73 nasa/to_lab#105 v2.4.0-rc1+dev58 nasa/ci_lab#93 v2.4.0-rc1+dev46 **Includes:** *cFE* nasa/cFE#1948, Update name of macros/functions added to "cfe_assert" nasa/cFE#1950, Fix Mismatch between MSG API and test case in "TestMsgId" functional test nasa/cFE#1962, Single time domain in functional time tests nasa/cFE#1943, add missing inclusions in CFE API headers nasa/cFE#1964, Use existing /ram for FS header test nasa/cFE#1956, Add static local to function test so data section is nonzero nasa/cFE#1960, Make invalid buffer length consistent in es task test nasa/cFE#1953, Only check base filename in library info functional nasa/cFE#1970, Confirm sb/time reset requirements in coverage test nasa/cFE#1947, Fix broken link in App Developers Guide nasa/cFE#1972, Fix #1971, avoid alias warning on some compilers *osal* nas/osal#1149, Enable symbol api test and MIR dump too large nasa/osal#1152, Fix OSAL loader test hard fails if size exceeded nasa/osal#1155, add bsp-specific configuration flag registry nasa/osal#1157, Add os-specifc socket flag function *Apps* nasa/ci_lab#92, Apply CFE_SB_ValueToMsgId where required nasa/sample_app#154, Apply CFE_SB_ValueToMsgId where required nasa/sch_lab#91, Apply CFE_SB_ValueToMsgId where required nasa/to_lab#104, Apply CFE_SB_ValueToMsgId where required Co-authored-by: Jacob Hageman Co-authored-by: Joseph Hickey Co-authored-by: Adrien Chardon --- apps/ci_lab | 2 +- apps/sample_app | 2 +- apps/sch_lab | 2 +- apps/to_lab | 2 +- cfe | 2 +- osal | 2 +- 6 files changed, 6 insertions(+), 6 deletions(-) diff --git a/apps/ci_lab b/apps/ci_lab index 965b8fd31..12b8cdd5c 160000 --- a/apps/ci_lab +++ b/apps/ci_lab @@ -1 +1 @@ -Subproject commit 965b8fd318cee2a410fd54001d0b10e33d147a26 +Subproject commit 12b8cdd5cc8945fe4dfd4423e57f48114f1948d8 diff --git a/apps/sample_app b/apps/sample_app index 847ba8e09..d009197df 160000 --- a/apps/sample_app +++ b/apps/sample_app @@ -1 +1 @@ -Subproject commit 847ba8e09d2a90ba16466b87bce66236f8c62ffe +Subproject commit d009197df721af1f430d173584fa64a507a94a13 diff --git a/apps/sch_lab b/apps/sch_lab index 19bf84cd4..81240416f 160000 --- a/apps/sch_lab +++ b/apps/sch_lab @@ -1 +1 @@ -Subproject commit 19bf84cd49be797c6db0afdded452f3b798c3f40 +Subproject commit 81240416fcc9a6601fa361602088b9f0fe1497ce diff --git a/apps/to_lab b/apps/to_lab index 64513ac37..0c6d81630 160000 --- a/apps/to_lab +++ b/apps/to_lab @@ -1 +1 @@ -Subproject commit 64513ac37ca085c70b41ed97cf030d4c138d88ee +Subproject commit 0c6d816301ca943b2257c47c9af8695c2b47fa9f diff --git a/cfe b/cfe index 64a6a5945..98f78e860 160000 --- a/cfe +++ b/cfe @@ -1 +1 @@ -Subproject commit 64a6a59456fa9e47dc93e4bb9cecacc3d86d1862 +Subproject commit 98f78e8604c19415fd1e199eae94196a781539b8 diff --git a/osal b/osal index 2a2defbb6..42af0f73c 160000 --- a/osal +++ b/osal @@ -1 +1 @@ -Subproject commit 2a2defbb6b5ecc9a0f6d5af96ff73f88edc27327 +Subproject commit 42af0f73c952b4e4c7fbc06c97d354a1430f4ac3 From ea7db3209ea424023bb6464d5bdacc5fc110f0af Mon Sep 17 00:00:00 2001 From: ArielSAdamsNASA Date: Fri, 3 Sep 2021 09:10:55 -0500 Subject: [PATCH 2/3] Fix #334, Add Functional Tests Step to CI --- .github/workflows/build-cfs-deprecated.yml | 165 +++++++++++++++------ .github/workflows/build-cfs.yml | 162 ++++++++++++++------ 2 files changed, 237 insertions(+), 90 deletions(-) diff --git a/.github/workflows/build-cfs-deprecated.yml b/.github/workflows/build-cfs-deprecated.yml index 6886d01a6..278216310 100644 --- a/.github/workflows/build-cfs-deprecated.yml +++ b/.github/workflows/build-cfs-deprecated.yml @@ -8,6 +8,8 @@ on: env: SIMULATION: native OMIT_DEPRECATED: false + ENABLE_UNIT_TESTS: true + REPO_NAME: ${{ github.event.repository.name }} jobs: #Checks for duplicate actions. Skips push actions if there is a matching or duplicate pull-request action. @@ -24,14 +26,40 @@ jobs: skip_after_successful_duplicate: 'true' do_not_skip: '["pull_request", "workflow_dispatch", "schedule"]' - # Set the job key. The key is displayed as the job name - # when a job name is not provided - - build-cfs: + prep-env: + name: Prepare Environment #Continue if check-for-duplicates found no duplicates. Always runs for pull-requests. needs: check-for-duplicates - if: ${{ needs.check-for-duplicates.outputs.should_skip != 'true' }} + runs-on: ubuntu-18.04 + + steps: + - name: Cache Source and proto-build + id: cache-src-proto-bld + uses: actions/cache@v2 + with: + path: /home/runner/work/${{ env.REPO_NAME }}/${{ env.REPO_NAME }}/* + key: proto-build-${{ github.run_number }} + + - name: Checkout cFS + if: steps.cache-src-proto-bld.outputs.cache-hit != 'true' + uses: actions/checkout@v2 + with: + submodules: true + + - name: Check versions + run: git submodule + + - name: Copy Makefile + run: | + cp ./cfe/cmake/Makefile.sample Makefile + cp -r ./cfe/cmake/sample_defs sample_defs + + - name: Prep Build + run: make prep + + build-cfs: name: Build + needs: prep-env runs-on: ubuntu-18.04 strategy: @@ -44,25 +72,16 @@ jobs: BUILDTYPE: ${{ matrix.buildtype }} steps: - # Checks out a copy of your repository on the ubuntu-latest machine - - name: Checkout code - uses: actions/checkout@v2 + - name: Cache Source and proto-build + id: cache-src-proto-bld + uses: actions/cache@v2 with: - submodules: true - - # Setup the build system - - name: Copy Files - run: | - cp ./cfe/cmake/Makefile.sample Makefile - cp -r ./cfe/cmake/sample_defs sample_defs - - # Setup the build system - - name: Make Prep - run: make prep - + path: /home/runner/work/${{ env.REPO_NAME }}/${{ env.REPO_NAME }}/* + key: proto-build-${{ github.run_number }} + - name: Make run: make - + test-cfs: name: Test needs: build-cfs @@ -78,27 +97,23 @@ jobs: BUILDTYPE: ${{ matrix.buildtype }} ENABLE_UNIT_TESTS: true - steps: - name: Install Dependencies run: sudo apt-get install lcov -y - - # Checks out a copy of your repository on the ubuntu-latest machine - - name: Checkout code - uses: actions/checkout@v2 + + - name: Cache Source and proto-build + id: cache-src-proto-bld + uses: actions/cache@v2 with: - submodules: true + path: /home/runner/work/${{ env.REPO_NAME }}/${{ env.REPO_NAME }}/* + key: proto-build-${{ github.run_number }} - # Setup the build system - - name: Copy Files - run: | - cp ./cfe/cmake/Makefile.sample Makefile - cp -r ./cfe/cmake/sample_defs sample_defs - - # Setup the build system + - name: Prep Build + run: make prep + - name: Make run: make - + - name: Run Tests run: make test @@ -120,17 +135,12 @@ jobs: BUILDTYPE: ${{ matrix.buildtype }} steps: - # Checks out a copy of your repository on the ubuntu-latest machine - - name: Checkout code - uses: actions/checkout@v2 + - name: Cache Source and proto-build + id: cache-src-proto-bld + uses: actions/cache@v2 with: - submodules: true - - # Setup the build system - - name: Copy sample_defs - run: | - cp ./cfe/cmake/Makefile.sample Makefile - cp -r ./cfe/cmake/sample_defs sample_defs + path: /home/runner/work/${{ env.REPO_NAME }}/${{ env.REPO_NAME }}/* + key: proto-build-${{ github.run_number }} # Setup the build system - name: Make Install @@ -149,7 +159,7 @@ jobs: - name: Archive cFS Startup Artifacts uses: actions/upload-artifact@v2 with: - name: cFS-startup-log-deprecated-false-${{ matrix.buildtype }} + name: cFS-startup-log-deprecate-true-${{ matrix.buildtype }} path: ./build/exe/cpu1/cFS_startup_cpu1.txt - name: Check for cFS Warnings @@ -161,3 +171,66 @@ jobs: exit -1 fi working-directory: ./build/exe/cpu1/ + + + Functional-Test-Build: + #Continue if check-for-duplicates found no duplicates. Always runs for pull-requests. + needs: build-cfs + runs-on: ubuntu-18.04 + timeout-minutes: 15 + + steps: + - name: Cache Source and proto-build + id: cache-src-proto-bld + uses: actions/cache@v2 + with: + path: /home/runner/work/${{ env.REPO_NAME }}/${{ env.REPO_NAME }}/* + key: proto-build-${{ github.run_number }} + + # Setup the build system + - name: Make Install + run: make install + + - name: List cpu1 + run: ls build/exe/cpu1/ + + # Run cFS, send commands to set perf trigger and start perf data, and run functional tests + - name: Run cFS Functional + run: | + ./core-cpu1 & + sleep 10 + ../host/cmdUtil --pktid=0x1806 --cmdcode=17 --endian=LE --uint32=3 --uint32=0x40000000 + ../host/cmdUtil --pktid=0x1806 --cmdcode=14 --endian=LE --uint32=2 + ../host/cmdUtil --pktid=0x1806 --cmdcode=4 --endian=LE --string="20:CFE_TEST_APP" --string="20:CFE_TestMain" --string="64:cfe_testcase" --uint32=16384 --uint8=0 --uint8=0 --uint16=100 + sleep 30 + counter=0 + while [[ ! -f cf/cfe_test.log ]]; do + temp=$(grep -c "BEGIN" cf/cfe_test.tmp) + + if [ $temp -eq $counter ]; then + echo "Test is frozen. Quiting" + break + fi + counter=$(grep -c "BEGIN" cf/cfe_test.tmp) + echo "Waiting for CFE Tests" + sleep 60 + done + + ../host/cmdUtil --endian=LE --pktid=0x1806 --cmdcode=2 --half=0x0002 + working-directory: ./build/exe/cpu1/ + + - name: Archive cFS Startup Artifacts + uses: actions/upload-artifact@v2 + with: + name: cFS-functional-log-deprecate-true-${{ matrix.buildtype }} + path: ./build/exe/cpu1/cf/cfe_test.log + + - name: Check for cFS Warnings + run: | + if [[ -z $(grep -i "SUMMARY.*FAIL::0.*TSF::0.*TTF::0" cf/cfe_test.log) ]]; then + echo "Must resolve Test Failures in cFS Test App before submitting a pull request" + echo "" + grep -i '\[ FAIL]\|\[ TSF]\|\[ TTF]' cf/cfe_test.log + exit -1 + fi + working-directory: ./build/exe/cpu1/ diff --git a/.github/workflows/build-cfs.yml b/.github/workflows/build-cfs.yml index f63d10aeb..0d73a9beb 100644 --- a/.github/workflows/build-cfs.yml +++ b/.github/workflows/build-cfs.yml @@ -8,6 +8,8 @@ on: env: SIMULATION: native OMIT_DEPRECATED: true + ENABLE_UNIT_TESTS: true + REPO_NAME: ${{ github.event.repository.name }} jobs: #Checks for duplicate actions. Skips push actions if there is a matching or duplicate pull-request action. @@ -24,11 +26,39 @@ jobs: skip_after_successful_duplicate: 'true' do_not_skip: '["pull_request", "workflow_dispatch", "schedule"]' - build-cfs: + prep-env: + name: Prepare Environment #Continue if check-for-duplicates found no duplicates. Always runs for pull-requests. needs: check-for-duplicates - if: ${{ needs.check-for-duplicates.outputs.should_skip != 'true' }} + runs-on: ubuntu-18.04 + + steps: + - name: Cache Source and proto-build + id: cache-src-proto-bld + uses: actions/cache@v2 + with: + path: /home/runner/work/${{ env.REPO_NAME }}/${{ env.REPO_NAME }}/* + key: proto-build-${{ github.run_number }} + + - name: Checkout cFS + if: steps.cache-src-proto-bld.outputs.cache-hit != 'true' + uses: actions/checkout@v2 + with: + submodules: true + + - name: Check versions + run: git submodule + + - name: Copy Makefile + run: | + cp ./cfe/cmake/Makefile.sample Makefile + cp -r ./cfe/cmake/sample_defs sample_defs + - name: Prep Build + run: make prep + + build-cfs: name: Build + needs: prep-env runs-on: ubuntu-18.04 strategy: @@ -41,30 +71,20 @@ jobs: BUILDTYPE: ${{ matrix.buildtype }} steps: - # Check out the cfs bundle - - name: Checkout code - uses: actions/checkout@v2 + - name: Cache Source and proto-build + id: cache-src-proto-bld + uses: actions/cache@v2 with: - submodules: true - - # Setup the build system - - name: Copy Files - run: | - cp ./cfe/cmake/Makefile.sample Makefile - cp -r ./cfe/cmake/sample_defs sample_defs - - # Setup the build system - - name: Make Prep - run: make prep - + path: /home/runner/work/${{ env.REPO_NAME }}/${{ env.REPO_NAME }}/* + key: proto-build-${{ github.run_number }} + - name: Make run: make - + test-cfs: name: Test - runs-on: ubuntu-18.04 - needs: build-cfs + runs-on: ubuntu-18.04 strategy: fail-fast: false @@ -76,27 +96,23 @@ jobs: BUILDTYPE: ${{ matrix.buildtype }} ENABLE_UNIT_TESTS: true - steps: - name: Install Dependencies run: sudo apt-get install lcov -y - - # Checks out a copy of your repository on the ubuntu-latest machine - - name: Checkout code - uses: actions/checkout@v2 + + - name: Cache Source and proto-build + id: cache-src-proto-bld + uses: actions/cache@v2 with: - submodules: true - - # Setup the build system - - name: Copy Files - run: | - cp ./cfe/cmake/Makefile.sample Makefile - cp -r ./cfe/cmake/sample_defs sample_defs + path: /home/runner/work/${{ env.REPO_NAME }}/${{ env.REPO_NAME }}/* + key: proto-build-${{ github.run_number }} - # Setup the build system + - name: Prep Build + run: make prep + - name: Make run: make - + - name: Run Tests run: make test @@ -118,17 +134,12 @@ jobs: BUILDTYPE: ${{ matrix.buildtype }} steps: - # Checks out a copy of your repository on the ubuntu-latest machine - - name: Checkout code - uses: actions/checkout@v2 + - name: Cache Source and proto-build + id: cache-src-proto-bld + uses: actions/cache@v2 with: - submodules: true - - # Setup the build system - - name: Copy sample_defs - run: | - cp ./cfe/cmake/Makefile.sample Makefile - cp -r ./cfe/cmake/sample_defs sample_defs + path: /home/runner/work/${{ env.REPO_NAME }}/${{ env.REPO_NAME }}/* + key: proto-build-${{ github.run_number }} # Setup the build system - name: Make Install @@ -159,3 +170,66 @@ jobs: exit -1 fi working-directory: ./build/exe/cpu1/ + + + Functional-Test-Build: + #Continue if check-for-duplicates found no duplicates. Always runs for pull-requests. + needs: build-cfs + runs-on: ubuntu-18.04 + timeout-minutes: 15 + + steps: + - name: Cache Source and proto-build + id: cache-src-proto-bld + uses: actions/cache@v2 + with: + path: /home/runner/work/${{ env.REPO_NAME }}/${{ env.REPO_NAME }}/* + key: proto-build-${{ github.run_number }} + + # Setup the build system + - name: Make Install + run: make install + + - name: List cpu1 + run: ls build/exe/cpu1/ + + # Run cFS, send commands to set perf trigger and start perf data, and run functional tests + - name: Run cFS Functional + run: | + ./core-cpu1 & + sleep 10 + ../host/cmdUtil --pktid=0x1806 --cmdcode=17 --endian=LE --uint32=3 --uint32=0x40000000 + ../host/cmdUtil --pktid=0x1806 --cmdcode=14 --endian=LE --uint32=2 + ../host/cmdUtil --pktid=0x1806 --cmdcode=4 --endian=LE --string="20:CFE_TEST_APP" --string="20:CFE_TestMain" --string="64:cfe_testcase" --uint32=16384 --uint8=0 --uint8=0 --uint16=100 + sleep 30 + counter=0 + while [[ ! -f cf/cfe_test.log ]]; do + temp=$(grep -c "BEGIN" cf/cfe_test.tmp) + + if [ $temp -eq $counter ]; then + echo "Test is frozen. Quiting" + break + fi + counter=$(grep -c "BEGIN" cf/cfe_test.tmp) + echo "Waiting for CFE Tests" + sleep 60 + done + + ../host/cmdUtil --endian=LE --pktid=0x1806 --cmdcode=2 --half=0x0002 + working-directory: ./build/exe/cpu1/ + + - name: Archive cFS Startup Artifacts + uses: actions/upload-artifact@v2 + with: + name: cFS-functional-log-deprecate-true-${{ matrix.buildtype }} + path: ./build/exe/cpu1/cf/cfe_test.log + + - name: Check for cFS Warnings + run: | + if [[ -z $(grep -i "SUMMARY.*FAIL::0.*TSF::0.*TTF::0" cf/cfe_test.log) ]]; then + echo "Must resolve Test Failures in cFS Test App before submitting a pull request" + echo "" + grep -i '\[ FAIL]\|\[ TSF]\|\[ TTF]' cf/cfe_test.log + exit -1 + fi + working-directory: ./build/exe/cpu1/ From fa8512c584cb9546144706df87acfdd05ca792a1 Mon Sep 17 00:00:00 2001 From: "Gerardo E. Cruz-Ortiz" <59618057+astrogeco@users.noreply.github.com> Date: Wed, 22 Sep 2021 12:33:25 -0400 Subject: [PATCH 3/3] Fix #334, Add cache to all jobs - Combine build-prep and build-cfs jobs - Rename jobs and artifacts for consistency and clarity - Update workflow trigger for codeql build --- .github/workflows/build-cfs-deprecated.yml | 114 +++++++++------------ .github/workflows/build-cfs.yml | 109 ++++++++------------ .github/workflows/codeql-build.yml | 2 +- 3 files changed, 90 insertions(+), 135 deletions(-) diff --git a/.github/workflows/build-cfs-deprecated.yml b/.github/workflows/build-cfs-deprecated.yml index 278216310..3729e8d75 100644 --- a/.github/workflows/build-cfs-deprecated.yml +++ b/.github/workflows/build-cfs-deprecated.yml @@ -1,4 +1,4 @@ -name: "Deprecated Build, Test, and Run" +name: Build, Test, and Run [OMIT_DEPRECATED = false] # Run every time a new commit pushed or for pull requests on: @@ -25,23 +25,31 @@ jobs: concurrent_skipping: 'same_content' skip_after_successful_duplicate: 'true' do_not_skip: '["pull_request", "workflow_dispatch", "schedule"]' - - prep-env: - name: Prepare Environment - #Continue if check-for-duplicates found no duplicates. Always runs for pull-requests. + + build-cfs-omit-deprecated-false: + name: "[Deprecated] Build" needs: check-for-duplicates runs-on: ubuntu-18.04 + strategy: + fail-fast: false + matrix: + buildtype: [debug, release] + + # Set the type of machine to run on + env: + BUILDTYPE: ${{ matrix.buildtype }} + steps: - - name: Cache Source and proto-build - id: cache-src-proto-bld + - name: Cache Source and Build + id: cache-src-bld uses: actions/cache@v2 with: path: /home/runner/work/${{ env.REPO_NAME }}/${{ env.REPO_NAME }}/* - key: proto-build-${{ github.run_number }} + key: deprecated-build-${{ github.run_number }}-${{ matrix.buildtype }} - name: Checkout cFS - if: steps.cache-src-proto-bld.outputs.cache-hit != 'true' + if: steps.cache-src-bld.outputs.cache-hit != 'true' uses: actions/checkout@v2 with: submodules: true @@ -56,35 +64,13 @@ jobs: - name: Prep Build run: make prep - - build-cfs: - name: Build - needs: prep-env - runs-on: ubuntu-18.04 - - strategy: - fail-fast: false - matrix: - buildtype: [debug, release] - - # Set the type of machine to run on - env: - BUILDTYPE: ${{ matrix.buildtype }} - - steps: - - name: Cache Source and proto-build - id: cache-src-proto-bld - uses: actions/cache@v2 - with: - path: /home/runner/work/${{ env.REPO_NAME }}/${{ env.REPO_NAME }}/* - key: proto-build-${{ github.run_number }} - name: Make - run: make + run: make install - test-cfs: - name: Test - needs: build-cfs + tests-and-coverage-omit-deprecated-false: + name: "[Deprecated] Run Unit Tests and Check Coverage" + needs: build-cfs-omit-deprecated-false runs-on: ubuntu-18.04 strategy: @@ -101,28 +87,22 @@ jobs: - name: Install Dependencies run: sudo apt-get install lcov -y - - name: Cache Source and proto-build - id: cache-src-proto-bld + - name: Cache Source and Deprecated Build + id: cache-src-bld uses: actions/cache@v2 with: path: /home/runner/work/${{ env.REPO_NAME }}/${{ env.REPO_NAME }}/* - key: proto-build-${{ github.run_number }} - - - name: Prep Build - run: make prep - - - name: Make - run: make - + key: deprecated-build-${{ github.run_number }}-${{ matrix.buildtype }} + - name: Run Tests run: make test - name: Check Coverage run: make lcov - run-cfs: - name: Run - needs: build-cfs + run-cfs-omit-deprecated-false: + name: "[Deprecated] Run cFS" + needs: build-cfs-omit-deprecated-false runs-on: ubuntu-18.04 strategy: @@ -135,16 +115,13 @@ jobs: BUILDTYPE: ${{ matrix.buildtype }} steps: - - name: Cache Source and proto-build - id: cache-src-proto-bld + - name: Cache Source and Deprecated Build + id: cache-src-bld uses: actions/cache@v2 with: path: /home/runner/work/${{ env.REPO_NAME }}/${{ env.REPO_NAME }}/* - key: proto-build-${{ github.run_number }} + key: deprecated-build-${{ github.run_number }}-${{ matrix.buildtype }} - # Setup the build system - - name: Make Install - run: make install - name: List cpu1 run: ls build/exe/cpu1/ @@ -159,7 +136,7 @@ jobs: - name: Archive cFS Startup Artifacts uses: actions/upload-artifact@v2 with: - name: cFS-startup-log-deprecate-true-${{ matrix.buildtype }} + name: cFS-startup-log-omit-deprecate-false${{ matrix.buildtype }} path: ./build/exe/cpu1/cFS_startup_cpu1.txt - name: Check for cFS Warnings @@ -172,30 +149,31 @@ jobs: fi working-directory: ./build/exe/cpu1/ - - Functional-Test-Build: + run-functional-test-app-omit-deprecated-false: #Continue if check-for-duplicates found no duplicates. Always runs for pull-requests. - needs: build-cfs + needs: run-cfs-omit-deprecated-false + name: "[DEPRECATED] cFS Functional Tests" runs-on: ubuntu-18.04 timeout-minutes: 15 + + strategy: + fail-fast: false + matrix: + buildtype: [debug, release] steps: - - name: Cache Source and proto-build - id: cache-src-proto-bld + - name: Cache Source and Deprecated Build + id: cache-src-bld uses: actions/cache@v2 with: path: /home/runner/work/${{ env.REPO_NAME }}/${{ env.REPO_NAME }}/* - key: proto-build-${{ github.run_number }} - - # Setup the build system - - name: Make Install - run: make install + key: deprecated-build-${{ github.run_number }}-${{ matrix.buildtype }} - name: List cpu1 run: ls build/exe/cpu1/ # Run cFS, send commands to set perf trigger and start perf data, and run functional tests - - name: Run cFS Functional + - name: Run cFS Functional Tests run: | ./core-cpu1 & sleep 10 @@ -219,10 +197,10 @@ jobs: ../host/cmdUtil --endian=LE --pktid=0x1806 --cmdcode=2 --half=0x0002 working-directory: ./build/exe/cpu1/ - - name: Archive cFS Startup Artifacts + - name: Archive Functional Test Artifacts uses: actions/upload-artifact@v2 with: - name: cFS-functional-log-deprecate-true-${{ matrix.buildtype }} + name: cFS-functional-test-log-omit-deprecate-false-${{ matrix.buildtype }} path: ./build/exe/cpu1/cf/cfe_test.log - name: Check for cFS Warnings diff --git a/.github/workflows/build-cfs.yml b/.github/workflows/build-cfs.yml index 0d73a9beb..265db91cf 100644 --- a/.github/workflows/build-cfs.yml +++ b/.github/workflows/build-cfs.yml @@ -1,4 +1,4 @@ -name: Build, Test, and Run [OMIT_DEPRECATED=true] +name: Build, Test, and Run [OMIT_DEPRECATED = true] # Run every time a new commit pushed or for pull requests on: @@ -25,23 +25,31 @@ jobs: concurrent_skipping: 'same_content' skip_after_successful_duplicate: 'true' do_not_skip: '["pull_request", "workflow_dispatch", "schedule"]' - - prep-env: - name: Prepare Environment - #Continue if check-for-duplicates found no duplicates. Always runs for pull-requests. + + build-cfs-omit-deprecated-true: + name: Build needs: check-for-duplicates runs-on: ubuntu-18.04 + strategy: + fail-fast: false + matrix: + buildtype: [debug, release] + + # Set the type of machine to run on + env: + BUILDTYPE: ${{ matrix.buildtype }} + steps: - - name: Cache Source and proto-build - id: cache-src-proto-bld + - name: Cache Source and Build + id: cache-src-bld uses: actions/cache@v2 with: path: /home/runner/work/${{ env.REPO_NAME }}/${{ env.REPO_NAME }}/* - key: proto-build-${{ github.run_number }} + key: build-${{ github.run_number }}-${{ matrix.buildtype }} - name: Checkout cFS - if: steps.cache-src-proto-bld.outputs.cache-hit != 'true' + if: steps.cache-src-bld.outputs.cache-hit != 'true' uses: actions/checkout@v2 with: submodules: true @@ -55,35 +63,13 @@ jobs: cp -r ./cfe/cmake/sample_defs sample_defs - name: Prep Build run: make prep - - build-cfs: - name: Build - needs: prep-env - runs-on: ubuntu-18.04 - - strategy: - fail-fast: false - matrix: - buildtype: [debug, release] - - # Set the type of machine to run on - env: - BUILDTYPE: ${{ matrix.buildtype }} - - steps: - - name: Cache Source and proto-build - id: cache-src-proto-bld - uses: actions/cache@v2 - with: - path: /home/runner/work/${{ env.REPO_NAME }}/${{ env.REPO_NAME }}/* - key: proto-build-${{ github.run_number }} - name: Make - run: make + run: make install - test-cfs: - name: Test - needs: build-cfs + tests-and-coverage-omit-deprecated-true: + name: Run Unit Tests and Check Coverage + needs: build-cfs-omit-deprecated-true runs-on: ubuntu-18.04 strategy: @@ -100,28 +86,22 @@ jobs: - name: Install Dependencies run: sudo apt-get install lcov -y - - name: Cache Source and proto-build - id: cache-src-proto-bld + - name: Cache Source and Build + id: cache-src-bld uses: actions/cache@v2 with: path: /home/runner/work/${{ env.REPO_NAME }}/${{ env.REPO_NAME }}/* - key: proto-build-${{ github.run_number }} - - - name: Prep Build - run: make prep - - - name: Make - run: make - + key: build-${{ github.run_number }}-${{ matrix.buildtype }} + - name: Run Tests run: make test - name: Check Coverage run: make lcov - run-cfs: + run-cfs-omit-deprecated-true: name: Run - needs: build-cfs + needs: build-cfs-omit-deprecated-true runs-on: ubuntu-18.04 strategy: @@ -134,16 +114,13 @@ jobs: BUILDTYPE: ${{ matrix.buildtype }} steps: - - name: Cache Source and proto-build - id: cache-src-proto-bld + - name: Cache Source and Build + id: cache-src-bld uses: actions/cache@v2 with: path: /home/runner/work/${{ env.REPO_NAME }}/${{ env.REPO_NAME }}/* - key: proto-build-${{ github.run_number }} + key: build-${{ github.run_number }}-${{ matrix.buildtype }} - # Setup the build system - - name: Make Install - run: make install - name: List cpu1 run: ls build/exe/cpu1/ @@ -158,7 +135,7 @@ jobs: - name: Archive cFS Startup Artifacts uses: actions/upload-artifact@v2 with: - name: cFS-startup-log-deprecate-true-${{ matrix.buildtype }} + name: cFS-startup-log-omit-deprecate-true-${{ matrix.buildtype }} path: ./build/exe/cpu1/cFS_startup_cpu1.txt - name: Check for cFS Warnings @@ -171,30 +148,30 @@ jobs: fi working-directory: ./build/exe/cpu1/ - - Functional-Test-Build: + run-functional-test-app-omit-deprecated-true: #Continue if check-for-duplicates found no duplicates. Always runs for pull-requests. - needs: build-cfs + needs: run-cfs-omit-deprecated-true runs-on: ubuntu-18.04 timeout-minutes: 15 + + strategy: + fail-fast: false + matrix: + buildtype: [debug, release] steps: - - name: Cache Source and proto-build - id: cache-src-proto-bld + - name: Cache Source and Build + id: cache-src-bld uses: actions/cache@v2 with: path: /home/runner/work/${{ env.REPO_NAME }}/${{ env.REPO_NAME }}/* - key: proto-build-${{ github.run_number }} - - # Setup the build system - - name: Make Install - run: make install + key: build-${{ github.run_number }}-${{ matrix.buildtype }} - name: List cpu1 run: ls build/exe/cpu1/ # Run cFS, send commands to set perf trigger and start perf data, and run functional tests - - name: Run cFS Functional + - name: Run cFS Functional Tests run: | ./core-cpu1 & sleep 10 @@ -221,7 +198,7 @@ jobs: - name: Archive cFS Startup Artifacts uses: actions/upload-artifact@v2 with: - name: cFS-functional-log-deprecate-true-${{ matrix.buildtype }} + name: cFS-functional-test-log-omit-deprecate-true-${{ matrix.buildtype }} path: ./build/exe/cpu1/cf/cfe_test.log - name: Check for cFS Warnings diff --git a/.github/workflows/codeql-build.yml b/.github/workflows/codeql-build.yml index c36a99088..519004cb9 100644 --- a/.github/workflows/codeql-build.yml +++ b/.github/workflows/codeql-build.yml @@ -3,7 +3,7 @@ name: "CodeQL Analysis" # Only trigger, when the build workflow succeeded on: workflow_run: - workflows: ["Build, Test, and Run \\[OMIT_DEPRECATED=true\\]"] + workflows: ["Build, Test, and Run \\[OMIT_DEPRECATED = true\\]"] types: - completed branches: