Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
22 commits
Select commit Hold shift + click to select a range
cc16de1
Update Networking Test Kit
retiutut Mar 17, 2025
676eba6
Update BrainFlow to 5.13.3
retiutut Mar 17, 2025
610154c
Update all PDE files to v7 spec
retiutut Mar 17, 2025
c3d717d
Update and organize data folder and remove old files
retiutut Mar 17, 2025
5c9c84a
Fix bugs in TopNav and Control Panel UI created by v7 merge
retiutut Mar 17, 2025
0f73ecc
Remove PPGCapableBoard class
retiutut Mar 18, 2025
839d92b
Remove PacketLoss widget from Playback Mode
retiutut Mar 18, 2025
7734a5b
Remove unused PlotFontInfo class
retiutut Mar 19, 2025
049c650
Remove Processing 3 build Github Action for Windows
retiutut Mar 19, 2025
5ff114b
Update Windows build and deploy Github Action to use Wix
retiutut Mar 20, 2025
81ac8dc
Update Windows icons folder to fix Windows Build Action
retiutut Mar 20, 2025
1d0953a
Update Windows Build Action with correct S3 bucket name
retiutut Mar 20, 2025
8a272b3
Update Mac Build Deploy Action with v7 spec
retiutut Mar 20, 2025
095c176
Fix CreateDMG step in Mac Build Deploy Action
retiutut Mar 20, 2025
78d94be
Update license in dmgbuild_settings.py
retiutut Mar 20, 2025
d7e09c6
Update license in dmgbuild_settings.py
retiutut Mar 20, 2025
943ea36
Update settings in dmgbuild_settings.py
retiutut Mar 20, 2025
4e82ef1
Fix bytes/string issue in dmgbuild_settings.py
retiutut Mar 21, 2025
aa02b6c
Update S3 bucket for Linux Build Deploy action
retiutut Mar 21, 2025
8fe58b3
Fix S3 upload for WIndows Build Deploy Action
retiutut Mar 21, 2025
bdf0cbf
Fix S3 rm command in WIndows Build Deploy Action
retiutut Mar 21, 2025
32fd7b1
Add Focus Widget values to Session Settings - Fixes #1198
retiutut Oct 12, 2023
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
24 changes: 12 additions & 12 deletions .github/workflows/linux_build_deploy.yml
Original file line number Diff line number Diff line change
@@ -1,18 +1,18 @@
name: Build GUI for Linux

on:
workflow_dispatch:
workflow_dispatch:
pull_request:
branches: [master, development]
push:
branches: [master, development]

permissions:
id-token: write
contents: read

env:
AWS_REGION : us-east-1
AWS_REGION: us-east-1

jobs:
build:
Expand All @@ -28,10 +28,10 @@ jobs:
with:
python-version: '3.9'
cache: 'pip'

- name: Install Python Dependencies
run: pip install -r release/requirements.txt

- name: Install Processing
run: |
mkdir -p $GITHUB_WORKSPACE/processing
Expand All @@ -55,10 +55,10 @@ jobs:
cp -a $GITHUB_WORKSPACE/OpenBCI_GUI/libraries/. $HOME/sketchbook/libraries/

# Unit tests cannot be run on Linux without attached display.

- name: Build
run: python $GITHUB_WORKSPACE/release/build.py

- name: Package
run: python $GITHUB_WORKSPACE/release/package.py

Expand All @@ -67,17 +67,17 @@ jobs:
with:
role-to-assume: ${{ secrets.AWS_ROLE_TO_ASSUME }}
aws-region: ${{ env.AWS_REGION }}

- name: Get Branch Names
id: branch-name
uses: tj-actions/branch-names@v7

- name: Store Build on AWS
run: |
cd $GITHUB_WORKSPACE
ls
CURRENT_BRANCH=${{ steps.branch-name.outputs.head_ref_branch }}
echo $CURRENT_BRANCH
aws s3 rm s3://openbci-public-gui-v6/latest --recursive --exclude "*" --include "openbcigui_*_linux64.zip"
aws s3 cp $GITHUB_WORKSPACE/. s3://openbci-public-gui-v6/${CURRENT_BRANCH} --recursive --exclude "*" --include "openbcigui_*_linux64.zip"
aws s3 cp $GITHUB_WORKSPACE/. s3://openbci-public-gui-v6/latest --recursive --exclude "*" --include "openbcigui_*_linux64.zip"
aws s3 rm s3://openbci-public-gui-v7/latest --recursive --exclude "*" --include "openbcigui_*_linux64.zip"
aws s3 cp $GITHUB_WORKSPACE/. s3://openbci-public-gui-v7/${CURRENT_BRANCH} --recursive --exclude "*" --include "openbcigui_*_linux64.zip"
aws s3 cp $GITHUB_WORKSPACE/. s3://openbci-public-gui-v7/latest --recursive --exclude "*" --include "openbcigui_*_linux64.zip"
31 changes: 20 additions & 11 deletions .github/workflows/mac_build_deploy.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,13 +6,13 @@ on:
branches: [master, development]
push:
branches: [master, development]

permissions:
id-token: write
contents: read

env:
AWS_REGION : us-east-1
AWS_REGION: us-east-1

jobs:
build:
Expand All @@ -28,10 +28,10 @@ jobs:
with:
python-version: '3.9'
cache: 'pip'

- name: Install Python Dependencies
run: pip install -r release/requirements.txt

- name: Install Processing
run: |
curl -O -L --insecure https://github.com/processing/processing4/releases/download/processing-1292-4.2/processing-4.2-macos-x64.zip
Expand All @@ -57,7 +57,7 @@ jobs:

- name: Run Unit Tests
run: python $GITHUB_WORKSPACE/GuiUnitTests/run-unittests.py

- name: Decrypt Certificate
run: |
openssl version
Expand All @@ -72,26 +72,35 @@ jobs:

- name: Add OSX Signing Certificate to Keychain
uses: apple-actions/import-codesign-certs@v2
with:
with:
p12-filepath: ${{ github.workspace }}/release/mac/certificate.p12
p12-password: ${{ secrets.CERTIFICATE_P12_PASSWORD }}

- name: Build
run: |
python $GITHUB_WORKSPACE/release/build.py
cp $GITHUB_WORKSPACE/OpenBCI_GUI/sketch.icns $GITHUB_WORKSPACE/application.macosx/OpenBCI_GUI.app/Contents/Resources/sketch.icns

- name: Sign Build
if: ${{ false }}
run: |
codesign -f -v -s "Developer ID Application: OpenBCI, Inc. (3P82WRGLM8)" $GITHUB_WORKSPACE/application.macosx/OpenBCI_GUI.app

- name: Debug DMG Build Settings
run: |
echo "Examining license settings in dmgbuild_settings.py..."
cat release/mac/dmgbuild_settings.py
pip install --upgrade dmgbuild

- name: Create DMG
run: |
dmgbuild -s release/mac/dmgbuild_settings.py \
-D app=$GITHUB_WORKSPACE/application.macosx/OpenBCI_GUI.app \
-D license_encoding=utf-8 \
OpenBCI_GUI $GITHUB_WORKSPACE/application.macosx.dmg

- name: Sign DMG
if: ${{ false }}
run: |
codesign -f -v -s "Developer ID Application: OpenBCI, Inc. (3P82WRGLM8)" $GITHUB_WORKSPACE/application.macosx.dmg

Expand All @@ -107,13 +116,13 @@ jobs:
- name: Get Branch Names
id: branch-name
uses: tj-actions/branch-names@v7

- name: Store Build on AWS
run: |
cd $GITHUB_WORKSPACE
ls
CURRENT_BRANCH=${{ steps.branch-name.outputs.head_ref_branch }}
echo $CURRENT_BRANCH
aws s3 rm s3://openbci-public-gui-v6/latest --recursive --exclude "*" --include "openbcigui_*_macosx.dmg"
aws s3 cp $GITHUB_WORKSPACE/. s3://openbci-public-gui-v6/${CURRENT_BRANCH} --recursive --exclude "*" --include "openbcigui_*_macosx.dmg"
aws s3 cp $GITHUB_WORKSPACE/. s3://openbci-public-gui-v6/latest --recursive --exclude "*" --include "openbcigui_*_macosx.dmg"
aws s3 rm s3://openbci-public-gui-v7/latest --recursive --exclude "*" --include "openbcigui_*_macosx.dmg"
aws s3 cp $GITHUB_WORKSPACE/. s3://openbci-public-gui-v7/${CURRENT_BRANCH} --recursive --exclude "*" --include "openbcigui_*_macosx.dmg"
aws s3 cp $GITHUB_WORKSPACE/. s3://openbci-public-gui-v7/latest --recursive --exclude "*" --include "openbcigui_*_macosx.dmg"
211 changes: 132 additions & 79 deletions .github/workflows/windows_build_deploy.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,89 +12,142 @@ permissions:
contents: read

env:
AWS_REGION : us-east-1
AWS_REGION: us-east-1

jobs:
build:
name: Build for Windows
runs-on: windows-latest

steps:
- name: Clone Repository
uses: actions/checkout@v3

- name: Install Python 3.9
uses: actions/setup-python@v4
with:
python-version: '3.9'
architecture: 'x64'

- name: Install Processing
run: |
mkdir %GITHUB_WORKSPACE%\processing
cd %GITHUB_WORKSPACE%\processing
curl -O -L --insecure https://github.com/processing/processing4/releases/download/processing-1292-4.2/processing-4.2-windows-x64.zip
ls -l %GITHUB_WORKSPACE%\processing
unzip processing-4.2-windows-x64.zip
ls -l %GITHUB_WORKSPACE%\processing\processing-4.2
mkdir %userprofile%\documents\processing\libraries
xcopy %GITHUB_WORKSPACE%\OpenBCI_GUI\libraries\* %userprofile%\documents\processing\libraries /s /i /q
ls -l %userprofile%\documents\processing\libraries
shell: cmd

- name: Set Path
run: |
echo %GITHUB_WORKSPACE%\processing\processing-4.2>>%GITHUB_PATH%
echo C:\Program Files (x86)\Windows Kits\10\bin\10.0.22621.0\x64>>%GITHUB_PATH%
shell: cmd

- name: Print Path
run: echo %PATH%
shell: cmd

- name: Check processing-java Command
run: processing-java --help
shell: cmd

- name: Run Unit Tests
run: python %GITHUB_WORKSPACE%\GuiUnitTests\run-unittests.py
shell: cmd

- name: Build
run: python %GITHUB_WORKSPACE%\release\build.py
shell: cmd

- name: Sign
run: |
dotnet tool install --global azuresigntool
mt -manifest %GITHUB_WORKSPACE%\release\windows\gui.manifest -outputresource:%GITHUB_WORKSPACE%\application.windows64\OpenBCI_GUI.exe;#1
mt -manifest %GITHUB_WORKSPACE%\release\windows\java.manifest -outputresource:%GITHUB_WORKSPACE%\application.windows64\java\bin\java.exe;#1
mt -manifest %GITHUB_WORKSPACE%\release\windows\javaw.manifest -outputresource:%GITHUB_WORKSPACE%\application.windows64\java\bin\javaw.exe;#1
azuresigntool sign --azure-key-vault-url "${{ secrets.AZURE_KEY_VAULT_URI }}" --azure-key-vault-client-id "${{ secrets.AZURE_CLIENT_ID }}" --azure-key-vault-tenant-id "${{ secrets.AZURE_TENANT_ID }}" --azure-key-vault-client-secret "${{ secrets.AZURE_CLIENT_SECRET }}" --azure-key-vault-certificate "${{ secrets.AZURE_CERT_NAME }}" --timestamp-rfc3161 http://timestamp.digicert.com --verbose %GITHUB_WORKSPACE%\application.windows64\OpenBCI_GUI.exe
shell: cmd

- name: Package
run: python %GITHUB_WORKSPACE%\release\package.py
shell: cmd

- name: Configure AWS credentials
uses: aws-actions/configure-aws-credentials@v2
with:
role-to-assume: ${{ secrets.AWS_ROLE_TO_ASSUME }}
aws-region: ${{ env.AWS_REGION }}

- name: Get Branch Names
id: branch-name
uses: tj-actions/branch-names@v7

- name: Store Build on AWS
run: |
cd ${{ github.workspace }}
ls
echo "${{ steps.branch-name.outputs.head_ref_branch }}"
set S3_BRANCH_FOLDER=s3://openbci-public-gui-v6/${{ steps.branch-name.outputs.head_ref_branch }}
echo %S3_BRANCH_FOLDER%
aws s3 rm s3://openbci-public-gui-v6/latest --recursive --exclude "*" --include "openbcigui_*_windows64.zip"
aws s3 cp ${{ github.workspace }}/. %S3_BRANCH_FOLDER% --recursive --exclude "*" --include "openbcigui_*_windows64.zip"
aws s3 cp ${{ github.workspace }}/. s3://openbci-public-gui-v6/latest --recursive --exclude "*" --include "openbcigui_*_windows64.zip"
shell: cmd
- name: Clone Repository
uses: actions/checkout@v4

- name: Install Python 3.9
uses: actions/setup-python@v5
with:
python-version: '3.9'
architecture: 'x64'

- name: Install Processing
run: |
mkdir %GITHUB_WORKSPACE%\processing
cd %GITHUB_WORKSPACE%\processing
curl -O -L --insecure https://github.com/processing/processing4/releases/download/processing-1292-4.2/processing-4.2-windows-x64.zip
ls -l %GITHUB_WORKSPACE%\processing
unzip processing-4.2-windows-x64.zip
ls -l %GITHUB_WORKSPACE%\processing\processing-4.2
mkdir %userprofile%\documents\processing\libraries
xcopy %GITHUB_WORKSPACE%\OpenBCI_GUI\libraries\* %userprofile%\documents\processing\libraries /s /i /q
ls -l %userprofile%\documents\processing\libraries
shell: cmd

- name: Set Path
run: |
echo %GITHUB_WORKSPACE%\processing\processing-4.2>>%GITHUB_PATH%
echo C:\Program Files (x86)\Windows Kits\10\bin\10.0.22621.0\x64>>%GITHUB_PATH%
shell: cmd

- name: Print Path
run: echo %PATH%
shell: cmd

- name: Check processing-java Command
run: processing-java --help
shell: cmd

- name: Update Processing Application Icon File
run: |
echo ${{ env.gui-icon-parent-folder }}
ls -l ${{ env.gui-icon-parent-folder }}
echo ${{ env.processing-icon-path }}
ls -l ${{ env.processing-icon-path }}
xcopy ${{ env.gui-icon-path }} ${{ env.processing-icon-path }} /i /y
env:
gui-icon-parent-folder: ${{ github.workspace }}\release\windows\icons\application
gui-icon-path: ${{ github.workspace }}\release\windows\icons\application\application.ico
processing-icon-path: ${{ github.workspace }}\processing\processing-4.2\modes\java\application

- name: Update Processing Core Icon Files
run: |
ren ${{ env.processing-core-folder }}\core.jar core.zip
mkdir ${{ env.processing-core-icon-path }}
ls -l ${{ env.processing-core-folder }}
unzip ${{ env.processing-core-folder }}\core.zip -d ${{ env.processing-core-unzip-path }}
del ${{ env.processing-core-folder }}\core.zip
xcopy ${{ env.gui-core-icon-path }} ${{ env.processing-core-icon-path }} /e /i /y
cd ${{ env.processing-core-unzip-path }}
ls -l
7z a -r core.zip *
ren core.zip core.jar
echo "Updated Processing Core Icon Files"
ls -l
move core.jar ${{ env.processing-core-updated-jar-path }}
cd ${{ env.processing-core-updated-jar-path }}
rmdir ${{ env.processing-core-icon-path }} /s /q
ls -l
env:
processing-core-folder: ${{ github.workspace }}\processing\processing-4.2\core\library\
processing-core-unzip-path: ${{ github.workspace }}\processing\processing-4.2\core\library\core
gui-core-icon-path: ${{ github.workspace }}\release\windows\icons\core\*
processing-core-icon-path: ${{ github.workspace }}\processing\processing-4.2\core\library\core\icon
processing-core-updated-jar-path: ${{ github.workspace }}\processing\processing-4.2\core\library\
shell: cmd

- name: Run Unit Tests
run: python %GITHUB_WORKSPACE%\GuiUnitTests\run-unittests.py
shell: cmd

- name: Build
run: python %GITHUB_WORKSPACE%\release\build.py
shell: cmd

- name: Sign Executables
if: ${{ true }}
run: |
dotnet tool install --global azuresigntool
mt -manifest %GITHUB_WORKSPACE%\release\windows\gui.manifest -outputresource:%GITHUB_WORKSPACE%\application.windows64\OpenBCI_GUI.exe;#1
mt -manifest %GITHUB_WORKSPACE%\release\windows\java.manifest -outputresource:%GITHUB_WORKSPACE%\application.windows64\java\bin\java.exe;#1
mt -manifest %GITHUB_WORKSPACE%\release\windows\javaw.manifest -outputresource:%GITHUB_WORKSPACE%\application.windows64\java\bin\javaw.exe;#1
azuresigntool sign --azure-key-vault-url "${{ secrets.AZURE_KEY_VAULT_URI }}" --azure-key-vault-client-id "${{ secrets.AZURE_CLIENT_ID }}" --azure-key-vault-tenant-id "${{ secrets.AZURE_TENANT_ID }}" --azure-key-vault-client-secret "${{ secrets.AZURE_CLIENT_SECRET }}" --azure-key-vault-certificate "${{ secrets.AZURE_CERT_NAME }}" --timestamp-rfc3161 http://timestamp.digicert.com --verbose %GITHUB_WORKSPACE%\application.windows64\OpenBCI_GUI.exe
shell: cmd

- name: Package
id: package
run: python %GITHUB_WORKSPACE%\release\package.py
shell: cmd

- name: Sign MSI Package
if: ${{ true }}
run: |
azuresigntool sign --azure-key-vault-url "${{ secrets.AZURE_KEY_VAULT_URI }}" --azure-key-vault-client-id "${{ secrets.AZURE_CLIENT_ID }}" --azure-key-vault-tenant-id "${{ secrets.AZURE_TENANT_ID }}" --azure-key-vault-client-secret "${{ secrets.AZURE_CLIENT_SECRET }}" --azure-key-vault-certificate "${{ secrets.AZURE_CERT_NAME }}" --timestamp-rfc3161 http://timestamp.digicert.com --verbose ${{ env.msi-path }}
env:
msi-path: ${{ steps.package.outputs.msi_path }}
shell: cmd

- name: Configure AWS credentials
uses: aws-actions/configure-aws-credentials@v4
with:
role-to-assume: ${{ secrets.AWS_ROLE_TO_ASSUME }}
aws-region: ${{ env.AWS_REGION }}

- name: Get Branch Names
id: branch-name
uses: tj-actions/branch-names@v8

- name: Store Build on AWS
run: |
cd ${{ env.msi-path }}
ls
echo "${{ steps.branch-name.outputs.head_ref_branch }}"
set S3_BRANCH_FOLDER=s3://openbci-public-gui-v7/${{ steps.branch-name.outputs.head_ref_branch }}
echo Branch Folder: %S3_BRANCH_FOLDER%
set S3_LATEST_FOLDER=s3://openbci-public-gui-v7/latest
echo Latest Folder: %S3_LATEST_FOLDER%
aws s3 rm %S3_LATEST_FOLDER% --recursive --exclude "*" --include "*.msi"
aws s3 rm %S3_BRANCH_FOLDER% --recursive --exclude "*" --include "*.msi"
aws s3 cp . %S3_BRANCH_FOLDER% --recursive --exclude "*" --include "*.msi"
aws s3 cp . %S3_LATEST_FOLDER% --recursive --exclude "*" --include "*.msi"
env:
msi-path: ${{ github.workspace }}\release\wix\bin\Release\en-US\
shell: cmd
Loading