added troubleshooting ls and otool commands #40
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
name: Run Unix | ||
on: [push, pull_request] | ||
jobs: | ||
RunUnix: | ||
runs-on: ${{ matrix.os }} | ||
strategy: | ||
fail-fast: false | ||
max-parallel: 4 | ||
matrix: | ||
os: [ubuntu-20.04, macos-11.0] | ||
steps: | ||
# compile and prepare env | ||
- name: Clone Repository | ||
uses: actions/checkout@v2 | ||
- name: Set Version | ||
id: version | ||
run: if [ $GITHUB_REF_TYPE == "tag" ]; then echo "::set-output name=version::$GITHUB_REF_NAME"; else echo "::set-output name=version::$GITHUB_SHA"; fi | ||
- name: Check Version | ||
run: echo ${{ steps.version.outputs.version }} | ||
- name: Install Ninja | ||
if: (matrix.os == 'macos-11.0') | ||
uses: seanmiddleditch/gha-setup-ninja@master | ||
with: | ||
version: 1.10.2 | ||
- name: Setup Cmake | ||
uses: jwlawson/[email protected] | ||
with: | ||
cmake-version: '3.21.x' | ||
- name: Set up JDK 11 | ||
uses: actions/setup-java@v1 | ||
with: | ||
java-version: 11.0.3 | ||
# build simpleble outside from brainflow because of different deployment targets | ||
- name: Compile SimpleBLE MacOS | ||
if: (matrix.os == 'macos-11.0') | ||
run: | | ||
mkdir $GITHUB_WORKSPACE/third_party/SimpleBLE/simpleble/build | ||
cd $GITHUB_WORKSPACE/third_party/SimpleBLE/simpleble/build | ||
cmake -G Ninja -DCMAKE_OSX_ARCHITECTURES="arm64;x86_64" -DCMAKE_OSX_DEPLOYMENT_TARGET=10.15 -DCMAKE_INSTALL_PREFIX=$GITHUB_WORKSPACE/installed -DCMAKE_BUILD_TYPE=Release .. | ||
ninja | ||
ninja install | ||
- name: Compile BrainFlow MacOS | ||
if: (matrix.os == 'macos-11.0') | ||
run: | | ||
mkdir $GITHUB_WORKSPACE/build | ||
cd $GITHUB_WORKSPACE/build | ||
cmake -G Ninja -DBRAINFLOW_VERSION=$BRAINFLOW_VERSION -DBUILD_ONNX=ON -DBUILD_BLUETOOTH=ON -DBUILD_TESTS=ON -DWARNINGS_AS_ERRORS=ON -DCMAKE_OSX_ARCHITECTURES="arm64;x86_64" -DCMAKE_OSX_DEPLOYMENT_TARGET=10.13 -DCMAKE_INSTALL_PREFIX=$GITHUB_WORKSPACE/installed -DCMAKE_BUILD_TYPE=Release .. | ||
ninja | ||
ninja install | ||
env: | ||
BRAINFLOW_VERSION: ${{ steps.version.outputs.version }} | ||
# build Swift tests: | ||
- name: build band_power Swift | ||
run: | | ||
cd $GITHUB_WORKSPACE/swift_package/BrainFlowCI | ||
xcodebuild install -project BrainFlowCI.xcodeproj -destination 'platform=macOS,arch=x86_64' DSTROOT=. INSTALL_PATH=install -scheme band_power | ||
ls -l Frameworks/ | ||
ls -l install/PackageFrameworks/ | ||
echo LC_LOAD_DYLIB: | ||
otool -l install/band_power | grep LC_LOAD_DYLIB -A2 | ||
echo LC_RPATH: | ||
otool -l install/band_power | grep LC_RPATH -A2 | ||
# start testing | ||
- name: Run unit tests | ||
run: $GITHUB_WORKSPACE/build/tests/brainflow_tests | ||
- name: band_power Swift | ||
run: | | ||
$GITHUB_WORKSPACE/swift_package/BrainFlowCI/install/band_power | ||
- name: band_power_all Swift | ||
run: | | ||
$GITHUB_WORKSPACE/swift_package/BrainFlowCI/install/band_power_all | ||
- name: brainflow_get_data Swift | ||
run: | | ||
$GITHUB_WORKSPACE/swift_package/BrainFlowCI/install/brainflow_get_data | ||
- name: denoising Swift | ||
run: | | ||
$GITHUB_WORKSPACE/swift_package/BrainFlowCI/install/denoising | ||
- name: downsampling Swift | ||
run: | | ||
$GITHUB_WORKSPACE/swift_package/BrainFlowCI/install/downsampling | ||
- name: eeg_metrics Swift | ||
run: | | ||
$GITHUB_WORKSPACE/swift_package/BrainFlowCI/install/eeg_metrics | ||
- name: ica Swift | ||
run: | | ||
$GITHUB_WORKSPACE/swift_package/BrainFlowCI/install/ica | ||
- name: markers Swift | ||
run: | | ||
$GITHUB_WORKSPACE/swift_package/BrainFlowCI/install/markers | ||
- name: read_write_file Swift | ||
run: | | ||
$GITHUB_WORKSPACE/swift_package/BrainFlowCI/install/read_write_file | ||
- name: signal_filtering Swift | ||
run: | | ||
$GITHUB_WORKSPACE/swift_package/BrainFlowCI/install/signal_filtering | ||
- name: transforms Swift | ||
run: | | ||
$GITHUB_WORKSPACE/swift_package/BrainFlowCI/install/transforms | ||
- name: Synthetic C# Test MacOS | ||
if: (matrix.os == 'macos-11.0') | ||
run: | | ||
cd $GITHUB_WORKSPACE/csharp_package/brainflow/examples/brainflow_get_data/bin/Release/net7.0 | ||
cp $GITHUB_WORKSPACE/installed/lib/libBoardController.dylib $GITHUB_WORKSPACE/csharp_package/brainflow/examples/brainflow_get_data/bin/Release/net7.0/ | ||
./brainflow_get_data --board-id -1 | ||
env: | ||
DYLD_PRINT_LIBRARIES: 1 | ||
LD_LIBRARY_PATH: ${{ github.workspace }}/installed/lib | ||
DYLD_LIBRARY_PATH: ${{ github.workspace }}/installed/lib | ||
- name: EEG Metrics C# Test MacOS | ||
if: (matrix.os == 'macos-11.0') | ||
run: | | ||
cd $GITHUB_WORKSPACE/csharp_package/brainflow/examples/eeg_metrics/bin/Release/net7.0 | ||
cp $GITHUB_WORKSPACE/installed/lib/libBoardController.dylib $GITHUB_WORKSPACE/csharp_package/brainflow/examples/eeg_metrics/bin/Release/net7.0/ | ||
cp $GITHUB_WORKSPACE/installed/lib/libDataHandler.dylib $GITHUB_WORKSPACE/csharp_package/brainflow/examples/eeg_metrics/bin/Release/net7.0/ | ||
cp $GITHUB_WORKSPACE/installed/lib/libMLModule.dylib $GITHUB_WORKSPACE/csharp_package/brainflow/examples/eeg_metrics/bin/Release/net7.0/ | ||
./eeg_metrics --board-id -1 | ||
env: | ||
DYLD_PRINT_LIBRARIES: 1 | ||
LD_LIBRARY_PATH: ${{ github.workspace }}/installed/lib | ||
DYLD_LIBRARY_PATH: ${{ github.workspace }}/installed/lib | ||
- name: Synthetic C# Test Ubuntu | ||
if: (matrix.os == 'ubuntu-20.04') | ||
run: | | ||
cd $GITHUB_WORKSPACE/csharp_package/brainflow/examples/brainflow_get_data/bin/Release/net7.0 | ||
./brainflow_get_data --board-id -1 | ||
env: | ||
DYLD_PRINT_LIBRARIES: 1 | ||
LD_LIBRARY_PATH: ${{ github.workspace }}/installed/lib | ||
DYLD_LIBRARY_PATH: ${{ github.workspace }}/installed/lib | ||
- name: EEG Metrics C# Test Ubuntu | ||
if: (matrix.os == 'ubuntu-20.04') | ||
run: | | ||
cd $GITHUB_WORKSPACE/csharp_package/brainflow/examples/eeg_metrics/bin/Release/net7.0 | ||
./eeg_metrics --board-id -1 | ||
env: | ||
DYLD_PRINT_LIBRARIES: 1 | ||
LD_LIBRARY_PATH: ${{ github.workspace }}/installed/lib | ||
DYLD_LIBRARY_PATH: ${{ github.workspace }}/installed/lib | ||
- name: Run All Julia Tests | ||
run: | | ||
export LD_LIBRARY_PATH=$GITHUB_WORKSPACE/installed/lib:$LD_LIBRARY_PATH | ||
julia --project=$GITHUB_WORKSPACE/julia_package/brainflow -e "import Pkg; Pkg.test()" | ||
- name: Cyton Python | ||
run: sudo -H python3 ./emulator/brainflow_emulator/cyton_linux.py python3 $GITHUB_WORKSPACE/python_package/examples/tests/brainflow_get_data.py --board-id 0 --serial-port | ||
- name: Cyton Python Commands | ||
run: sudo -H python3 ./emulator/brainflow_emulator/cyton_linux.py python3 $GITHUB_WORKSPACE/python_package/examples/tests/cyton_commands.py --serial-port | ||
- name: Cyton Python Markers | ||
run: sudo -H python3 ./emulator/brainflow_emulator/cyton_linux.py python3 $GITHUB_WORKSPACE/python_package/examples/tests/markers.py --board-id 0 --serial-port | ||
- name: Multiboard Python | ||
run: sudo -H python3 $GITHUB_WORKSPACE/emulator/brainflow_emulator/cyton_linux.py python3 $GITHUB_WORKSPACE/python_package/examples/tests/brainflow_multiboard_get_data.py --board-id 0 --serial-port | ||
- name: Cyton Cpp | ||
run: sudo -H python3 $GITHUB_WORKSPACE/emulator/brainflow_emulator/cyton_linux.py $GITHUB_WORKSPACE/cpp_package/examples/get_data/build/brainflow_get_data --board-id 0 --serial-port | ||
env: | ||
LD_LIBRARY_PATH: ${{ github.workspace }}/installed/lib | ||
- name: Synthetic Python | ||
run: sudo -H python3 $GITHUB_WORKSPACE/python_package/examples/tests/brainflow_get_data.py --board-id -1 | ||
- name: Synthetic Python Multiple Buffers | ||
run: sudo -H python3 $GITHUB_WORKSPACE/python_package/examples/tests/multiple_buffers.py | ||
- name: Synthetic Python Multiple Streamers | ||
run: sudo -H python3 $GITHUB_WORKSPACE/python_package/examples/tests/multiple_streamers.py | ||
- name: Playback Python | ||
run: sudo -H python3 $GITHUB_WORKSPACE/python_package/examples/tests/playback_test.py | ||
- name: Synthetic Cpp | ||
run: $GITHUB_WORKSPACE/cpp_package/examples/get_data/build/brainflow_get_data --board-id -1 | ||
env: | ||
LD_LIBRARY_PATH: ${{ github.workspace }}/installed/lib | ||
- name: Synthetic Java | ||
run: | | ||
cd $GITHUB_WORKSPACE/java_package/brainflow | ||
mvn exec:java -Dexec.mainClass="brainflow.examples.BrainFlowGetData" -Dexec.args="--board-id -1" | ||
env: | ||
LD_LIBRARY_PATH: ${{ github.workspace }}/installed/lib | ||
- name: Synthetic Java Markers | ||
run: | | ||
cd $GITHUB_WORKSPACE/java_package/brainflow | ||
mvn exec:java -Dexec.mainClass="brainflow.examples.Markers" -Dexec.args="--board-id -1" | ||
env: | ||
LD_LIBRARY_PATH: ${{ github.workspace }}/installed/lib | ||
- name: Cyton Daisy Python | ||
run: sudo -H python3 $GITHUB_WORKSPACE/emulator/brainflow_emulator/cyton_linux.py python3 $GITHUB_WORKSPACE/python_package/examples/tests/brainflow_get_data.py --board-id 2 --serial-port | ||
- name: Cyton Daisy Python Markers | ||
run: sudo -H python3 $GITHUB_WORKSPACE/emulator/brainflow_emulator/cyton_linux.py python3 $GITHUB_WORKSPACE/python_package/examples/tests/markers.py --board-id 2 --serial-port | ||
- name: Galea Cpp | ||
run: sudo -H python3 $GITHUB_WORKSPACE/emulator/brainflow_emulator/galea_udp.py $GITHUB_WORKSPACE/cpp_package/examples/get_data/build/brainflow_get_data --board-id 3 --ip-address 127.0.0.1 | ||
env: | ||
LD_LIBRARY_PATH: ${{ github.workspace }}/installed/lib | ||
- name: Galea Cpp Markers | ||
run: sudo -H python3 $GITHUB_WORKSPACE/emulator/brainflow_emulator/galea_udp.py $GITHUB_WORKSPACE/cpp_package/examples/get_data/build/markers --board-id 3 --ip-address 127.0.0.1 | ||
env: | ||
LD_LIBRARY_PATH: ${{ github.workspace }}/installed/lib | ||
- name: Streaming Python | ||
run: sudo -H python3 $GITHUB_WORKSPACE/emulator/brainflow_emulator/streaming_board_emulator.py python3 $GITHUB_WORKSPACE/python_package/examples/tests/brainflow_get_data.py --board-id -2 --ip-address 225.1.1.1 --ip-port 6677 --master-board -1 | ||
- name: Streaming Python Markers | ||
run: sudo -H python3 $GITHUB_WORKSPACE/emulator/brainflow_emulator/streaming_board_emulator.py python3 $GITHUB_WORKSPACE/python_package/examples/tests/markers.py --board-id -2 --ip-address 225.1.1.1 --ip-port 6677 --master-board -1 | ||
- name: Denoising Python | ||
run: sudo -H python3 $GITHUB_WORKSPACE/python_package/examples/tests/denoising.py | ||
- name: Serialization Python | ||
run: | | ||
cd $GITHUB_WORKSPACE | ||
sudo -H python3 $GITHUB_WORKSPACE/python_package/examples/tests/serialization.py | ||
- name: Python Release All | ||
run: sudo -H python3 $GITHUB_WORKSPACE/python_package/examples/tests/release_all.py | ||
- name: Filters Python | ||
run: sudo -H python3 $GITHUB_WORKSPACE/python_package/examples/tests/signal_filtering.py | ||
- name: Transforms Python | ||
run: sudo -H python3 $GITHUB_WORKSPACE/python_package/examples/tests/transforms.py | ||
- name: Downsampling Python | ||
run: sudo -H python3 $GITHUB_WORKSPACE/python_package/examples/tests/downsampling.py | ||
- name: ICA Python | ||
run: sudo -H python3 $GITHUB_WORKSPACE/python_package/examples/tests/ica.py | ||
- name: CSP Python | ||
run: sudo -H python3 $GITHUB_WORKSPACE/python_package/examples/tests/csp.py | ||
- name: Windowing Python | ||
run: sudo -H python3 $GITHUB_WORKSPACE/python_package/examples/tests/windowing.py | ||
- name: MNE Python | ||
run: sudo -H python3 $GITHUB_WORKSPACE/python_package/examples/tests/brainflow_to_mne.py | ||
- name: BandPower Python | ||
run: sudo -H python3 $GITHUB_WORKSPACE/python_package/examples/tests/band_power.py | ||
- name: BandPowerAll Python | ||
run: sudo -H python3 $GITHUB_WORKSPACE/python_package/examples/tests/band_power_all.py | ||
- name: Denoising Cpp | ||
run: $GITHUB_WORKSPACE/cpp_package/examples/signal_processing/build/denoising | ||
env: | ||
LD_LIBRARY_PATH: ${{ github.workspace }}/installed/lib | ||
- name: Downsampling Cpp | ||
run: $GITHUB_WORKSPACE/cpp_package/examples/signal_processing/build/downsampling | ||
env: | ||
LD_LIBRARY_PATH: ${{ github.workspace }}/installed/lib | ||
- name: CSP Cpp | ||
run: $GITHUB_WORKSPACE/cpp_package/examples/signal_processing/build/csp | ||
env: | ||
LD_LIBRARY_PATH: ${{ github.workspace }}/installed/lib | ||
- name: Windowing Cpp | ||
run: $GITHUB_WORKSPACE/cpp_package/examples/signal_processing/build/windowing | ||
env: | ||
LD_LIBRARY_PATH: ${{ github.workspace }}/installed/lib | ||
- name: Filters Cpp | ||
run: $GITHUB_WORKSPACE/cpp_package/examples/signal_processing/build/signal_filtering | ||
env: | ||
LD_LIBRARY_PATH: ${{ github.workspace }}/installed/lib | ||
- name: Serialization Cpp | ||
run: | | ||
cd $GITHUB_WORKSPACE | ||
sudo -H $GITHUB_WORKSPACE/cpp_package/examples/signal_processing/build/serialization | ||
env: | ||
LD_LIBRARY_PATH: ${{ github.workspace }}/installed/lib | ||
- name: Transforms Cpp | ||
run: $GITHUB_WORKSPACE/cpp_package/examples/signal_processing/build/transforms | ||
env: | ||
LD_LIBRARY_PATH: ${{ github.workspace }}/installed/lib | ||
- name: BandPower Cpp | ||
run: $GITHUB_WORKSPACE/cpp_package/examples/signal_processing/build/band_power | ||
env: | ||
LD_LIBRARY_PATH: ${{ github.workspace }}/installed/lib | ||
- name: Denoising Java | ||
run: | | ||
cd $GITHUB_WORKSPACE/java_package/brainflow | ||
mvn exec:java -Dexec.mainClass="brainflow.examples.Denoising" | ||
env: | ||
LD_LIBRARY_PATH: ${{ github.workspace }}/installed/lib | ||
- name: ICA Java | ||
run: | | ||
cd $GITHUB_WORKSPACE/java_package/brainflow | ||
mvn exec:java -Dexec.mainClass="brainflow.examples.ICA" | ||
env: | ||
LD_LIBRARY_PATH: ${{ github.workspace }}/installed/lib | ||
- name: Downsampling Java | ||
run: | | ||
cd $GITHUB_WORKSPACE/java_package/brainflow | ||
mvn exec:java -Dexec.mainClass="brainflow.examples.Downsampling" | ||
env: | ||
LD_LIBRARY_PATH: ${{ github.workspace }}/installed/lib | ||
- name: CSP Java | ||
run: | | ||
cd $GITHUB_WORKSPACE/java_package/brainflow | ||
mvn exec:java -Dexec.mainClass="brainflow.examples.CSP" | ||
env: | ||
LD_LIBRARY_PATH: ${{ github.workspace }}/installed/lib | ||
- name: Windowing Java | ||
run: | | ||
cd $GITHUB_WORKSPACE/java_package/brainflow | ||
mvn exec:java -Dexec.mainClass="brainflow.examples.Windowing" | ||
env: | ||
LD_LIBRARY_PATH: ${{ github.workspace }}/installed/lib | ||
- name: Transforms Java | ||
run: | | ||
cd $GITHUB_WORKSPACE/java_package/brainflow | ||
mvn exec:java -Dexec.mainClass="brainflow.examples.Transforms" | ||
env: | ||
LD_LIBRARY_PATH: ${{ github.workspace }}/installed/lib | ||
- name: BandPower Java | ||
run: | | ||
cd $GITHUB_WORKSPACE/java_package/brainflow | ||
mvn exec:java -Dexec.mainClass="brainflow.examples.BandPower" | ||
env: | ||
LD_LIBRARY_PATH: ${{ github.workspace }}/installed/lib | ||
- name: EEG Metrics Python | ||
run: sudo -H python3 $GITHUB_WORKSPACE/python_package/examples/tests/eeg_metrics.py --board-id -1 | ||
- name: EEG Metrics Custom Python | ||
run: sudo -H python3 $GITHUB_WORKSPACE/python_package/examples/tests/eeg_metrics_ci.py --board-id -1 --classifier 2 --metric 2 --model-file $GITHUB_WORKSPACE/src/ml/train/logreg_mindfulness.onnx | ||
- name: EEG Metrics Cpp | ||
run: $GITHUB_WORKSPACE/cpp_package/examples/ml/build/eeg_metrics --board-id -1 | ||
env: | ||
LD_LIBRARY_PATH: ${{ github.workspace }}/installed/lib | ||
- name: EEG Metrics Cpp Dyn Lib | ||
if: (matrix.os == 'ubuntu-20.04') | ||
run: $GITHUB_WORKSPACE/cpp_package/examples/ml/build/eeg_metrics_ci --board-id -1 --metric 2 --classifier 1 --model-file $GITHUB_WORKSPACE/cpp_package/examples/ml/build/libdyn_lib_test.so | ||
env: | ||
LD_LIBRARY_PATH: ${{ github.workspace }}/installed/lib | ||
- name: EEG Metrics Java | ||
run: | | ||
cd $GITHUB_WORKSPACE/java_package/brainflow | ||
mvn exec:java -Dexec.mainClass="brainflow.examples.EEGMetrics" -Dexec.args="--board-id -1" | ||
env: | ||
LD_LIBRARY_PATH: ${{ github.workspace }}/installed/lib | ||
- name: Synthetic Node | ||
run: | | ||
cd $GITHUB_WORKSPACE/nodejs_package/tests | ||
npm run brainflow_get_data | ||
- name: Signal Filters Node | ||
run: | | ||
cd $GITHUB_WORKSPACE/nodejs_package/tests | ||
npm run signal_filtering | ||
- name: Serialization Node | ||
run: | | ||
cd $GITHUB_WORKSPACE/nodejs_package/tests | ||
npm run serialization | ||
- name: Downsampling Node | ||
run: | | ||
cd $GITHUB_WORKSPACE/nodejs_package/tests | ||
npm run downsampling | ||
- name: Denoising Node | ||
run: | | ||
cd $GITHUB_WORKSPACE/nodejs_package/tests | ||
npm run denoising | ||
- name: EEG Metrics Node | ||
run: | | ||
cd $GITHUB_WORKSPACE/nodejs_package/tests | ||
npm run eeg_metrics | ||
- name: BandPowerAll Node | ||
run: | | ||
cd $GITHUB_WORKSPACE/nodejs_package/tests | ||
npm run bandpower_all | ||
# deploy started | ||
- name: Install AWS CLI | ||
run: sudo -H python3 -m pip install awscli==1.21.10 | ||
- name: Push Libraries Linux Docker | ||
if: ${{ github.event_name == 'push' && matrix.os == 'ubuntu-20.04' && github.repository == 'brainflow-dev/brainflow' }} | ||
run: | | ||
aws s3 cp $GITHUB_WORKSPACE/installed_docker/lib/ s3://brainflow/$GITHUB_SHA/linux --recursive | ||
env: | ||
AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }} | ||
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }} | ||
- name: Push Libraries MacOS Dev | ||
if: ${{ github.event_name == 'push' && matrix.os == 'macos-11.0' && github.repository == 'brainflow-dev/brainflow' }} | ||
run: | | ||
aws s3 cp $GITHUB_WORKSPACE/installed/lib/ s3://brainflow/$GITHUB_SHA/macos_release --recursive | ||
env: | ||
AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }} | ||
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }} | ||