-
Notifications
You must be signed in to change notification settings - Fork 11
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
2,680 changed files
with
391,307 additions
and
1 deletion.
There are no files selected for viewing
Empty file.
Binary file not shown.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
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,85 @@ | ||
name: C/C++ CI | ||
|
||
on: | ||
push: | ||
branches: [ "main" ] | ||
pull_request: | ||
branches: [ "main" ] | ||
|
||
jobs: | ||
build: | ||
|
||
runs-on: ubuntu-20.04 | ||
|
||
steps: | ||
- name: checkout the repo | ||
uses: actions/checkout@v3 | ||
- name: get tags | ||
run: git fetch --tags | ||
- name: configure bennu | ||
run: | | ||
sudo apt-get install --no-install-recommends -y build-essential cmake g++ gcc libasio-dev libboost-date-time-dev libboost-filesystem-dev libboost-program-options-dev libboost-system-dev libboost-thread-dev libfreetype6-dev libssl-dev libzmq5-dev | ||
mkdir build | ||
cd build/ | ||
cmake ../ | ||
- name: build bennu | ||
run: | | ||
cd build/ | ||
make -j$(nproc) | ||
- name: test bennu | ||
run: | | ||
cd build/ | ||
sudo make install | ||
sudo ldconfig | ||
bennu-test-ep-server --d 1 >ep.out 2>&1 & | ||
bennu-field-device --f ../data/configs/ep/dnp3-server.xml >fd-server.out 2>&1 & | ||
bennu-field-device --f ../data/configs/ep/dnp3-client.xml >fd-client.out 2>&1 & | ||
sleep 5 | ||
bennu-probe --c query >probe.out | ||
grep "brkr" probe.out | ||
sleep 10 | ||
bennu-probe --c read --t brkr >>probe.out | ||
bennu-probe --c read --t load-power >>probe.out | ||
sleep 3 | ||
cat probe.out | ||
grep "brkr:true" probe.out | ||
grep "load-power:400.5" probe.out | ||
bennu-probe --c write --t load-breaker-toggle --s false >>probe.out | ||
bennu-probe --c write --t load-mw-setpoint --v 999 >>probe.out | ||
sleep 8 | ||
bennu-probe --c read --t brkr >>probe.out | ||
bennu-probe --c read --t load-power >>probe.out | ||
sleep 3 | ||
cat probe.out | ||
grep "brkr:false" probe.out | ||
grep "load-power:999" probe.out | ||
echo -e "help\nexit" | bennu-brash >brash.out 2>&1 | ||
grep "SCEPTRE Field-Device" brash.out | ||
- name: package bennu | ||
run: | | ||
cd build/ | ||
sudo make package | ||
- name: package pybennu | ||
run: | | ||
sudo apt-get install --no-install-recommends -y python3-pip python3-wheel | ||
sudo gem install fpm | ||
cd src/pybennu | ||
make deb > deb.log 2>&1 | ||
#make dist > dist.log 2>&1 | ||
- name: archive artifacts | ||
uses: actions/upload-artifact@v3 | ||
with: | ||
name: bennu artifacts | ||
path: | | ||
*.log | ||
build/*.deb | ||
src/pybennu/dist/* | ||
- name: release bennu and pybennu - only on PR | ||
if: github.event_name == 'pull-request' | ||
run: | | ||
cp build/*.deb build/bennu.deb | ||
cp src/pybennu/dist/*.deb src/pybennu/dist/pybennu.deb | ||
curl -F package=@build/bennu.deb https://[email protected]/sceptre/ | ||
curl -F package=@src/pybennu/dist/pybennu.deb https://[email protected]/sceptre/ | ||
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,103 @@ | ||
# Editors | ||
.vscode | ||
.idea | ||
|
||
build | ||
*.autosave | ||
#*.pyc | ||
log.txt | ||
#*.pyo | ||
.DS_Store | ||
build*/ | ||
.vagrant | ||
.umbrapath.rc | ||
*.*~ | ||
*.user | ||
*.user.* | ||
*.swp | ||
|
||
# Byte-compiled / optimized / DLL files | ||
__pycache__/ | ||
#*.py[cod] | ||
|
||
# Distribution / packaging | ||
.Python | ||
env/ | ||
bin/ | ||
build/ | ||
develop-eggs/ | ||
dist/ | ||
eggs/ | ||
lib64/ | ||
parts/ | ||
sdist/ | ||
var/ | ||
src/pybennu/pybennu.egg-info | ||
#*.egg-info/ | ||
.installed.cfg | ||
*.egg | ||
|
||
# Installer logs | ||
pip-log.txt | ||
pip-delete-this-directory.txt | ||
|
||
# Unit test / coverage reports | ||
htmlcov/ | ||
.tox/ | ||
.coverage | ||
.cache | ||
nosetests.xml | ||
coverage.xml | ||
|
||
# Translations | ||
*.mo | ||
|
||
# Mr Developer | ||
.mr.developer.cfg | ||
.project | ||
.pydevproject | ||
|
||
# Rope | ||
.ropeproject | ||
|
||
# Django stuff: | ||
*.log | ||
*.pot | ||
|
||
# Sphinx documentation | ||
docs/_build/ | ||
|
||
# Simulink extra files | ||
*.mat | ||
*.slxc | ||
**/slprj/ | ||
**/*_grt_rtw/ | ||
|
||
# test files | ||
test*.py | ||
|
||
# Compiled Object files, Static and Dynamic libs (Shared Objects) | ||
*.o | ||
|
||
# Folders | ||
_obj | ||
_test | ||
|
||
*.cgo1.go | ||
*.cgo2.c | ||
_cgo_defun.c | ||
_cgo_gotypes.go | ||
_cgo_export.* | ||
|
||
_testmain.go | ||
|
||
*.exe | ||
*.test | ||
|
||
html | ||
|
||
# pyenv | ||
.python-version | ||
|
||
# pybennu version.py | ||
RELEASE-VERSION |
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,78 @@ | ||
cmake_minimum_required (VERSION 3.8.0 FATAL_ERROR) | ||
|
||
# Get the latest tag of the working branch | ||
execute_process( | ||
COMMAND git describe --abbrev=0 | ||
WORKING_DIRECTORY ${CMAKE_CURRENT_LIST_DIR} | ||
OUTPUT_VARIABLE bennu_TAG | ||
OUTPUT_STRIP_TRAILING_WHITESPACE | ||
) | ||
|
||
# Get the latest tag and abbreviated commit hash of the working branch | ||
execute_process( | ||
COMMAND git describe --dirty | ||
WORKING_DIRECTORY ${CMAKE_CURRENT_LIST_DIR} | ||
OUTPUT_VARIABLE bennu_TAG_HASH | ||
OUTPUT_STRIP_TRAILING_WHITESPACE | ||
) | ||
|
||
project(bennu VERSION ${bennu_TAG} LANGUAGES C CXX) | ||
|
||
if (NOT CMAKE_BUILD_TYPE AND NOT CMAKE_CONFIGURATION_TYPES) | ||
message(STATUS "Setting build type to 'Release' as none was specified.") | ||
set(CMAKE_BUILD_TYPE Release CACHE STRING "Choose the type of build." FORCE) | ||
set_property(CACHE CMAKE_BUILD_TYPE PROPERTY STRINGS "Debug" "Release") | ||
endif () | ||
|
||
set(CMAKE_CXX_STANDARD 17) | ||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -pthread -Wall") | ||
set(CMAKE_SKIP_RPATH ON) | ||
set(BUILD_SHARED_LIBS OFF) | ||
add_definitions(-DBENNU_VERSION="${bennu_VERSION}") | ||
add_definitions(-DZMQ_BUILD_DRAFT_API) | ||
add_definitions(-Wno-deprecated) | ||
|
||
list(APPEND CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/cmake) | ||
include(PreventInSourceBuilds) | ||
include(UseCcache) | ||
include(UseGoldLinker) | ||
include(CpackConfig) | ||
find_package(Boost REQUIRED filesystem system date_time serialization program_options) | ||
|
||
set(ZMQ_DIR ${CMAKE_SOURCE_DIR}/src/deps/zmq) | ||
set(ZMQ_LIB ${ZMQ_DIR}/lib/libzmq.a) | ||
|
||
set(bennu_INCLUDES | ||
${Boost_INCLUDE_DIRS} | ||
${CMAKE_SOURCE_DIR}/src | ||
${CMAKE_SOURCE_DIR}/src/deps | ||
) | ||
|
||
|
||
add_subdirectory(src/bennu) | ||
|
||
OPTION(BUILD_GOBENNU "Build Golang executable?" OFF) | ||
|
||
if(BUILD_GOBENNU) | ||
add_custom_command(OUTPUT ${CMAKE_CURRENT_SOURCE_DIR}/src/gobennu/bin/gobennu | ||
COMMAND make bin/gobennu | ||
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/src/gobennu | ||
) | ||
|
||
add_custom_target(gobennu ALL DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/src/gobennu/bin/gobennu) | ||
|
||
install(PROGRAMS ${CMAKE_CURRENT_SOURCE_DIR}/src/gobennu/bin/gobennu | ||
DESTINATION bin | ||
) | ||
endif() | ||
|
||
# Uninstall target | ||
add_custom_target(uninstall | ||
"${CMAKE_COMMAND}" -P "${CMAKE_MODULE_PATH}/Uninstall.cmake" | ||
) | ||
|
||
option(BUILD_TESTS "Build tests?" ON) | ||
if (BUILD_TESTS) | ||
enable_testing() | ||
add_subdirectory(test) | ||
endif (BUILD_TESTS) |
Oops, something went wrong.