Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

cFS Bundle Integration candidate: 2021-09-21 #359

Merged
merged 4 commits into from
Sep 22, 2021
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
167 changes: 109 additions & 58 deletions .github/workflows/build-cfs-deprecated.yml
Original file line number Diff line number Diff line change
@@ -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:
Expand All @@ -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.
Expand All @@ -23,15 +25,10 @@ jobs:
concurrent_skipping: 'same_content'
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:
#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
if: ${{ needs.check-for-duplicates.outputs.should_skip != 'true' }}
name: Build
runs-on: ubuntu-18.04

strategy:
Expand All @@ -41,31 +38,39 @@ jobs:

# Set the type of machine to run on
env:
BUILDTYPE: ${{ matrix.buildtype }}
BUILDTYPE: ${{ matrix.buildtype }}

steps:
# Checks out a copy of your repository on the ubuntu-latest machine
- name: Checkout code
- 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: deprecated-build-${{ github.run_number }}-${{ matrix.buildtype }}

- name: Checkout cFS
if: steps.cache-src-bld.outputs.cache-hit != 'true'
uses: actions/checkout@v2
with:
submodules: true

# Setup the build system
- name: Copy Files

- name: Check versions
run: git submodule

- name: Copy Makefile
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

- name: Prep Build
run: make prep

- name: Make
run: make

test-cfs:
name: Test
needs: build-cfs
run: make install
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:
Expand All @@ -78,36 +83,26 @@ 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 Deprecated Build
id: cache-src-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
run: make

path: /home/runner/work/${{ env.REPO_NAME }}/${{ env.REPO_NAME }}/*
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:
Expand All @@ -120,21 +115,13 @@ 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 Deprecated Build
id: cache-src-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: 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/
Expand All @@ -149,7 +136,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-omit-deprecate-false${{ matrix.buildtype }}
path: ./build/exe/cpu1/cFS_startup_cpu1.txt

- name: Check for cFS Warnings
Expand All @@ -161,3 +148,67 @@ jobs:
exit -1
fi
working-directory: ./build/exe/cpu1/

run-functional-test-app-omit-deprecated-false:
#Continue if check-for-duplicates found no duplicates. Always runs for pull-requests.
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 Deprecated Build
id: cache-src-bld
uses: actions/cache@v2
with:
path: /home/runner/work/${{ env.REPO_NAME }}/${{ env.REPO_NAME }}/*
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 Tests
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 Functional Test Artifacts
uses: actions/upload-artifact@v2
with:
name: cFS-functional-test-log-omit-deprecate-false-${{ 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/
Loading