111 lines
2.9 KiB
YAML
111 lines
2.9 KiB
YAML
name: CI
|
|
|
|
on: [push, pull_request]
|
|
|
|
jobs:
|
|
build-linux:
|
|
runs-on: ubuntu-16.04
|
|
|
|
steps:
|
|
- uses: actions/checkout@v2
|
|
- uses: actions/setup-python@v1
|
|
with:
|
|
python-version: '3.6.x'
|
|
|
|
- name: Install dependencies
|
|
run: |
|
|
sudo apt-get install libusb-1.0-0-dev libudev-dev ruby ruby-dev rubygems build-essential desktop-file-utils
|
|
wget https://github.com/AppImage/pkg2appimage/archive/38603d92359a48189c35debad9005e8e902e6070.zip
|
|
unzip *.zip
|
|
sudo gem install --no-document fpm
|
|
|
|
- name: Setup venv
|
|
run: |
|
|
python -m venv venv
|
|
source venv/bin/activate
|
|
pip install -r requirements.txt
|
|
|
|
- name: Build
|
|
run: |
|
|
source venv/bin/activate
|
|
fbs freeze
|
|
find -name libgdk-3.so.0 | xargs rm
|
|
fbs installer
|
|
deactivate
|
|
./pkg2appimage-*/pkg2appimage misc/Vial.yml
|
|
mv out/Vial-*.AppImage out/Vial-x86_64.AppImage
|
|
|
|
- uses: actions/upload-artifact@v1
|
|
with:
|
|
name: vial-linux
|
|
path: out/Vial-x86_64.AppImage
|
|
|
|
build-mac:
|
|
runs-on: macos-10.15
|
|
|
|
steps:
|
|
- uses: actions/checkout@v2
|
|
- uses: actions/setup-python@v1
|
|
with:
|
|
python-version: '3.6.x'
|
|
|
|
- name: Setup venv
|
|
run: |
|
|
python -m venv venv
|
|
source venv/bin/activate
|
|
pip install -r requirements.txt
|
|
|
|
- name: Build
|
|
run: |
|
|
source venv/bin/activate
|
|
fbs freeze
|
|
hdiutil create -volname Vial -srcfolder "target/Vial.app" -ov -format UDZO vial-mac.dmg
|
|
|
|
- uses: actions/upload-artifact@v1
|
|
with:
|
|
name: vial-mac
|
|
path: vial-mac.dmg
|
|
|
|
build-win:
|
|
runs-on: windows-2019
|
|
|
|
steps:
|
|
- uses: actions/checkout@v2
|
|
- uses: actions/setup-python@v1
|
|
with:
|
|
python-version: '3.6.x'
|
|
|
|
- name: Setup venv
|
|
run: |
|
|
python -m venv venv
|
|
. .\venv\Scripts\activate.ps1
|
|
pip install -r requirements.txt
|
|
|
|
- name: Install NSIS
|
|
run: |
|
|
Invoke-WebRequest "https://sourceforge.net/projects/nsis/files/NSIS%203/3.06.1/nsis-3.06.1-setup.exe/download" -UserAgent "wget" -OutFile nsis-3.06.1-setup.exe
|
|
if ((Get-FileHash nsis-3.06.1-setup.exe -Algorithm sha256).Hash -ne "f60488a676308079bfdf6845dc7114cfd4bbff47b66be4db827b89bb8d7fdc52") { Write-Error 'SHA256 mismatch' }
|
|
Start-Process -FilePath "nsis-3.06.1-setup.exe" -ArgumentList "/S", "/D=C:\Program Files (x86)\NSIS" -NoNewWindow -Wait
|
|
|
|
- name: Build
|
|
run: |
|
|
. .\venv\Scripts\activate.ps1
|
|
fbs freeze
|
|
Compress-Archive -Path "target\Vial" -DestinationPath vial-win.zip
|
|
|
|
- uses: actions/upload-artifact@v1
|
|
with:
|
|
name: vial-win
|
|
path: vial-win.zip
|
|
|
|
- name: Create installer
|
|
run: |
|
|
$env:Path += ";C:\Program Files (x86)\NSIS"
|
|
. .\venv\Scripts\activate.ps1
|
|
fbs installer
|
|
|
|
- uses: actions/upload-artifact@v1
|
|
with:
|
|
name: vial-win-installer
|
|
path: target\VialSetup.exe
|