-
Notifications
You must be signed in to change notification settings - Fork 12
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
chore(stacker): create project (#450)
Project skeleton for the FLEX stacker
- Loading branch information
1 parent
b703389
commit 94a1246
Showing
30 changed files
with
4,342 additions
and
8 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,97 @@ | ||
name: 'Flex Stacker build/test' | ||
on: | ||
pull_request: | ||
paths: | ||
- 'stm32-modules/flex-stacker/**/*' | ||
- 'stm32-modules/common/**/*' | ||
- 'stm32-modules/include/common/**/*' | ||
- 'stm32-modules/include/flex-stacker/**/*' | ||
- 'cmake/**/*' | ||
- 'CMakeLists.txt' | ||
- 'stm32-modules/CMakeLists.txt' | ||
- 'CMakePresets.json' | ||
- '.clang-format' | ||
- '.clang-tidy' | ||
- 'cpp-utils/**/*' | ||
paths_ignore: | ||
- 'cmake/Arduino*' | ||
push: | ||
paths: | ||
- 'stm32-modules/flex-stacker/**/*' | ||
- 'stm32-modules/common/**/*' | ||
- 'stm32-modules/include/common/**/*' | ||
- 'stm32-modules/include/flex-stacker/**/*' | ||
- 'cmake/**/*' | ||
- 'CMakeLists.txt' | ||
- 'stm32-modules/CMakeLists.txt' | ||
- 'CMakePresets.json' | ||
- '.clang-format' | ||
- '.clang-tidy' | ||
- '.github/workflows/flex-stacker.yaml' | ||
paths_ignore: | ||
- 'cmake/Arduino*' | ||
branches: | ||
- '*' | ||
tags: | ||
- 'flex-stacker@*' | ||
workflow_dispatch: | ||
|
||
|
||
defaults: | ||
run: | ||
shell: bash | ||
|
||
|
||
jobs: | ||
cross-compile-check: | ||
name: 'Cross-Compile/Check' | ||
runs-on: 'ubuntu-20.04' | ||
timeout-minutes: 10 | ||
steps: | ||
- uses: 'actions/checkout@v2' | ||
with: | ||
fetch-depth: 0 | ||
- uses: 'actions/cache@v2' | ||
with: | ||
key: stm32-cross-${{ secrets.MODULES_STM32_CACHE_VERSION }}-${{ hashFiles('cmake/*') }} | ||
restore-keys: stm32-cross-${{ secrets.MODULES_STM32_CACHE_VERSION }}- | ||
path: './stm32-tools' | ||
- name: 'Configure' | ||
run: cmake --preset=stm32-cross . | ||
- name: 'Format' | ||
run: cmake --build --preset cross --target flex-stacker-format-ci | ||
- name: 'Lint' | ||
run: cmake --build --preset cross --target flex-stacker-lint | ||
- name: 'Build startup app' | ||
run: cmake --build --preset cross --target flex-stacker-startup | ||
- name: 'Build' | ||
run: cmake --build --preset cross --target flex-stacker-hex | ||
- name: 'Build full image' | ||
run: cmake --build --preset cross --target flex-stacker-image-hex | ||
- name: 'Build full image binary' | ||
run: cmake --build --preset cross --target flex-stacker-image-bin | ||
host-compile-test: | ||
name: 'Host-Compile/Test' | ||
runs-on: 'ubuntu-20.04' | ||
timeout-minutes: 10 | ||
env: | ||
CC: gcc-10 | ||
CXX: g++-10 | ||
steps: | ||
- run: | | ||
sudo apt update | ||
sudo apt install gcc-10 g++-10 | ||
- uses: 'actions/checkout@v2' | ||
with: | ||
fetch-depth: 0 | ||
- uses: 'actions/cache@v2' | ||
with: | ||
path: './stm32-tools' | ||
key: stm32-host-${{ secrets.MODULES_STM32_CACHE_VERSION }}-${{ hashFiles('cmake/*') }} | ||
restore-keys: stm32-host-${{ secrets.MODULES_STM32_CACHE_VERSION }}- | ||
- name: 'Configure' | ||
run: cmake --preset=stm32-host . | ||
- name: 'Build Simulator' | ||
run: cmake --build --preset host --target flex-stacker-simulator | ||
- name: 'Build and Test' | ||
run: cmake --build --preset flex-stacker-tests |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,37 @@ | ||
#FLEX Stacker | ||
|
||
# This variable defines the name of the target for this subfolder. | ||
set(TARGET_MODULE_NAME "flex-stacker") | ||
|
||
add_subdirectory(src) | ||
|
||
if (${CMAKE_CROSSCOMPILING}) | ||
add_subdirectory(firmware) | ||
else() | ||
add_subdirectory(tests) | ||
add_subdirectory(simulator) | ||
endif() | ||
|
||
file(GLOB_RECURSE ${TARGET_MODULE_NAME}_SOURCES_FOR_FORMAT | ||
./*.cpp ./*.hpp ./*.h | ||
../include/${TARGET_MODULE_NAME}/*.hpp ../include/${TARGET_MODULE_NAME}/*.h) | ||
list(FILTER ${TARGET_MODULE_NAME}_SOURCES_FOR_FORMAT EXCLUDE REGEX ".*MCSDK.*") | ||
|
||
# Targets for formatting. These are here rather than in individual target CMakeLists (e.g. | ||
# the ones in tests/ or firmware/) because they don't have semantic reasoning involved and | ||
# can therefore operate on file globs, unlike lint/static analysis | ||
|
||
# Target for use during dev - edits files | ||
add_custom_target( | ||
${TARGET_MODULE_NAME}-format | ||
ALL | ||
COMMENT "Formatting code" | ||
COMMAND ${Clang_CLANGFORMAT_EXECUTABLE} -style=file -i ${${TARGET_MODULE_NAME}_SOURCES_FOR_FORMAT} | ||
) | ||
|
||
# Target for use in ci - warnings are errors, doesn't edit files | ||
add_custom_target( | ||
${TARGET_MODULE_NAME}-format-ci | ||
COMMENT "Checking format" | ||
COMMAND ${Clang_CLANGFORMAT_EXECUTABLE} -style=file -Werror --ferror-limit=0 -n ${${TARGET_MODULE_NAME}_SOURCES_FOR_FORMAT} | ||
) |
Oops, something went wrong.