mirror of
https://github.com/DJ2LS/FreeDATA
synced 2024-05-14 08:04:33 +00:00
35bb004c9e
a first test with github build scripts and a possible auto updater for the app bundle. This feature is really needed to ensure the user always has the latest version of the gui. Specially in the first phase of releasing the app, there are a lot of changes. This makes the overall usability hopefully easier! Everyone who's getting github notifictaions: this might cause a lot of emails now. Sorry for this..
137 lines
4.4 KiB
YAML
137 lines
4.4 KiB
YAML
name: Windows Nightly
|
|
on:
|
|
push:
|
|
#tags:
|
|
#- '*'
|
|
|
|
jobs:
|
|
|
|
build_windows_release:
|
|
name: Build Windows release
|
|
runs-on: ${{ matrix.os }}
|
|
strategy:
|
|
matrix:
|
|
os: [windows-latest]
|
|
include:
|
|
- os: windows-latest
|
|
zip_name: windows_tnc
|
|
generator: Visual Studio 16 2019
|
|
|
|
steps:
|
|
- name: Checkout code
|
|
uses: actions/checkout@v2
|
|
with:
|
|
ref: ls-leave-prototype
|
|
|
|
- name: Set up Python 3.9
|
|
uses: actions/setup-python@v2
|
|
with:
|
|
python-version: 3.9
|
|
|
|
- name: Install Python dependencies
|
|
if: matrix.os == 'windows-latest'
|
|
run: |
|
|
python -m pip install --upgrade pip
|
|
pip install psutil
|
|
pip install crcengine
|
|
pip install pyinstaller
|
|
pip install ujson
|
|
pip install pyserial
|
|
pip install numpy
|
|
pip install structlog
|
|
pip install colorama
|
|
# curl.exe --output PyAudio-0.2.11-cp39-cp39-win_amd64.whl --url https://download.lfd.uci.edu/pythonlibs/y2rycu7g/PyAudio-0.2.11-cp39-cp39-win_amd64.whl
|
|
# pip install PyAudio-0.2.11-cp39-cp39-win_amd64.whl
|
|
|
|
- name: Install Pyaudio
|
|
if: matrix.os == 'windows-latest'
|
|
working-directory: tnc/lib/pyaudio/windows
|
|
run: |
|
|
pip install PyAudio-0.2.11-cp39-cp39-win_amd64.whl
|
|
|
|
|
|
- name: Build Windows Daemon and TNC
|
|
if: matrix.os == 'windows-latest'
|
|
working-directory: tnc
|
|
run: |
|
|
pyinstaller freedata.spec
|
|
|
|
|
|
- name: LIST ALL FILES
|
|
shell: bash
|
|
run: |
|
|
ls -R
|
|
|
|
#- name: Build codec2
|
|
# shell: bash
|
|
# run: |
|
|
# choco install ninja cmake
|
|
# ninja --version
|
|
# cmake --version
|
|
|
|
- name: Install Node.js, NPM and Yarn
|
|
uses: actions/setup-node@v1
|
|
with:
|
|
node-version: 16
|
|
|
|
|
|
- name: Build/release Electron app
|
|
uses: samuelmeuli/action-electron-builder@v1
|
|
with:
|
|
package_root: "./gui/"
|
|
github_token: ${{ secrets.github_token }}
|
|
# If the commit is tagged with a version (e.g. "v1.0.0"),
|
|
# release the app after building
|
|
release: ${{ startsWith(github.ref, 'refs/tags/v') }}
|
|
|
|
- name: LIST ALL FILES
|
|
shell: bash
|
|
run: |
|
|
ls -R
|
|
|
|
|
|
- name: Create app bundle
|
|
shell: bash
|
|
run: |
|
|
mkdir gui-bundle
|
|
cp -R ./gui/dist/win-unpacked/ gui-bundle
|
|
cp -R ./tnc/dist/tnc gui-bundle/win-unpacked
|
|
|
|
- name: LIST ALL FILES
|
|
shell: bash
|
|
run: |
|
|
ls -R
|
|
|
|
|
|
- name: Archive Release
|
|
uses: thedoctor0/zip-release@master
|
|
with:
|
|
type: 'zip'
|
|
filename: 'FreeDATA_windows.zip'
|
|
directory: ./gui-bundle/win-unpacked/
|
|
path: .
|
|
#exclusions: '*.git* /*node_modules/* .editorconfig'
|
|
|
|
- name: Upload Windows GUI Bundle artifacts
|
|
uses: actions/upload-artifact@v2
|
|
with:
|
|
name: gui-bundle-windows-artifact
|
|
path: ./gui-bundle/win-unpacked/FreeDATA_windows.zip
|
|
|
|
- name: LIST ALL FILES
|
|
shell: bash
|
|
run: |
|
|
ls -R
|
|
|
|
- name: Release
|
|
uses: WebFreak001/deploy-nightly@v1.1.0
|
|
env:
|
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
with:
|
|
upload_url: https://uploads.github.com/repos/DJ2LS/FreeDATA/releases/48616289/assets{?name,label} # find out this value by opening https://api.github.com/repos/<owner>/<repo>/releases in your browser and copy the full "upload_url" value including the {?name,label} part
|
|
release_id: 48616289 # same as above (id can just be taken out the upload_url, it's used to find old releases)
|
|
asset_path: ./gui-bundle/win-unpacked/FreeDATA_windows.zip # path to archive to upload
|
|
asset_name: FreeDATA_windows-nightly-$$.zip # name to upload the release as, use $$ to insert date (YYYYMMDD) and 6 letter commit hash
|
|
asset_content_type: application/zip # required by GitHub API
|
|
max_releases: 1 # optional, if there are more releases than this matching the asset_name, the oldest ones are going to be deleted
|
|
|