Skip to content

Bump to v0.5.0-beta.1 #58

Bump to v0.5.0-beta.1

Bump to v0.5.0-beta.1 #58

Workflow file for this run

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)
TAURI_SIGNING_PRIVATE_KEY: ${{ secrets.TAURI_SIGNING_PRIVATE_KEY }}
TAURI_SIGNING_PRIVATE_KEY_PASSWORD: ${{ secrets.TAURI_SIGNING_PRIVATE_KEY_PASSWORD }}
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 cmake autoconf automake libtool git librtlsdr libao fftw soapyrtlsdr libusb
- 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 Build Cache
uses: swatinem/rust-cache@v2
with:
workspaces: "./src-tauri -> target"
- name: Dependencies Build Cache
id: deps-build-cache
uses: actions/cache@v4
with:
path: ./build
key: ${{ matrix.platform }}-${{ matrix.args }}-deps-build
- name: Install Frontend Dependencies
run: yarn install
- name: Install Tauri Cargo CLI
run: cargo install tauri-cli --version "^2.0.0-rc"
- name: Build and Release Tauri App
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
includeUpdaterJson: true
args: ${{ matrix.args }}
tauriScript: "cargo tauri"
# publish-tauri-linux-arm:
# runs-on: ubuntu-22.04
#
# permissions:
# contents: write
# strategy:
# matrix:
# arch: [aarch64, armv7l]
# include:
# - arch: aarch64
# cpu: cortex-a72
# base_image: https://dietpi.com/downloads/images/DietPi_RPi-ARMv8-Bookworm.img.xz
# deb: arm64
# rpm: aarch64
# appimage: aarch64
# - arch: armv7l
# cpu: cortex-a53
# deb: armhfp
# rpm: arm
# appimage: armhf
# base_image: https://dietpi.com/downloads/images/DietPi_RPi-ARMv7-Bookworm.img.xz
#
# env:
# NEXT_PUBLIC_EXCLUDE_SIDECAR: true # excludes nrsc5 sidecar and disables HD Radio in the app (due to building issues)
# TAURI_SIGNING_PRIVATE_KEY: ${{ secrets.TAURI_SIGNING_PRIVATE_KEY }}
# TAURI_SIGNING_PRIVATE_KEY_PASSWORD: ${{ secrets.TAURI_SIGNING_PRIVATE_KEY_PASSWORD }}
#
# steps:
# - uses: actions/checkout@v4
#
# # setup caching to speed up builds
# - name: Rust Build Cache
# uses: Swatinem/rust-cache@v2
# with:
# workspaces: src-tauri
# cache-on-failure: true
#
# - name: Dependencies Build Cache
# id: deps-build-cache
# uses: actions/cache@v4
# with:
# path: ./build
# key: ${{ matrix.platform }}-${{ matrix.args }}-deps-build
#
# - name: Build app
# uses: pguyot/[email protected]
# with:
# base_image: ${{ matrix.base_image }}
# cpu: ${{ matrix.cpu }}
# bind_mount_repository: true
# image_additional_mb: 10240
# optimize_image: no
# #exit_on_fail: no
# commands: |
# # Prevent Rust from complaining about $HOME not matching eid home
# export HOME=/root
#
# # Workaround to CI worker being stuck on Updating crates.io index
# export CARGO_REGISTRIES_CRATES_IO_PROTOCOL=sparse
#
# # Install setup prerequisites
# apt-get update -y --allow-releaseinfo-change
# apt-get autoremove -y
# apt-get install -y --no-install-recommends --no-install-suggests curl libwebkit2gtk-4.1-dev build-essential libssl-dev libgtk-3-dev libayatana-appindicator3-dev librsvg2-dev patchelf libfuse2 file git 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 librsvg2-dev libasound2-dev libclang-dev libudev-dev patchelf python3
# curl https://sh.rustup.rs -sSf | sh -s -- -y
# . "$HOME/.cargo/env"
# curl -fsSL https://deb.nodesource.com/setup_lts.x | bash
# apt-get install -y nodejs
#
# # Install frontend dependencies
# yarn install
#
# # Build the application
# yarn tauri build -- --verbose
#
# - name: Get app version
# run: echo "APP_VERSION=$(jq -r .version src-tauri/tauri.conf.json)" >> $GITHUB_ENV
#
# # TODO: Combine this with the basic workflow and upload the files to the Release.
# - name: Upload deb bundle
# uses: actions/upload-artifact@v3
# with:
# name: Debian Bundle
# path: ${{ github.workspace }}/src-tauri/target/release/bundle/deb/appname_${{ env.APP_VERSION }}_${{ matrix.deb }}.deb
#
# - name: Upload rpm bundle
# uses: actions/upload-artifact@v3
# with:
# name: RPM Bundle
# path: ${{ github.workspace }}/src-tauri/target/release/bundle/rpm/appname-${{ env.APP_VERSION }}-1.${{ matrix.rpm }}.rpm
#
# - name: Upload appimage bundle
# uses: actions/upload-artifact@v3
# with:
# name: AppImage Bundle
# path: ${{ github.workspace }}/src-tauri/target/release/bundle/appimage/appname_${{ env.APP_VERSION }}_${{ matrix.appimage }}.AppImage
#