Skip to content

Commit

Permalink
Initial Commit (#1)
Browse files Browse the repository at this point in the history
  • Loading branch information
mgaliar authored Jul 5, 2023
1 parent 913d376 commit 71b535c
Show file tree
Hide file tree
Showing 2,680 changed files with 391,307 additions and 1 deletion.
Empty file added .files/.gitkeep
Empty file.
Binary file added .files/images/sceptre.ico
Binary file not shown.
Binary file added .files/images/sceptre.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
85 changes: 85 additions & 0 deletions .github/workflows/c-cpp.yml
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/
103 changes: 103 additions & 0 deletions .gitignore
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
78 changes: 78 additions & 0 deletions CMakeLists.txt
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)
Loading

0 comments on commit 71b535c

Please sign in to comment.