Merge branch 'develop' of github.com:DJ2LS/FreeDATA into develop

This commit is contained in:
Mashintime 2024-04-18 16:31:51 -04:00
commit bd18d85722
187 changed files with 193 additions and 181 deletions

View file

@ -11,7 +11,7 @@ updates:
# Maintain dependencies for npm # Maintain dependencies for npm
- package-ecosystem: "npm" - package-ecosystem: "npm"
directory: "/freedata-gui" directory: "/freedata_gui"
schedule: schedule:
interval: "monthly" interval: "monthly"
target-branch: "develop" target-branch: "develop"

View file

@ -14,8 +14,13 @@ jobs:
with: with:
python-version: "3.11" python-version: "3.11"
- name: Install Node.js, NPM and Yarn
uses: actions/setup-node@v4
with:
node-version: 20
- name: Electron Builder - name: Electron Builder
working-directory: freedata-gui working-directory: freedata_gui
run: | run: |
npm i npm i
npm run build npm run build
@ -33,7 +38,7 @@ jobs:
pip install -r requirements.txt pip install -r requirements.txt
- name: Build binaries - name: Build binaries
working-directory: freedata-server working-directory: freedata_server
run: | run: |
python3 -m nuitka --remove-output --assume-yes-for-downloads --follow-imports --include-data-dir=lib=lib --include-data-files=lib/codec2/*=lib/codec2/ --include-data-files=config.ini.example=config.ini --standalone server.py --output-filename=freedata-server python3 -m nuitka --remove-output --assume-yes-for-downloads --follow-imports --include-data-dir=lib=lib --include-data-files=lib/codec2/*=lib/codec2/ --include-data-files=config.ini.example=config.ini --standalone server.py --output-filename=freedata-server
@ -46,16 +51,16 @@ jobs:
- name: Copy GUI - name: Copy GUI
run: | run: |
cp -r gui/release/linux-unpacked/* $HOME/freedata-appimage/gui cp -r freedata_gui/release/linux-unpacked/* $HOME/freedata-appimage/gui
- name: Copy server - name: Copy server
run: | run: |
cp -r modem/server.dist/* $HOME/freedata-appimage/server cp -r freedata_server/server.dist/* $HOME/freedata-appimage/server
- name: Copy Icon - name: Copy Icon
run: | run: |
cp gui/build/icon.png $HOME/freedata-appimage/icon.png cp freedata_gui/build/icon.png $HOME/freedata-appimage/icon.png
- name: Create Desktop shortcut - name: Create Desktop shortcut
run: | run: |

View file

@ -1,37 +0,0 @@
name: build_gui
on: [push]
jobs:
build_i686_x64_release:
name: Build FreeDATA GUI
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os: [ubuntu-20.04, macos-latest, windows-latest]
include:
- os: ubuntu-20.04
electron_parameters: "-p always"
- os: macos-latest
electron_parameters: "-p always"
- os: windows-latest
electron_parameters: "-p always --x64 --ia32"
steps:
- name: Checkout code for ${{ matrix.platform.name }}
uses: actions/checkout@v4
with:
repository: DJ2LS/FreeDATA
- name: Electron Builder
env: # Setting environment variables for the entire job
GH_TOKEN: ${{ secrets.github_token }}
APPLE_ID: ${{ secrets.APPLE_ID }}
APPLE_ID_PASSWORD: ${{ secrets.APPLE_ID_PASSWORD }}
APPLE_APP_SPECIFIC_PASSWORD: ${{ secrets.APPLE_ID_PASSWORD }}
APPLE_TEAM_ID: ${{ secrets.APPLE_TEAM_ID }}
working-directory: freedata-gui
run: |
npm i
npm run release

View file

@ -15,7 +15,7 @@ jobs:
python-version: "3.11" python-version: "3.11"
- name: Electron Builder - name: Electron Builder
working-directory: freedata-gui working-directory: freedata_gui
run: | run: |
npm i npm i
npm run build npm run build
@ -34,10 +34,10 @@ jobs:
fileName: " hamlib-w64-*.zip" fileName: " hamlib-w64-*.zip"
latest: true latest: true
extract: true extract: true
out-file-path: "freedata-server/lib/hamlib/" out-file-path: "freedata_server/lib/hamlib/"
- name: Build binaries - name: Build binaries
working-directory: freedata-server working-directory: freedata_server
run: | run: |
python3 -m nuitka --remove-output --assume-yes-for-downloads --follow-imports --include-data-dir=lib=lib --include-data-files=lib/codec2/*=lib/codec2/ --include-data-files=config.ini.example=config.ini --standalone server.py --output-filename=freedata-server python3 -m nuitka --remove-output --assume-yes-for-downloads --follow-imports --include-data-dir=lib=lib --include-data-files=lib/codec2/*=lib/codec2/ --include-data-files=config.ini.example=config.ini --standalone server.py --output-filename=freedata-server

View file

@ -8,22 +8,22 @@ jobs:
strategy: strategy:
fail-fast: false fail-fast: false
matrix: matrix:
os: [ubuntu-20.04, macos-latest, windows-latest] os: [ubuntu-20.04, windows-latest] # removed macos-latest as it's broken for now
include: include:
- os: ubuntu-20.04 - os: ubuntu-20.04
zip_name: freedata-server_ubuntu zip_name: freedata-server_ubuntu
generator: Unix Makefiles generator: Unix Makefiles
modem_binary_name: freedata-server modem_binary_name: freedata_server
- os: macos-latest - os: macos-latest
zip_name: freedata-server_macos zip_name: freedata-server_macos
generator: Unix Makefiles generator: Unix Makefiles
modem_binary_name: freedata-server modem_binary_name: freedata_server
- os: windows-latest - os: windows-latest
zip_name: freedata-server_windows zip_name: freedata-server_windows
generator: Visual Studio 16 2019 generator: Visual Studio 16 2019
modem_binary_name: freedata-server.exe modem_binary_name: freedata_server.exe
steps: steps:
- name: Checkout code for ${{ matrix.platform.name }} - name: Checkout code for ${{ matrix.platform.name }}
@ -62,26 +62,26 @@ jobs:
CERTIFICATE_PASSWORD: ${{ secrets.CERTIFICATE_PASSWORD }} CERTIFICATE_PASSWORD: ${{ secrets.CERTIFICATE_PASSWORD }}
- name: Build binaries - name: Build binaries
working-directory: freedata-server working-directory: freedata_server
run: | run: |
python3 -m nuitka --remove-output --assume-yes-for-downloads --follow-imports --include-data-dir=lib=lib --include-data-files=lib/codec2/*=lib/codec2/ --include-data-files=config.ini.example=config.ini --standalone server.py --output-filename=freedata-server python3 -m nuitka --remove-output --assume-yes-for-downloads --follow-imports --include-data-dir=lib=lib --include-data-files=lib/codec2/*=lib/codec2/ --include-data-files=config.ini.example=config.ini --standalone server.py --output-filename=freedata-server
#- name: Download Portaudio binaries Linux macOS #- name: Download Portaudio binaries Linux macOS
# if: ${{!startsWith(matrix.os, 'windows')}} # if: ${{!startsWith(matrix.os, 'windows')}}
# working-directory: freedata-server # working-directory: freedata_server
# run: | # run: |
# if ! test -d "server.dist/freedata-server/_sounddevice_data"; then # if ! test -d "server.dist/freedata_server/_sounddevice_data"; then
# git clone https://github.com/spatialaudio/portaudio-binaries dist/freedata-server/_sounddevice_data/portaudio-binaries # git clone https://github.com/spatialaudio/portaudio-binaries dist/freedata_server/_sounddevice_data/portaudio-binaries
# fi # fi
#- name: Download Portaudio binaries Windows #- name: Download Portaudio binaries Windows
# if: ${{startsWith(matrix.os, 'windows')}} # if: ${{startsWith(matrix.os, 'windows')}}
# working-directory: freedata-server # working-directory: freedata_server
# run: | # run: |
# if(Test-Path -Path "server.dist/freedata-server/_sounddevice_data"){ # if(Test-Path -Path "server.dist/freedata_server/_sounddevice_data"){
# echo "sounddevice folder already exists" # echo "sounddevice folder already exists"
# } else { # } else {
# git clone https://github.com/spatialaudio/portaudio-binaries dist/freedata-server/_sounddevice_data/portaudio-binaries # git clone https://github.com/spatialaudio/portaudio-binaries dist/freedata_server/_sounddevice_data/portaudio-binaries
# } # }
- name: LIST ALL FILES - name: LIST ALL FILES
@ -99,7 +99,7 @@ jobs:
with: with:
type: 'zip' type: 'zip'
filename: '${{ matrix.zip_name }}.zip' filename: '${{ matrix.zip_name }}.zip'
directory: ./freedata-server/server.dist directory: ./freedata_server/server.dist
path: . path: .
# exclusions: '*.git* /*node_modules/* .editorconfig' # exclusions: '*.git* /*node_modules/* .editorconfig'
@ -110,14 +110,14 @@ jobs:
uses: actions/upload-artifact@v4 uses: actions/upload-artifact@v4
with: with:
name: '${{ matrix.zip_name }}' name: '${{ matrix.zip_name }}'
path: ./freedata-server/server.dist/${{ matrix.zip_name }}.zip path: ./freedata_server/server.dist/${{ matrix.zip_name }}.zip
- name: Release Modem - name: Release Modem
uses: softprops/action-gh-release@v2 uses: softprops/action-gh-release@v2
if: startsWith(github.ref, 'refs/tags/v') if: startsWith(github.ref, 'refs/tags/v')
with: with:
draft: true draft: true
files: ./freedata-server/server.dist/${{ matrix.zip_name }}.zip files: ./freedata_server/server.dist/${{ matrix.zip_name }}.zip
- name: LIST ALL FILES - name: LIST ALL FILES
run: ls -R run: ls -R

View file

@ -28,11 +28,11 @@ jobs:
node-version: ${{ matrix.node-version }} node-version: ${{ matrix.node-version }}
- name: Install dependencies - name: Install dependencies
working-directory: freedata-gui working-directory: freedata_gui
run: | run: |
npm i npm i
- name: GUI Test - name: GUI Test
working-directory: freedata-gui working-directory: freedata_gui
run: | run: |
npm run test npm run test

View file

@ -1,10 +1,5 @@
name: Deploy Python Package name: Deploy Python Package
on: on: [push]
push:
tags:
- '*'
branches:
- main
jobs: jobs:
deploy: deploy:

16
.gitignore vendored
View file

@ -1,5 +1,5 @@
# possible installation of codec2 within freedata-server # possible installation of codec2 within freedata_server
freedata-server/codec2 freedata_server/codec2
# temporary test artifacts # temporary test artifacts
**/build **/build
@ -24,12 +24,12 @@ coverage.sh
coverage.xml coverage.xml
#ignore node_modules #ignore node_modules
/freedata-gui/node_modules/ /freedata_gui/node_modules/
#Ignore freedata-gui build items #Ignore freedata_gui build items
/freedata-gui/dist /freedata_gui/dist
/freedata-gui/release /freedata_gui/release
/freedata-gui/dist-electron /freedata_gui/dist-electron
#Ignore GUI config #Ignore GUI config
/freedata-gui/config/config.json /freedata_gui/config/config.json

View file

@ -2,4 +2,4 @@
build build
coverage coverage
assets assets
freedata-gui/src/waterfall freedata_gui/src/waterfall

View file

@ -53,7 +53,7 @@ Section "FreeData Server" SEC01
doneBackup: doneBackup:
; Add your application files here ; Add your application files here
File /r "modem\server.dist\*" File /r "freedata-server\server.dist\*"
; Restore the original "config.ini" if it was backed up ; Restore the original "config.ini" if it was backed up
IfFileExists $INSTDIR\freedata-server\config.ini.bak restoreConfig IfFileExists $INSTDIR\freedata-server\config.ini.bak restoreConfig
@ -93,7 +93,7 @@ Section "FreeData x64 GUI" SEC02
SetOutPath $INSTDIR\freedata-gui SetOutPath $INSTDIR\freedata-gui
; Add GUI files here ; Add GUI files here
File /r "gui\release\win-unpacked\*" File /r "freedata-gui\release\win-unpacked\*"
; Create a shortcut on the desktop for the GUI ; Create a shortcut on the desktop for the GUI
CreateShortCut "$DESKTOP\FreeDATA GUI.lnk" "$INSTDIR\freedata-gui\freedata.exe" CreateShortCut "$DESKTOP\FreeDATA GUI.lnk" "$INSTDIR\freedata-gui\freedata.exe"

View file

@ -0,0 +1,16 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>com.apple.security.cs.allow-jit</key>
<true/>
<key>com.apple.security.cs.allow-unsigned-executable-memory</key>
<true/>
<key>com.apple.security.cs.disable-library-validation</key>
<true/>
<key>com.apple.security.cs.disable-executable-page-protection</key>
<true/>
<key>com.apple.security.automation.apple-events</key>
<true/>
</dict>
</plist>

View file

Before

Width:  |  Height:  |  Size: 590 KiB

After

Width:  |  Height:  |  Size: 590 KiB

View file

@ -0,0 +1,24 @@
const { notarize } = require('@electron/notarize');
async function notarizing(context) {
const { electronPlatformName, appOutDir } = context;
console.log("Notarization...")
if (electronPlatformName !== 'darwin') {
console.log("--> Platform:" + electronPlatformName + " detected: not a APPLE system. Skipping")
return;
}
console.log("--> Platform:" + electronPlatformName + " detected: Trying to notarize app.")
const appName = context.packager.appInfo.productFilename;
return await notarize({
tool: 'notarytool',
appBundleId: 'app.freedata',
appPath: `${appOutDir}/${appName}.app`,
appleId: process.env.APPLE_ID,
appleIdPassword: process.env.APPLE_ID_PASSWORD,
teamId: process.env.APPLE_TEAM_ID
});
}
exports.default = notarizing;

View file

@ -2,7 +2,7 @@
"name": "FreeDATA", "name": "FreeDATA",
"description": "FreeDATA Client application for connecting to FreeDATA server", "description": "FreeDATA Client application for connecting to FreeDATA server",
"private": true, "private": true,
"version": "0.15.2-alpha", "version": "0.15.4-alpha",
"main": "dist-electron/main/index.js", "main": "dist-electron/main/index.js",
"scripts": { "scripts": {
"start": "vite", "start": "vite",
@ -74,7 +74,7 @@
"eslint-plugin-promise": "6.1.1", "eslint-plugin-promise": "6.1.1",
"eslint-plugin-vue": "9.22.0", "eslint-plugin-vue": "9.22.0",
"typescript": "5.3.3", "typescript": "5.3.3",
"vite": "5.1.3", "vite": "5.1.7",
"vite-plugin-electron": "0.28.2", "vite-plugin-electron": "0.28.2",
"vite-plugin-electron-renderer": "0.14.5", "vite-plugin-electron-renderer": "0.14.5",
"vitest": "1.4.0", "vitest": "1.4.0",

Binary file not shown.

After

Width:  |  Height:  |  Size: 590 KiB

View file

@ -108,7 +108,7 @@ export function getAppDataPath() {
// Check if running in GitHub Actions // Check if running in GitHub Actions
const isGitHubActions = process.env.GITHUB_ACTIONS === "true"; const isGitHubActions = process.env.GITHUB_ACTIONS === "true";
if (isGitHubActions) { if (isGitHubActions) {
return "/home/runner/work/FreeDATA/FreeDATA/gui/config"; return "/home/runner/work/FreeDATA/FreeDATA/freedata_gui/config";
} }
switch (platform) { switch (platform) {

Some files were not shown because too many files have changed in this diff Show more