tauri-plugin-android-update 0.2.1

GitHub-releases based updater for Tauri apps on platforms without tauri-plugin-updater support
Documentation
# Copyright 2026 hrzlgnm
# SPDX-License-Identifier: MIT

name: "CI"

on:
  pull_request:
  push:
    branches:
      - main
  workflow_dispatch:

jobs:
  typos:
    name: "📝 Check typos"
    if: always()
    uses: hrzlgnm/actions/.github/workflows/typos-reusable.yml@275b5f2d90d762bd71567db08b250d8ba7cdb274 # v2.14.4

  fmt:
    name: "📐 fmt"
    runs-on: ubuntu-latest
    steps:
      - name: 🔄 Checkout
        uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7
        with:
          fetch-depth: 1
          persist-credentials: false

      - name: 🦀 Setup Rust
        uses: dtolnay/rust-toolchain@6bed0761d98439e5a578e2877258200ad565ba87 # stable
        with:
          components: rustfmt

      - name: 📐 Run rustfmt and fail if any warnings
        shell: bash
        run: cargo fmt -- --check

  clippy:
    name: "📎 clippy"
    runs-on: ubuntu-latest
    steps:
      - name: 🔄 Checkout
        uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7
        with:
          fetch-depth: 1
          persist-credentials: false

      - name: 🦀 Setup Rust
        uses: dtolnay/rust-toolchain@6bed0761d98439e5a578e2877258200ad565ba87 # stable
        with:
          components: clippy

      - name: 🧰 Install Tauri system dependencies
        shell: bash
        run: sudo apt-get update && sudo apt-get install -y libwebkit2gtk-4.1-dev libappindicator3-dev librsvg2-dev patchelf

      - name: 📎 Run clippy and fail if any warnings
        shell: bash
        run: cargo clippy --all-targets -- -D warnings

  test:
    name: "✅ test"
    runs-on: ubuntu-latest
    steps:
      - name: 🔄 Checkout
        uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7
        with:
          fetch-depth: 1
          persist-credentials: false

      - name: 🦀 Setup Rust
        uses: dtolnay/rust-toolchain@6bed0761d98439e5a578e2877258200ad565ba87 # stable

      - name: 🧰 Install Tauri system dependencies
        shell: bash
        run: sudo apt-get update && sudo apt-get install -y libwebkit2gtk-4.1-dev libappindicator3-dev librsvg2-dev patchelf

      - name: 🛠️🚀
        uses: ./.github/actions/setup-sccache

      - name: ✅ Run tests
        shell: bash
        run: cargo test

  js:
    name: "🟢 js"
    permissions:
      contents: read
    runs-on: ubuntu-latest
    steps:
      - name: 🔄 Checkout
        uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7
        with:
          fetch-depth: 1
          persist-credentials: false

      - name: 🟢 Setup Node.js
        uses: actions/setup-node@820762786026740c76f36085b0efc47a31fe5020 # v7
        with:
          node-version: 24
          cache: npm
          cache-dependency-path: package-lock.json

      - name: 📥 Install dependencies
        shell: bash
        run: npm ci

      - name: 🏗️ Build bindings
        shell: bash
        run: npm run build

  all-required-green: # This job does nothing and is only used for the branch protection
    name: CI Status
    runs-on: ubuntu-latest
    needs:
      - fmt
      - clippy
      - test
      - js
      - typos
    if: always()
    steps:
      - name: Check whether the needed jobs succeeded or failed
        uses: re-actors/alls-green@a638d6464689bbb24c325bb3fe9404d63a913030
        with:
          jobs: ${{ toJSON(needs) }}