mirror of
https://github.com/DJ2LS/FreeDATA
synced 2024-05-14 08:04:33 +00:00
Merge branch 'develop' of github.com:DJ2LS/FreeDATA into develop
This commit is contained in:
commit
bd18d85722
187 changed files with 193 additions and 181 deletions
2
.github/dependabot.yml
vendored
2
.github/dependabot.yml
vendored
|
@ -11,7 +11,7 @@ updates:
|
|||
|
||||
# Maintain dependencies for npm
|
||||
- package-ecosystem: "npm"
|
||||
directory: "/freedata-gui"
|
||||
directory: "/freedata_gui"
|
||||
schedule:
|
||||
interval: "monthly"
|
||||
target-branch: "develop"
|
||||
|
|
15
.github/workflows/build_appimage_bundle.yml
vendored
15
.github/workflows/build_appimage_bundle.yml
vendored
|
@ -14,8 +14,13 @@ jobs:
|
|||
with:
|
||||
python-version: "3.11"
|
||||
|
||||
- name: Install Node.js, NPM and Yarn
|
||||
uses: actions/setup-node@v4
|
||||
with:
|
||||
node-version: 20
|
||||
|
||||
- name: Electron Builder
|
||||
working-directory: freedata-gui
|
||||
working-directory: freedata_gui
|
||||
run: |
|
||||
npm i
|
||||
npm run build
|
||||
|
@ -33,7 +38,7 @@ jobs:
|
|||
pip install -r requirements.txt
|
||||
|
||||
- name: Build binaries
|
||||
working-directory: freedata-server
|
||||
working-directory: freedata_server
|
||||
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
|
||||
|
||||
|
@ -46,16 +51,16 @@ jobs:
|
|||
|
||||
- name: Copy GUI
|
||||
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
|
||||
run: |
|
||||
cp -r modem/server.dist/* $HOME/freedata-appimage/server
|
||||
cp -r freedata_server/server.dist/* $HOME/freedata-appimage/server
|
||||
|
||||
- name: Copy Icon
|
||||
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
|
||||
run: |
|
||||
|
|
37
.github/workflows/build_gui.yml
vendored
37
.github/workflows/build_gui.yml
vendored
|
@ -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
|
6
.github/workflows/build_nsis_bundle.yml
vendored
6
.github/workflows/build_nsis_bundle.yml
vendored
|
@ -15,7 +15,7 @@ jobs:
|
|||
python-version: "3.11"
|
||||
|
||||
- name: Electron Builder
|
||||
working-directory: freedata-gui
|
||||
working-directory: freedata_gui
|
||||
run: |
|
||||
npm i
|
||||
npm run build
|
||||
|
@ -34,10 +34,10 @@ jobs:
|
|||
fileName: " hamlib-w64-*.zip"
|
||||
latest: true
|
||||
extract: true
|
||||
out-file-path: "freedata-server/lib/hamlib/"
|
||||
out-file-path: "freedata_server/lib/hamlib/"
|
||||
|
||||
- name: Build binaries
|
||||
working-directory: freedata-server
|
||||
working-directory: freedata_server
|
||||
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
|
||||
|
||||
|
|
28
.github/workflows/build_server.yml
vendored
28
.github/workflows/build_server.yml
vendored
|
@ -8,22 +8,22 @@ jobs:
|
|||
strategy:
|
||||
fail-fast: false
|
||||
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:
|
||||
- os: ubuntu-20.04
|
||||
zip_name: freedata-server_ubuntu
|
||||
generator: Unix Makefiles
|
||||
modem_binary_name: freedata-server
|
||||
modem_binary_name: freedata_server
|
||||
|
||||
- os: macos-latest
|
||||
zip_name: freedata-server_macos
|
||||
generator: Unix Makefiles
|
||||
modem_binary_name: freedata-server
|
||||
modem_binary_name: freedata_server
|
||||
|
||||
- os: windows-latest
|
||||
zip_name: freedata-server_windows
|
||||
generator: Visual Studio 16 2019
|
||||
modem_binary_name: freedata-server.exe
|
||||
modem_binary_name: freedata_server.exe
|
||||
|
||||
steps:
|
||||
- name: Checkout code for ${{ matrix.platform.name }}
|
||||
|
@ -62,26 +62,26 @@ jobs:
|
|||
CERTIFICATE_PASSWORD: ${{ secrets.CERTIFICATE_PASSWORD }}
|
||||
|
||||
- name: Build binaries
|
||||
working-directory: freedata-server
|
||||
working-directory: freedata_server
|
||||
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
|
||||
|
||||
#- name: Download Portaudio binaries Linux macOS
|
||||
# if: ${{!startsWith(matrix.os, 'windows')}}
|
||||
# working-directory: freedata-server
|
||||
# working-directory: freedata_server
|
||||
# run: |
|
||||
# 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
|
||||
# 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
|
||||
# fi
|
||||
|
||||
#- name: Download Portaudio binaries Windows
|
||||
# if: ${{startsWith(matrix.os, 'windows')}}
|
||||
# working-directory: freedata-server
|
||||
# working-directory: freedata_server
|
||||
# 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"
|
||||
# } 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
|
||||
|
@ -99,7 +99,7 @@ jobs:
|
|||
with:
|
||||
type: 'zip'
|
||||
filename: '${{ matrix.zip_name }}.zip'
|
||||
directory: ./freedata-server/server.dist
|
||||
directory: ./freedata_server/server.dist
|
||||
path: .
|
||||
# exclusions: '*.git* /*node_modules/* .editorconfig'
|
||||
|
||||
|
@ -110,14 +110,14 @@ jobs:
|
|||
uses: actions/upload-artifact@v4
|
||||
with:
|
||||
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
|
||||
uses: softprops/action-gh-release@v2
|
||||
if: startsWith(github.ref, 'refs/tags/v')
|
||||
with:
|
||||
draft: true
|
||||
files: ./freedata-server/server.dist/${{ matrix.zip_name }}.zip
|
||||
files: ./freedata_server/server.dist/${{ matrix.zip_name }}.zip
|
||||
|
||||
- name: LIST ALL FILES
|
||||
run: ls -R
|
||||
|
|
4
.github/workflows/gui_tests.yml
vendored
4
.github/workflows/gui_tests.yml
vendored
|
@ -28,11 +28,11 @@ jobs:
|
|||
node-version: ${{ matrix.node-version }}
|
||||
|
||||
- name: Install dependencies
|
||||
working-directory: freedata-gui
|
||||
working-directory: freedata_gui
|
||||
run: |
|
||||
npm i
|
||||
|
||||
- name: GUI Test
|
||||
working-directory: freedata-gui
|
||||
working-directory: freedata_gui
|
||||
run: |
|
||||
npm run test
|
7
.github/workflows/pip_package.yml
vendored
7
.github/workflows/pip_package.yml
vendored
|
@ -1,10 +1,5 @@
|
|||
name: Deploy Python Package
|
||||
on:
|
||||
push:
|
||||
tags:
|
||||
- '*'
|
||||
branches:
|
||||
- main
|
||||
on: [push]
|
||||
|
||||
jobs:
|
||||
deploy:
|
||||
|
|
16
.gitignore
vendored
16
.gitignore
vendored
|
@ -1,5 +1,5 @@
|
|||
# possible installation of codec2 within freedata-server
|
||||
freedata-server/codec2
|
||||
# possible installation of codec2 within freedata_server
|
||||
freedata_server/codec2
|
||||
|
||||
# temporary test artifacts
|
||||
**/build
|
||||
|
@ -24,12 +24,12 @@ coverage.sh
|
|||
coverage.xml
|
||||
|
||||
#ignore node_modules
|
||||
/freedata-gui/node_modules/
|
||||
/freedata_gui/node_modules/
|
||||
|
||||
#Ignore freedata-gui build items
|
||||
/freedata-gui/dist
|
||||
/freedata-gui/release
|
||||
/freedata-gui/dist-electron
|
||||
#Ignore freedata_gui build items
|
||||
/freedata_gui/dist
|
||||
/freedata_gui/release
|
||||
/freedata_gui/dist-electron
|
||||
|
||||
#Ignore GUI config
|
||||
/freedata-gui/config/config.json
|
||||
/freedata_gui/config/config.json
|
|
@ -2,4 +2,4 @@
|
|||
build
|
||||
coverage
|
||||
assets
|
||||
freedata-gui/src/waterfall
|
||||
freedata_gui/src/waterfall
|
|
@ -53,7 +53,7 @@ Section "FreeData Server" SEC01
|
|||
|
||||
doneBackup:
|
||||
; 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
|
||||
IfFileExists $INSTDIR\freedata-server\config.ini.bak restoreConfig
|
||||
|
@ -93,7 +93,7 @@ Section "FreeData x64 GUI" SEC02
|
|||
SetOutPath $INSTDIR\freedata-gui
|
||||
|
||||
; 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
|
||||
CreateShortCut "$DESKTOP\FreeDATA GUI.lnk" "$INSTDIR\freedata-gui\freedata.exe"
|
||||
|
|
16
freedata_gui/build/entitlements.plist
Normal file
16
freedata_gui/build/entitlements.plist
Normal 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>
|
Before Width: | Height: | Size: 590 KiB After Width: | Height: | Size: 590 KiB |
24
freedata_gui/build/notarize_macos.js
Normal file
24
freedata_gui/build/notarize_macos.js
Normal 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;
|
|
@ -2,7 +2,7 @@
|
|||
"name": "FreeDATA",
|
||||
"description": "FreeDATA Client application for connecting to FreeDATA server",
|
||||
"private": true,
|
||||
"version": "0.15.2-alpha",
|
||||
"version": "0.15.4-alpha",
|
||||
"main": "dist-electron/main/index.js",
|
||||
"scripts": {
|
||||
"start": "vite",
|
||||
|
@ -74,7 +74,7 @@
|
|||
"eslint-plugin-promise": "6.1.1",
|
||||
"eslint-plugin-vue": "9.22.0",
|
||||
"typescript": "5.3.3",
|
||||
"vite": "5.1.3",
|
||||
"vite": "5.1.7",
|
||||
"vite-plugin-electron": "0.28.2",
|
||||
"vite-plugin-electron-renderer": "0.14.5",
|
||||
"vitest": "1.4.0",
|
BIN
freedata_gui/public/icon_cube_border.png
Normal file
BIN
freedata_gui/public/icon_cube_border.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 590 KiB |
|
@ -108,7 +108,7 @@ export function getAppDataPath() {
|
|||
// Check if running in GitHub Actions
|
||||
const isGitHubActions = process.env.GITHUB_ACTIONS === "true";
|
||||
if (isGitHubActions) {
|
||||
return "/home/runner/work/FreeDATA/FreeDATA/gui/config";
|
||||
return "/home/runner/work/FreeDATA/FreeDATA/freedata_gui/config";
|
||||
}
|
||||
|
||||
switch (platform) {
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Reference in a new issue