Skip to content

Add tauri action

Add tauri action #5

Workflow file for this run

name: "Pack - Tauri App"
env:
DOTNET_SKIP_FIRST_TIME_EXPERIENCE: "true"
on:
push:
branches:
- "feat/pack-tauriapp-workflow"
pull_request:
branches:
- main
paths:
- ".github/workflows/pack-tauri.yml"
jobs:
test-tauri:
defaults:
run:
working-directory: ./src
strategy:
fail-fast: false
matrix:
include:
# - platform: "macos-latest" # for Arm based macs (M1 and above).
# args: "--target aarch64-apple-darwin"
# - platform: "macos-latest" # for Intel based macs.
# args: "--target x86_64-apple-darwin"
- platform: "ubuntu-22.04" # for Tauri v1 you could replace this with ubuntu-20.04.
args: ""
# - platform: "windows-latest"
# args: ""
runs-on: ${{ matrix.platform }}
steps:
- uses: actions/checkout@v4
- name: 🧲 setup node
uses: actions/setup-node@v4
with:
node-version: lts/*
- name: 🧲 setup .NET 7
uses: actions/[email protected]
with:
dotnet-version: 7.0.x
- name: install Rust stable
uses: dtolnay/rust-toolchain@stable
with:
# Those targets are only used on macos runners so it's in an `if` to slightly speed up windows and linux builds.
targets: ${{ matrix.platform == 'macos-latest' && 'aarch64-apple-darwin,x86_64-apple-darwin' || '' }}
- name: install dependencies (ubuntu only)
if: matrix.platform == 'ubuntu-22.04' # This must match the platform value defined above.
run: |
sudo apt-get update
sudo apt-get install -y libwebkit2gtk-4.1-dev libappindicator3-dev librsvg2-dev patchelf
# sudo apt-get install -y libwebkit2gtk-4.0-dev libappindicator3-dev librsvg2-dev patchelf
# webkitgtk 4.0 is for Tauri v1 - webkitgtk 4.1 is for Tauri v2.
# You can remove the one that doesn't apply to your app to speed up the workflow a bit.
- name: dotnet restore
run: dotnet restore
- name: 🔨 build
run: dotnet build --no-restore
- name: install frontend dependencies (SPA)
working-directory: "src/Apps/NetPad.Apps.App/App"
run: npm install
- name: install frontend dependencies (Tauri)
working-directory: "src/Apps/NetPad.Apps.Shells.Tauri/TauriApp"
run: npm install
# If tagName and releaseId are omitted tauri-action will only build the app and won't try to upload any assets.
- uses: tauri-apps/tauri-action@v0
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
args: ${{ matrix.args }}
projectPath: "./Apps/NetPad.Apps.Shells.Tauri/TauriApp"