2022-02-16 08:11:32 +00:00
name : Windows Nightly
2022-02-16 06:34:45 +00:00
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 : 14
- name : Build/release Electron app
uses : samuelmeuli/action-electron-builder@v1
with :
package_root : "./gui/"
github_token : ${{ secrets.github_token }}
- 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'
2022-02-16 08:11:32 +00:00
directory : ./gui-bundle/win-unpacked/
2022-02-16 06:34:45 +00:00
path : .
#exclusions: '*.git* /*node_modules/* .editorconfig'
- name : Upload Windows GUI Bundle artifacts
uses : actions/upload-artifact@v2
with :
name : gui-bundle-windows-artifact
2022-02-16 08:19:08 +00:00
path : ./gui-bundle/win-unpacked/FreeDATA_windows.zip
2022-02-16 06:34:45 +00:00
- 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)
2022-02-16 08:26:25 +00:00
asset_path : ./gui-bundle/win-unpacked/FreeDATA_windows.zip # path to archive to upload
2022-02-16 06:34:45 +00:00
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