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-01-05 #172

Merged
merged 7 commits into from
Jan 7, 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
15 changes: 12 additions & 3 deletions .github/workflows/build-cfs-deprecated.yml
Original file line number Diff line number Diff line change
@@ -1,11 +1,15 @@
name: "Deprecated Build, Test, and Run"

# Run this workflow every time a new commit pushed to your repository
on: push
# Run every time a new commit pushed to main or for pull requests
on:
push:
branches:
- main

pull_request:

env:
SIMULATION: native
ENABLE_UNIT_TESTS: true
OMIT_DEPRECATED: false

jobs:
Expand All @@ -18,6 +22,7 @@ jobs:
runs-on: ubuntu-18.04

strategy:
fail-fast: false
matrix:
buildtype: [debug, release]

Expand Down Expand Up @@ -51,12 +56,15 @@ jobs:
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 }}
ENABLE_UNIT_TESTS: true


steps:
- name: Install Dependencies
Expand Down Expand Up @@ -90,6 +98,7 @@ jobs:
runs-on: ubuntu-18.04

strategy:
fail-fast: false
matrix:
buildtype: [debug, release]

Expand Down
23 changes: 15 additions & 8 deletions .github/workflows/build-cfs.yml
Original file line number Diff line number Diff line change
@@ -1,23 +1,25 @@
name: Build, Test, and Run [OMIT_DEPRECATED=true]

# Run this workflow every time a new commit pushed to your repository
on: push
# Run every time a new commit pushed to main or for pull requests
on:
push:
branches:
- main

pull_request:

env:
SIMULATION: native
ENABLE_UNIT_TESTS: true
OMIT_DEPRECATED: true

jobs:

# Set the job key. The key is displayed as the job name
# when a job name is not provided

build-cfs:
name: Build
runs-on: ubuntu-18.04

strategy:
fail-fast: false
matrix:
buildtype: [debug, release]

Expand All @@ -26,7 +28,7 @@ jobs:
BUILDTYPE: ${{ matrix.buildtype }}

steps:
# Checks out a copy of your repository on the ubuntu-latest machine
# Check out the cfs bundle
- name: Checkout code
uses: actions/checkout@v2
with:
Expand All @@ -47,16 +49,20 @@ jobs:

test-cfs:
name: Test
needs: build-cfs
runs-on: ubuntu-18.04

needs: build-cfs

strategy:
fail-fast: false
matrix:
buildtype: [debug, release]

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


steps:
- name: Install Dependencies
Expand Down Expand Up @@ -90,6 +96,7 @@ jobs:
runs-on: ubuntu-18.04

strategy:
fail-fast: false
matrix:
buildtype: [debug, release]

Expand Down
26 changes: 15 additions & 11 deletions .github/workflows/build-documentation.yml
Original file line number Diff line number Diff line change
@@ -1,30 +1,33 @@
name: Documentation and Guides

# Run this workflow every time a new commit pushed to your repository
on: push
# Run every time a new commit pushed to main or for pull requests
on:
push:
branches:
- main

pull_request:

env:
SIMULATION: native

jobs:

build-docs:
# Name the Job
name: cFE Documentation
# Set the type of machine to run on
runs-on: ubuntu-18.04

steps:
- name: Install Dependencies
run: sudo apt-get install doxygen graphviz -y

# Checks out a copy of your repository on the ubuntu-latest machine
# Check out the cfs bundle
- name: Checkout code
uses: actions/checkout@v2
with:
submodules: true

# Setup the build system
# Prepare build "recipes"
- name: Copy Files
run: |
cp ./cfe/cmake/Makefile.sample Makefile
Expand All @@ -38,7 +41,8 @@ jobs:
run: |
make doc > make_doc_stdout.txt 2> make_doc_stderr.txt

- name: Archive Users Guide Build Logs
# Upload documentation logs as artifacts
- name: Archive Documentation Build Logs
uses: actions/upload-artifact@v2
with:
name: cFS Docs Artifacts
Expand Down Expand Up @@ -103,8 +107,8 @@ jobs:

- name: Warning Check
run: |
if [[ -s build/doc/warnings.log ]]; then
cat build/doc/warnings.log
if [[ -s usersguide_warnings.log ]]; then
cat usersguide_warnings.log
exit -1
fi

Expand Down Expand Up @@ -159,7 +163,7 @@ jobs:

- name: Warning Check
run: |
if [[ -s build/doc/warnings.log ]]; then
cat build/doc/warnings.log
if [[ -s osalguide_warnings.log ]]; then
cat osalguide_warnings.log
exit -1
fi
68 changes: 68 additions & 0 deletions .github/workflows/static-analysis.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,68 @@
name: Static Analysis

# Run this workflow every time a new commit pushed to your repository
on:
push:
branches:
- main

pull_request:

jobs:

static-analysis:
name: Run cppcheck
runs-on: ubuntu-18.04

strategy:
fail-fast: false
matrix:
cppcheck: [bundle, cfe, osal, psp]

steps:

- name: Install cppcheck
run: sudo apt-get install cppcheck -y

# Checks out a copy of the cfs bundle
- name: Checkout code
uses: actions/checkout@v2
with:
submodules: true

- name: Run bundle cppcheck
if: ${{matrix.cppcheck =='bundle'}}
run: cppcheck --force --inline-suppr --quiet . 2> ${{matrix.cppcheck}}_cppcheck_err.txt

# Run strict static analysis for embedded portions of cfe, osal, and psp
- name: cfe strict cppcheck
if: ${{matrix.cppcheck =='cfe'}}
run: |
cd ${{matrix.cppcheck}}
cppcheck --force --inline-suppr --std=c99 --language=c --enable=warning,performance,portability,style --suppress=variableScope --inconclusive ./fsw/cfe-core/src ./modules 2> ../${{matrix.cppcheck}}_cppcheck_err.txt

- name: osal strict cppcheck
if: ${{matrix.cppcheck =='osal'}}
run: |
cd ${{matrix.cppcheck}}
cppcheck --force --inline-suppr --std=c99 --language=c --enable=warning,performance,portability,style --suppress=variableScope --inconclusive ./src/bsp ./src/os 2> ../${{matrix.cppcheck}}_cppcheck_err.txt

- name: psp strict cppcheck
if: ${{matrix.cppcheck =='psp'}}
run: |
cd ${{matrix.cppcheck}}
cppcheck --force --inline-suppr --std=c99 --language=c --enable=warning,performance,portability,style --suppress=variableScope --inconclusive ./fsw 2> ../${{matrix.cppcheck}}_cppcheck_err.txt

- name: Archive Static Analysis Artifacts
uses: actions/upload-artifact@v2
with:
name: ${{matrix.cppcheck}}-cppcheck-err
path: ./*cppcheck_err.txt

- name: Check for errors
run: |
if [[ -s ${{matrix.cppcheck}}_cppcheck_err.txt ]];
then
cat ${{matrix.cppcheck}}_cppcheck_err.txt
exit -1
fi