Feature/bacnet secure connect hub (#818)
* Added BACnet Secure Connect datalink. * Added BACnet/SC hub application --------- Co-authored-by: Kirill Neznamov <kirill.neznamov@dsr-corporation.com> Co-authored-by: Mikhail Antropov <michail.antropov@dsr-corporation.com> Co-authored-by: Ondřej Hruška <ondra@ondrovo.com> Co-authored-by: Patrick Grimm <patrick@lunatiki.de>
This commit is contained in:
@@ -0,0 +1,81 @@
|
||||
name: BACNet/SC linux tests
|
||||
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- master
|
||||
pull_request:
|
||||
branches:
|
||||
- '*'
|
||||
|
||||
jobs:
|
||||
job_bsc_tests_linux:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
- name: Create Build Environment
|
||||
run: |
|
||||
sudo apt-get update -qq
|
||||
sudo apt-get install -qq libconfig-dev
|
||||
sudo apt-get install -qq libcap-dev
|
||||
sudo apt-get install -qq libssl-dev
|
||||
sudo apt-get install -qq libuv1-dev
|
||||
git clone --branch v4.3-stable https://github.com/warmcat/libwebsockets.git
|
||||
bash -c 'cd libwebsockets;mkdir build;cd build;cmake .. -DLWS_WITH_LIBUV=ON -DLWS_WITH_MINIMAL_EXAMPLES=0 -DLWS_MAX_SMP=32;make'
|
||||
sudo bash -c 'cd libwebsockets;cd build;make install'
|
||||
- name: Build and run bsc_event test
|
||||
run: |
|
||||
cd ./test/ports/linux/bsc_event
|
||||
mkdir build
|
||||
cd build
|
||||
cmake ..
|
||||
make
|
||||
./test_bsc_event
|
||||
- name: Build and run bvlc-sc test
|
||||
run: |
|
||||
cd ./test/bacnet/datalink/bvlc-sc
|
||||
mkdir build
|
||||
cd build
|
||||
cmake ..
|
||||
make
|
||||
./test_bvlc-sc
|
||||
- name: Build and run websockets test
|
||||
run: |
|
||||
cd ./test/bacnet/datalink/websockets
|
||||
mkdir build
|
||||
cd build
|
||||
cmake ..
|
||||
make
|
||||
./test_websockets
|
||||
- name: Build and run bsc-socket test
|
||||
run: |
|
||||
cd ./test/bacnet/datalink/bsc-socket
|
||||
mkdir build
|
||||
cd build
|
||||
cmake ..
|
||||
make
|
||||
./test_bsc-socket
|
||||
- name: Build and run hub-sc test
|
||||
run: |
|
||||
cd ./test/bacnet/datalink/hub-sc
|
||||
mkdir build
|
||||
cd build
|
||||
cmake ..
|
||||
make
|
||||
./test_hub-sc
|
||||
- name: Build and run bsc-node test
|
||||
run: |
|
||||
cd ./test/bacnet/datalink/bsc-node
|
||||
mkdir build
|
||||
cd build
|
||||
cmake ..
|
||||
make
|
||||
./test_bsc-node
|
||||
- name: Build and run bsc-datalink test
|
||||
run: |
|
||||
cd ./test/bacnet/datalink/bsc-datalink
|
||||
mkdir build
|
||||
cd build
|
||||
cmake ..
|
||||
make
|
||||
./test_bsc-datalink
|
||||
@@ -0,0 +1,75 @@
|
||||
name: BACNet/SC macos/bsd tests
|
||||
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- master
|
||||
pull_request:
|
||||
branches:
|
||||
- '*'
|
||||
|
||||
jobs:
|
||||
job_bsc_tests_macos:
|
||||
runs-on: macOS-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
- name: Create Build Environment
|
||||
run: |
|
||||
brew install openssl
|
||||
brew install libwebsockets
|
||||
- name: Build and run bsc_event test
|
||||
run: |
|
||||
cd ./test/ports/bsd/bsc_event
|
||||
mkdir build
|
||||
cd build
|
||||
cmake ..
|
||||
make
|
||||
./test_bsc_event
|
||||
- name: Build and run bvlc-sc test
|
||||
run: |
|
||||
cd ./test/bacnet/datalink/bvlc-sc
|
||||
mkdir build
|
||||
cd build
|
||||
cmake ..
|
||||
make
|
||||
./test_bvlc-sc
|
||||
- name: Build and run websockets test
|
||||
run: |
|
||||
cd ./test/bacnet/datalink/websockets
|
||||
mkdir build
|
||||
cd build
|
||||
cmake .. -DOPENSSL_ROOT_DIR=/usr/local/opt/openssl@3.0
|
||||
make
|
||||
./test_websockets
|
||||
- name: Build and run bsc-socket test
|
||||
run: |
|
||||
cd ./test/bacnet/datalink/bsc-socket
|
||||
mkdir build
|
||||
cd build
|
||||
cmake ..
|
||||
make
|
||||
./test_bsc-socket
|
||||
- name: Build and run hub-sc test
|
||||
run: |
|
||||
cd ./test/bacnet/datalink/hub-sc
|
||||
mkdir build
|
||||
cd build
|
||||
cmake .. -DOPENSSL_ROOT_DIR=/usr/local/opt/openssl@3.0
|
||||
make
|
||||
./test_hub-sc
|
||||
- name: Build and run bsc-node test
|
||||
run: |
|
||||
cd ./test/bacnet/datalink/bsc-node
|
||||
mkdir build
|
||||
cd build
|
||||
cmake .. -DOPENSSL_ROOT_DIR=/usr/local/opt/openssl@3.0
|
||||
make
|
||||
./test_bsc-node
|
||||
- name: Build and run bsc-datalink test
|
||||
run: |
|
||||
cd ./test/bacnet/datalink/bsc-datalink
|
||||
mkdir build
|
||||
cd build
|
||||
cmake .. -DOPENSSL_ROOT_DIR=/usr/local/opt/openssl@3.0
|
||||
make
|
||||
./test_bsc-datalink
|
||||
@@ -0,0 +1,85 @@
|
||||
name: BACNet/SC windows tests
|
||||
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- master
|
||||
pull_request:
|
||||
branches:
|
||||
- '*'
|
||||
|
||||
jobs:
|
||||
job_bsc_tests_windows:
|
||||
runs-on: windows-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
- name: Create Build Environment
|
||||
run: |
|
||||
rmdir 'C:\Program Files\OpenSSL' -Recurse -Force
|
||||
rmdir 'C:\Strawberry' -Recurse -Force
|
||||
copy c:\vcpkg\triplets\x64-windows.cmake c:\vcpkg\triplets\x64-windows-custom.cmake
|
||||
"set(VCPKG_BUILD_TYPE release)`n" >> c:\vcpkg\triplets\x64-windows-custom.cmake
|
||||
c:\vcpkg\vcpkg.exe install pthreads --triplet x64-windows-custom
|
||||
c:\vcpkg\vcpkg.exe install libuv --triplet x64-windows-custom
|
||||
c:\vcpkg\vcpkg.exe install openssl --triplet x64-windows-custom
|
||||
c:\vcpkg\vcpkg.exe install libwebsockets --triplet x64-windows-custom
|
||||
git clone --branch v4.3-stable https://github.com/warmcat/libwebsockets.git
|
||||
cd libwebsockets
|
||||
mkdir build
|
||||
cd build
|
||||
cmake .. -DOPENSSL_ROOT_DIR=c:\vcpkg\installed\x64-windows-custom -DCMAKE_TOOLCHAIN_FILE=c:\vcpkg\scripts\buildsystems\vcpkg.cmake -DVCPKG_TARGET_TRIPLET=x64-windows-custom -DCMAKE_INSTALL_PREFIX="./pkg" -DLWS_WITH_MINIMAL_EXAMPLES=0 -DLWS_MAX_SMP=32 -DLWS_WITH_LIBUV=1 -DLWS_HAVE_PTHREAD_H=1 -DLWS_EXT_PTHREAD_INCLUDE_DIR="C:\vcpkg\installed\x64-windows-custom\include" -DLWS_EXT_PTHREAD_LIBRARIES="C:\vcpkg\installed\x64-windows-custom\lib\pthreadVC3.lib"
|
||||
cmake --build . --config RELEASE
|
||||
cmake --install . --config RELEASE
|
||||
Copy-Item -Path .\pkg\bin -Destination c:\vcpkg\installed\x64-windows-custom -Recurse -Force
|
||||
Copy-Item -Path .\pkg\include -Destination c:\vcpkg\installed\x64-windows-custom -Recurse -Force
|
||||
Copy-Item -Path .\pkg\lib -Destination c:\vcpkg\installed\x64-windows-custom -Recurse -Force
|
||||
Copy-Item -Path .\pkg\share -Destination c:\vcpkg\installed\x64-windows-custom -Recurse -Force
|
||||
cd ../../
|
||||
- name: Setup MSBuild
|
||||
uses: microsoft/setup-msbuild@v1.1
|
||||
with:
|
||||
msbuild-architecture: x64
|
||||
- name: Build and run bsc_event test
|
||||
run: |
|
||||
cd ./test/ports/win32/bsc_event
|
||||
cmake -B build -S . -DCMAKE_TOOLCHAIN_FILE=c:\vcpkg\scripts\buildsystems\vcpkg.cmake -DVCPKG_TARGET_TRIPLET=x64-windows-custom
|
||||
msbuild build/test_bsc_event.sln /Property:Configuration=Release
|
||||
./build/Release/test_bsc_event.exe
|
||||
- name: Build and run bvlc-sc test
|
||||
run: |
|
||||
cd ./test/bacnet/datalink/bvlc-sc
|
||||
cmake -B build -S . -DCMAKE_TOOLCHAIN_FILE=c:\vcpkg\scripts\buildsystems\vcpkg.cmake -DVCPKG_TARGET_TRIPLET=x64-windows-custom
|
||||
msbuild build/test_bvlc-sc.sln /Property:Configuration=Release
|
||||
./build/Release/test_bvlc-sc.exe
|
||||
- name: Build and run websockets test
|
||||
run: |
|
||||
cd ./test/bacnet/datalink/websockets
|
||||
cmake -B build -S . -DCMAKE_TOOLCHAIN_FILE=c:\vcpkg\scripts\buildsystems\vcpkg.cmake -DVCPKG_TARGET_TRIPLET=x64-windows-custom
|
||||
msbuild build/test_websockets.sln /Property:Configuration=Release
|
||||
./build/Release/test_websockets.exe
|
||||
- name: Build and run bsc-socket test
|
||||
run: |
|
||||
cd ./test/bacnet/datalink/bsc-socket
|
||||
cmake -B build -S . -DCMAKE_TOOLCHAIN_FILE=c:\vcpkg\scripts\buildsystems\vcpkg.cmake -DVCPKG_TARGET_TRIPLET=x64-windows-custom
|
||||
msbuild build/test_bsc-socket.sln /Property:Configuration=Release
|
||||
./build/Release/test_bsc-socket.exe
|
||||
# (Link target) ->
|
||||
# bacreal.obj : error LNK2019: unresolved external symbol big_endian referenced in function decode_double [D:\a\bacnet-stack-upstream\bacnet-stack-upstream\test\bacnet\datalink\hub-sc\build\test_hub-sc.vcxproj]
|
||||
# - name: Build and run hub-sc test
|
||||
# run: |
|
||||
# cd ./test/bacnet/datalink/hub-sc
|
||||
# cmake -B build -S . -DCMAKE_TOOLCHAIN_FILE=c:\vcpkg\scripts\buildsystems\vcpkg.cmake -DVCPKG_TARGET_TRIPLET=x64-windows-custom
|
||||
# msbuild build/test_hub-sc.sln /Property:Configuration=Release
|
||||
# ./build/Release/test_hub-sc.exe
|
||||
- name: Build and run bsc-node test
|
||||
run: |
|
||||
cd ./test/bacnet/datalink/bsc-node
|
||||
cmake -B build -S . -DCMAKE_TOOLCHAIN_FILE=c:\vcpkg\scripts\buildsystems\vcpkg.cmake -DVCPKG_TARGET_TRIPLET=x64-windows-custom
|
||||
msbuild build/test_bsc-node.sln /Property:Configuration=Release
|
||||
./build/Release/test_bsc-node.exe
|
||||
- name: Build and run bsc-datalink test
|
||||
run: |
|
||||
cd ./test/bacnet/datalink/bsc-datalink
|
||||
cmake -B build -S . -DCMAKE_TOOLCHAIN_FILE=c:\vcpkg\scripts\buildsystems\vcpkg.cmake -DVCPKG_TARGET_TRIPLET=x64-windows-custom
|
||||
msbuild build/test_bsc-datalink.sln /Property:Configuration=Release
|
||||
./build/Release/test_bsc-datalink.exe
|
||||
@@ -77,6 +77,26 @@ jobs:
|
||||
make clean
|
||||
make LEGACY=true gateway
|
||||
|
||||
bacnet-sc-hub:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
- name: Create BACnet/SC Build Environment
|
||||
run: |
|
||||
sudo apt-get update -qq
|
||||
sudo apt-get install -qq libconfig-dev
|
||||
sudo apt-get install -qq libcap-dev
|
||||
sudo apt-get install -qq libssl-dev
|
||||
sudo apt-get install -qq libuv1-dev
|
||||
git clone --branch v4.3-stable https://github.com/warmcat/libwebsockets.git
|
||||
bash -c 'cd libwebsockets;mkdir build;cd build;cmake .. -DLWS_WITH_LIBUV=ON -DLWS_WITH_MINIMAL_EXAMPLES=0 -DLWS_MAX_SMP=32;make'
|
||||
sudo bash -c 'cd libwebsockets;cd build;make install'
|
||||
- name: Build BACnet/SC Hub Demo
|
||||
run: |
|
||||
gcc --version
|
||||
make clean
|
||||
make sc-hub
|
||||
|
||||
router:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
@@ -85,6 +105,12 @@ jobs:
|
||||
run: |
|
||||
sudo apt-get update -qq
|
||||
sudo apt-get install -qq libconfig-dev
|
||||
sudo apt-get install -qq libcap-dev
|
||||
sudo apt-get install -qq libssl-dev
|
||||
sudo apt-get install -qq libuv1-dev
|
||||
git clone --branch v4.3-stable https://github.com/warmcat/libwebsockets.git
|
||||
bash -c 'cd libwebsockets;mkdir build;cd build;cmake .. -DLWS_WITH_LIBUV=ON -DLWS_WITH_MINIMAL_EXAMPLES=0 -DLWS_MAX_SMP=32;make'
|
||||
sudo bash -c 'cd libwebsockets;cd build;make install'
|
||||
- name: Build Router Demo
|
||||
run: |
|
||||
gcc --version
|
||||
|
||||
@@ -88,5 +88,11 @@ jobs:
|
||||
run: |
|
||||
sudo apt-get update -qq
|
||||
sudo apt-get install -qq lcov
|
||||
sudo apt-get install -qq libssl-dev
|
||||
sudo apt-get install -qq libcap-dev
|
||||
sudo apt-get install -qq libuv1-dev
|
||||
git clone --branch v4.3-stable https://github.com/warmcat/libwebsockets.git
|
||||
bash -c 'cd libwebsockets;mkdir build;cd build;cmake .. -DLWS_WITH_LIBUV=ON -DLWS_WITH_MINIMAL_EXAMPLES=0 -DLWS_MAX_SMP=32;make'
|
||||
sudo bash -c 'cd libwebsockets;cd build;make install'
|
||||
- name: Run Unit Test with Code Coverage
|
||||
run: make test
|
||||
|
||||
Reference in New Issue
Block a user