Upstream sync #165
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Continuous Integration (Master) | |
on: | |
push: | |
branches: | |
- master | |
pull_request: | |
branches: | |
- master | |
jobs: | |
build-windows: | |
name: Build for Windows | |
runs-on: windows-2019 | |
steps: | |
- name: Checkout Source | |
uses: actions/checkout@v2 | |
- name: Get Binary for libusb | |
run: | | |
Invoke-WebRequest -Uri https://github.com/libusb/libusb/releases/download/v1.0.23/libusb-1.0.23.7z -OutFile libusb.7z -UseBasicParsing | |
Start-Process -FilePath "C:\Program Files\7-Zip\7z.exe" -ArgumentList x,-olibusb,libusb.7z -NoNewWindow | |
- name: Install libusb | |
run: Copy-Item -Path "libusb\MS64\dll\libusb-1.0.dll" -Destination C:\Windows\System32\ | |
- name: Setup Python | |
uses: actions/setup-python@v4 | |
with: | |
python-version: '3.9.0' | |
- name: Install Application Dependencies | |
run: | | |
python -m pip install setuptools==65.3.0 | |
python -m pip install pip==20.2.3 | |
python -m pip install -r requirements.txt | |
- name: Bundle Application | |
run: python -m PyInstaller --distpath=bin --workpath=work dash_masternode_tool.spec | |
- name: Upload Release Artifact | |
uses: actions/upload-artifact@v2 | |
with: | |
name: binaries-win32-amd64 | |
path: bin\firo-masternode-tool.exe | |
build-mac: | |
name: Build for macOS | |
runs-on: macos-latest | |
steps: | |
- name: Checkout Source | |
uses: actions/checkout@v2 | |
- name: Setup Python | |
uses: actions/setup-python@v4 | |
with: | |
python-version: '3.9.6' | |
- name: Install Required System Packages | |
run: brew install libusb | |
- name: Install Application Dependencies | |
run: | | |
pip install pip==21.2.4 | |
pip install -r requirements.txt | |
- name: Add Local Bin To Path | |
run: | | |
prefix=$(python -m site --user-base) | |
echo "$prefix/bin" >> $GITHUB_PATH | |
- name: Bundle Application | |
run: pyinstaller --distpath=bin --workpath=work dash_masternode_tool.spec | |
- name: Upload Release Artifact | |
uses: actions/upload-artifact@v2 | |
with: | |
name: binaries-osx-amd64 | |
path: bin/firo-masternode-tool.app | |
build-linux: | |
name: Build for Linux | |
runs-on: ubuntu-latest | |
env: | |
FLATPAK_FLATHUB_REPO: https://flathub.org/repo/flathub.flatpakrepo | |
FLATPAK_LOCAL_REPO: ${{ github.workspace }}/flatpak/repo/local | |
FLATPAK_BUILD_ROOT: ${{ github.workspace }}/flatpak/build | |
steps: | |
- name: Checkout Source | |
uses: actions/checkout@v2 | |
- name: Setup Python | |
uses: actions/setup-python@v4 | |
with: | |
python-version: '3.8.18' | |
- name: Install Required System Packages | |
run: sudo apt-get -y install libudev-dev libusb-1.0-0-dev libfox-1.6-dev autotools-dev autoconf automake libtool libpython3-all-dev python3-pip git cmake libxcb-xinerama0 | |
- name: Install Application Dependencies | |
run: | | |
pip install pip==21.2.4 | |
pip install -r requirements.txt | |
- name: Bundle Application | |
run: | | |
python -m PyInstaller --distpath=bin --workpath=work dash_masternode_tool.spec | |
- name: Upload Release Artifact | |
uses: actions/upload-artifact@v2 | |
with: | |
name: binaries-linux-amd64 | |
path: bin/firo-masternode-tool |