Use Cargo for GitHub Actions #50
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: Create GitHub Release | |
# release a new version by pushing to the release branch | |
on: | |
push: | |
branches: | |
- release | |
jobs: | |
publish-tauri: | |
permissions: | |
contents: write | |
strategy: | |
fail-fast: false | |
matrix: | |
include: | |
- platform: "macos-latest" # for Arm based Macs | |
args: "--target aarch64-apple-darwin" | |
- platform: "macos-13" # for Intel based Macs | |
args: "--target x86_64-apple-darwin" | |
- platform: "ubuntu-22.04" | |
args: "" | |
# Issues with getting SoapySDR Libraries Installed on Windows | |
#- platform: "windows-latest" | |
# args: "" | |
runs-on: ${{ matrix.platform }} | |
env: | |
NEXT_PUBLIC_EXCLUDE_SIDECAR: true # excludes nrsc5 sidecar and disables HD Radio in the app (due to building issues) | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Install Dependencies (MacOS Only) | |
if: matrix.platform == 'macos-latest' || matrix.platform == 'macos-13' | |
run: | | |
brew tap pothosware/homebrew-pothos | |
brew update | |
brew install librtlsdr soapyrtlsdr soapysdr libao | |
- name: Install Dependencies (Ubuntu Only) | |
if: matrix.platform == 'ubuntu-22.04' | |
run: | | |
sudo apt-get update | |
sudo apt-get install -y libwebkit2gtk-4.1-dev librsvg2-dev patchelf git build-essential cmake autoconf automake libtool libao-dev libfftw3-dev librtlsdr-dev nodejs npm libsoapysdr-dev soapysdr-module-rtlsdr libusb-dev libusb-1.0-0-dev curl wget file libxdo-dev libssl-dev libappindicator3-dev librsvg2-dev libasound2-dev libclang-dev libudev-dev patchelf | |
- name: Setup Node | |
uses: actions/setup-node@v4 | |
with: | |
node-version: lts/* | |
cache: "yarn" | |
- name: Install Rust Stable | |
uses: actions-rust-lang/setup-rust-toolchain@v1 | |
with: | |
# If on Mac, we need to include both architectures | |
target: ${{ matrix.args == '--target aarch64-apple-darwin' && 'aarch64-apple-darwin' || matrix.args == '--target x86_64-apple-darwin' && 'x86_64-apple-darwin' || '' }} | |
# required to run build scripts | |
- name: Install Python | |
uses: actions/setup-python@v5 | |
with: | |
python-version: "3.10" | |
# setup caching to speed up builds | |
- name: Rust cache | |
uses: swatinem/rust-cache@v2 | |
with: | |
workspaces: "./src-tauri -> target" | |
- name: install frontend dependencies | |
run: yarn install | |
- uses: tauri-apps/tauri-action@v0 | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
with: | |
tagName: v__VERSION__ # the action automatically replaces \_\_VERSION\_\_ with the app version. | |
releaseName: "RTL-SDR Radio v__VERSION__" | |
releaseBody: "See the assets to download this version and install." | |
releaseDraft: true | |
prerelease: false | |
args: ${{ matrix.args }} | |
tauriScript: "cargo tauri" |