Skip to content

Commit

Permalink
Merge pull request #1584 from nasa/integration-candidate
Browse files Browse the repository at this point in the history
cFE Integration candidate: 2021-06-01
  • Loading branch information
astrogeco committed Jun 8, 2021
2 parents 176e3df + 66378f9 commit a16c78e
Show file tree
Hide file tree
Showing 57 changed files with 263 additions and 727 deletions.
73 changes: 68 additions & 5 deletions .github/workflows/codeql-build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,8 +11,23 @@ env:
BUILDTYPE: release

jobs:
#Checks for duplicate actions. Skips push actions if there is a matching or duplicate pull-request action.
check-for-duplicates:
runs-on: ubuntu-latest
# Map a step output to a job output
outputs:
should_skip: ${{ steps.skip_check.outputs.should_skip }}
steps:
- id: skip_check
uses: fkirc/skip-duplicate-actions@master
with:
concurrent_skipping: 'same_content'
skip_after_successful_duplicate: 'true'
do_not_skip: '["pull_request", "workflow_dispatch", "schedule"]'

CodeQL-Build:
CodeQL-Security-Build:
needs: check-for-duplicates
if: ${{ needs.check-for-duplicates.outputs.should_skip != 'true' }}
runs-on: ubuntu-18.04
timeout-minutes: 15

Expand All @@ -35,20 +50,68 @@ jobs:
- name: Initialize CodeQL
uses: github/codeql-action/init@v1
with:
languages: c
queries: +security-extended, security-and-quality
languages: c
config-file: nasa/cFS/.github/codeql/codeql-security.yml@main

# Setup the build system
- name: Set up for build
run: |
cp ./cfe/cmake/Makefile.sample Makefile
cp -r ./cfe/cmake/sample_defs sample_defs
make prep
# Build the code
- name: Build
run: |
make -C build/native/default_cpu1 core_api core_private es evs fs msg resourceid sb sbr tbl time
- name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@v1

CodeQL-Coding-Standard-Build:
needs: check-for-duplicates
if: ${{ needs.check-for-duplicates.outputs.should_skip != 'true' }}
runs-on: ubuntu-18.04
timeout-minutes: 15

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

- name: Checkout submodule
uses: actions/checkout@v2
with:
path: cfe

- name: Check versions
run: git submodule

- name: Checkout codeql code
uses: actions/checkout@v2
with:
repository: github/codeql
submodules: true
path: codeql

- name: Initialize CodeQL
uses: github/codeql-action/init@v1
with:
languages: c
config-file: nasa/cFS/.github/codeql/codeql-coding-standard.yml@main

# Setup the build system
- name: Set up for build
run: |
cp ./cfe/cmake/Makefile.sample Makefile
cp -r ./cfe/cmake/sample_defs sample_defs
make prep
# Build the code
- name: Build
run: |
make -C build/native/default_cpu1 core_api core_private es evs fs msg resourceid sb sbr tbl time
- name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@v1
2 changes: 1 addition & 1 deletion CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -122,5 +122,5 @@ prepare()
# Call the process_arch macro for each architecture
foreach(SYSVAR ${TGTSYS_LIST})
process_arch(${SYSVAR})
endforeach(SYSVAR IN LISTS TGTSYS_LIST)
endforeach(SYSVAR ${TGTSYS_LIST})

26 changes: 26 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,32 @@ The detailed cFE user's guide can be viewed at <https://github.com/nasa/cFS/blob

## Version History

### Development Build: v6.8.0-rc1+dev642

- Update ES verify errors to match
- Ensures error messages in `cfe_es_verify.h` match test logic.
- Resolve mismatched `endforeach` of `CMakeList.txt`
- Improve event filter documentation
- Adds documentation for the behavior of CFE_EVS_ResetFilter and explains how Event Filter Mask Values work.
- EVS/FS documentation cleanup
- Remove shell file subtype and clarify scope
- Removes CFE_FS_SubType_ES_SHELL and clarifies the scope of CFE_FS_SubType_Enum_t so that it only includes the cFE-defined file types
- Simplify CFE_ES_QueryAllCmd file open logic
- Removes the obsolete OS_OpenCreate and file-remove-on-success logic from `CFE_ES_QueryAllCmd`
- Remove deprecated elements
- Replace Header Content Type magic number
- Remove unused EVS LogMode defines
- Clean up SB, MSG, and SBR documentation and remove unused `CFE_SB_NO_SUBSCRIBERS`
- Add `CFE_SB_DestinationD` tag and use for pointers
- Use `CFE_MSG_SequenceCount_t` for seqcnt type
- Document `CFE_ES_PoolCreateEx` NumBlockSizes error handling
- Documentation cleanup in TBL/TIME
- Document `TblName` as app specific
- Use OSAL script to generate API guide
- Include verify headers to validate config
- Add doxygen aliases for OSAL parameter/retvals
- See <https://github.com/nasa/cFE/pull/1584> and <https://github.com/nasa/cFS/pull/263/>

### Development Build: v6.8.0-rc1+dev593

- Uses `int` with %d conversions inUtAssert_True and UtPrintf for platform portability.
Expand Down
1 change: 0 additions & 1 deletion cmake/Makefile.sample
Original file line number Diff line number Diff line change
Expand Up @@ -153,7 +153,6 @@ usersguide:

osalguide:
$(MAKE) --no-print-directory -C "$(O)" osalguide
@/bin/echo -e "\n\nOsal Users Guide: \nfile://$(CURDIR)/$(O)/doc/osalguide/html/index.html\n"

# Make all the commands that use the build tree depend on a flag file
# that is used to indicate the prep step has been done. This way
Expand Down
5 changes: 5 additions & 0 deletions cmake/cfe-common.doxyfile.in
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,11 @@ ALIASES += "event=\xrefitem cfeevents \"Event Message\" \"cFE Even
"cfetimetlm=\xrefitem cfetimetlm \"Name\" \"cFE Time Services Telemetry\" " \
"cfecmdmnemonic=\xrefitem cfecmdmnems \"Command Mnemonic(s)\" \"cFE Command Mnemonic Cross Reference\" " \
"cfetlmmnemonic=\xrefitem cfetlmmnems \"Telemetry Mnemonic(s)\" \"cFE Telemetry Mnemonic Cross Reference\" "

ALIASES += nonnull="(must not be null)"
ALIASES += nonzero="(must not be zero)"
ALIASES += covtest="(return value only verified in coverage test)"

OPTIMIZE_OUTPUT_FOR_C = YES
#---------------------------------------------------------------------------
# Build related configuration options
Expand Down
23 changes: 8 additions & 15 deletions cmake/mission_build.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -269,9 +269,6 @@ function(prepare)
configure_file("${CFE_SOURCE_DIR}/cmake/cfe-common.doxyfile.in"
"${CMAKE_BINARY_DIR}/doc/cfe-common.doxyfile")

configure_file("${CFE_SOURCE_DIR}/cmake/osal-common.doxyfile.in"
"${CMAKE_BINARY_DIR}/doc/osal-common.doxyfile")

configure_file("${CFE_SOURCE_DIR}/cmake/mission-detaildesign.doxyfile.in"
"${CMAKE_BINARY_DIR}/doc/mission-detaildesign.doxyfile")

Expand All @@ -298,18 +295,9 @@ function(prepare)

string(REPLACE ";" " \\\n" MISSION_USERGUIDE_HEADERFILES "${MISSION_USERGUIDE_HEADERFILES}")

# OSAL API GUIDE include PUBLIC API
file(GLOB MISSION_OSAL_HEADERFILES
"${osal_MISSION_DIR}/src/os/inc/*.h"
"${CMAKE_BINARY_DIR}/doc/osconfig-example.h")
string(REPLACE ";" " \\\n" MISSION_OSAL_HEADERFILES "${MISSION_OSAL_HEADERFILES}")

configure_file("${CFE_SOURCE_DIR}/cmake/cfe-usersguide.doxyfile.in"
"${CMAKE_BINARY_DIR}/doc/cfe-usersguide.doxyfile")

configure_file("${CFE_SOURCE_DIR}/cmake/osalguide.doxyfile.in"
"${CMAKE_BINARY_DIR}/doc/osalguide.doxyfile")

add_custom_target(mission-doc
doxygen mission-detaildesign.doxyfile
WORKING_DIRECTORY "${CMAKE_BINARY_DIR}/doc")
Expand All @@ -318,9 +306,14 @@ function(prepare)
doxygen cfe-usersguide.doxyfile
WORKING_DIRECTORY "${CMAKE_BINARY_DIR}/doc")

add_custom_target(osalguide
doxygen osalguide.doxyfile
WORKING_DIRECTORY "${CMAKE_BINARY_DIR}/doc")
# OSAL API GUIDE include PUBLIC API
set(OSAL_API_INCLUDE_DIRECTORIES
"${osal_MISSION_DIR}/src/os/inc"
"${CMAKE_BINARY_DIR}/doc"
)
add_subdirectory(${osal_MISSION_DIR}/doc/src ${CMAKE_BINARY_DIR}/doc/osalguide)
add_custom_target(osalguide)
add_dependencies(osalguide osal-apiguide)

# Pull in any application-specific mission-scope configuration
# This may include user configuration files such as cfe_mission_cfg.h,
Expand Down
78 changes: 0 additions & 78 deletions cmake/osal-common.doxyfile.in

This file was deleted.

18 changes: 0 additions & 18 deletions cmake/osalguide.doxyfile.in

This file was deleted.

14 changes: 1 addition & 13 deletions docs/cFE Application Developers Guide.md
Original file line number Diff line number Diff line change
Expand Up @@ -2365,19 +2365,7 @@ consistent style of writing in all messages. One should consult, if
possible, with members of the Flight Operations team and scientists to
find what kind of messages are required and how they should be worded.

## 7.6 Event Service Un-registration

Applications that have registered with the EVS can un-register
themselves. The cFE, however, will automatically un-register an
Application when the Application is terminated. An example of the
function call to perform un-registration from within an Application is
shown below:

```
CFE_EVS_Unregister ();
```

## 7.7 Best Practices for using Event Services
## 7.6 Best Practices for using Event Services

The following are recommended "best practices" for applications using EVS.
1. Event Message IDs should be unique across an application so that an
Expand Down
8 changes: 0 additions & 8 deletions docs/cFE_FunctionalRequirements.csv
Original file line number Diff line number Diff line change
Expand Up @@ -259,14 +259,6 @@ EVS: Register App,cEVS3100,"Upon receipt of Request, the cFE shall register an A
EVS: Register App - Create Filter Counter,cEVS3100.1,"Upon receipt of Request to register an Application for event service, the cFE shall create one Application Binary Filter Counter per registered Event ID.",Supports the cFE's Binary Filtering Algorithm.
EVS: Register App - Create Sent Message Counter,cEVS3100.2,"Upon receipt of Request to register an Application for event service, the cFE shall create an Application Event Message Sent Counter.",Supports the cFE's dynamic Application model.
EVS: Register App - Default Event Enable Status,cEVS3100.3,"Upon receipt of Request to register an Application for event service, the cFE shall use the `<PLATFORM_DEFINED>` Application Event Type Enable Statuses for each event.","By default each platform should have a standard configuration for each event message type (eg. DEBUGs disable. INFO, ERROR and CRITICAL events DISABLED) that should be applied to all events. Commands are available to modify the settings."
EVS: Unregister App,cEVS3101,"Upon receipt of Request, the cFE shall un-register an Application from using event services, deleting the following Application data:

- Application Event Message Sent Counter
- Application Event Service Enable Status
- Application Event Type Enable Statuses (one for each Event Type)
- Application Filtered Event IDs
- Application Binary Filter Masks (one per registered Event ID)
- Application Binary Filter Counters (one per registered Event ID)",Supports the cFE's dynamic Application model allowing applications to clean up after themselves.
EVS: Message Types,cEVS3102,The cFE shall support the following Event Message Types: Debug Informational Error Critical.,Supports cFE event services.
EVS: Create Message,cEVS3103,"Upon receipt of a Request to send an Event Message, the cFE shall create a Short or Long Event Message, as specified by the SB Event Format Mode, ONLY if the following cFE conditions are met:

Expand Down
1 change: 0 additions & 1 deletion docs/src/cfe_api.dox
Original file line number Diff line number Diff line change
Expand Up @@ -80,7 +80,6 @@
<LI> \ref CFEAPIEVSReg
<UL>
<LI> #CFE_EVS_Register - \copybrief CFE_EVS_Register
<LI> #CFE_EVS_Unregister - \copybrief CFE_EVS_Unregister
</UL>
<LI> \ref CFEAPIEVSSend
<UL>
Expand Down
Loading

0 comments on commit a16c78e

Please sign in to comment.