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