Skip to content

Update app and Tauri icons for multiple platforms #7

Update app and Tauri icons for multiple platforms

Update app and Tauri icons for multiple platforms #7

Workflow file for this run

name: Build and Release
on:
push:
tags:
- "v*"
workflow_dispatch:
inputs:
version:
description: "Version tag (e.g., v0.1.0)"
required: false
default: ""
env:
CARGO_TERM_COLOR: always
permissions:
contents: write
jobs:
publish-tauri:
strategy:
fail-fast: false
matrix:
include:
- platform: "macos-latest"
args: "--target aarch64-apple-darwin"
- platform: "macos-latest"
args: "--target x86_64-apple-darwin"
runs-on: ${{ matrix.platform }}
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Setup bun
uses: oven-sh/setup-bun@v2
with:
bun-version: latest
- name: Install Rust stable
uses: dtolnay/rust-toolchain@stable
with:
targets: aarch64-apple-darwin,x86_64-apple-darwin
- name: Rust cache
uses: swatinem/rust-cache@v2
with:
workspaces: "./src-tauri -> target"
- name: Install frontend dependencies
run: bun install
- name: Build and release with tauri-action
uses: tauri-apps/tauri-action@v0
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
tagName: ${{ github.event.inputs.version || github.ref_name }}
releaseName: "Seer ${{ github.event.inputs.version || github.ref_name }}"
releaseBody: |
## Seer ${{ github.event.inputs.version || github.ref_name }}
A desktop application for media file management, metadata editing, codec detection, and re-encoding.
**Seer** (Tamil: சீர்) - to prune, order, uniformity, neatness.
---
### 📦 Downloads
| Platform | Architecture | File |
|----------|--------------|------|
| macOS | Apple Silicon (M1/M2/M3) | `Seer_*_aarch64.dmg` |
| macOS | Intel | `Seer_*_x64.dmg` |
---
### 👨‍💻 Developer
**Imran**
- 🌐 Website: [imran.codes](https://imran.codes)
- ☕ Support: [Buy Me a Coffee](https://buymeacoffee.com/imran.vz)
- 🐙 GitHub: [@imran-vz](https://github.com/imran-vz)
---
### 📋 Requirements
- **FFmpeg** - Required for media analysis
- **ExifTool** - Optional, for image metadata
---
### 📄 License
MIT License
releaseDraft: true
prerelease: false
args: ${{ matrix.args }}
build-tarball:
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Get version
id: get_version
run: |
if [ "${{ github.event_name }}" = "workflow_dispatch" ] && [ -n "${{ github.event.inputs.version }}" ]; then
VERSION="${{ github.event.inputs.version }}"
else
VERSION="${GITHUB_REF#refs/tags/}"
fi
echo "version=$VERSION" >> $GITHUB_OUTPUT
- name: Create source tarball
run: |
VERSION="${{ steps.get_version.outputs.version }}"
VERSION_NUM="${VERSION#v}"
# Create a clean directory for the tarball
mkdir -p "seer-${VERSION_NUM}"
# Copy relevant files (excluding node_modules, target, dist, etc.)
rsync -av --progress . "seer-${VERSION_NUM}" \
--exclude "seer-${VERSION_NUM}" \
--exclude '.git' \
--exclude 'node_modules' \
--exclude 'src-tauri/target' \
--exclude 'dist' \
--exclude '.DS_Store' \
--exclude '*.log'
# Create tarball
tar -czvf "seer-${VERSION_NUM}.tar.gz" "seer-${VERSION_NUM}"
# Create checksum
sha256sum "seer-${VERSION_NUM}.tar.gz" > "seer-${VERSION_NUM}.tar.gz.sha256"
- name: Upload tarball to Release
uses: softprops/action-gh-release@v2
with:
tag_name: ${{ steps.get_version.outputs.version }}
draft: true
files: |
seer-*.tar.gz
seer-*.tar.gz.sha256
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}