README.md UPDATE
Some checks failed
Build and Release / Build Windows (push) Has been cancelled
Build and Release / Build Linux (push) Has been cancelled
Build and Release / Build macOS (push) Has been cancelled
Build and Release / Create Release (push) Has been cancelled
Build and Release / Development Build (push) Has been cancelled

This commit is contained in:
2025-11-07 17:52:25 -05:00
parent 9c56f8f3f7
commit 74f8c78700
2 changed files with 171 additions and 132 deletions

View File

@@ -14,103 +14,58 @@ env:
CARGO_TERM_COLOR: always
jobs:
test:
name: Test
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Setup Bun
uses: https://github.com/oven-sh/setup-bun@v1
with:
bun-version: latest
- name: Install Node dependencies
run: bun install
- name: Run type check
run: bun run check
- name: Install Rust
uses: https://github.com/dtolnay/rust-toolchain@stable
- name: Cache Rust dependencies
uses: https://github.com/Swatinem/rust-cache@v2
with:
workspaces: src-tauri
- name: Check Rust formatting
run: cargo fmt --check --manifest-path src-tauri/Cargo.toml
- name: Run Rust clippy
run: cargo clippy --manifest-path src-tauri/Cargo.toml -- -D warnings
build-windows:
name: Build Windows
runs-on: windows-latest
needs: test
if: startsWith(github.ref, 'refs/tags/v')
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Setup Bun
uses: https://github.com/oven-sh/setup-bun@v1
uses: oven-sh/setup-bun@v2
with:
bun-version: latest
- name: Install dependencies
run: bun install
- name: Install Rust
uses: https://github.com/dtolnay/rust-toolchain@stable
- name: Cache Rust dependencies
uses: https://github.com/Swatinem/rust-cache@v2
- name: Setup Rust
uses: actions-rust-lang/setup-rust-toolchain@v1
with:
workspaces: src-tauri
toolchain: stable
- name: Build Tauri app
run: bun tauri build
env:
TAURI_SIGNING_PRIVATE_KEY: ${{ secrets.TAURI_PRIVATE_KEY }}
TAURI_SIGNING_PRIVATE_KEY_PASSWORD: ${{ secrets.TAURI_KEY_PASSWORD }}
- name: Upload Windows artifacts
uses: https://github.com/actions/upload-artifact@v4
uses: actions/upload-artifact@v4
with:
name: windows-artifacts
path: |
src-tauri/target/release/bundle/msi/*.msi
src-tauri/target/release/bundle/msi/*.msi.zip
src-tauri/target/release/bundle/msi/*.msi.zip.sig
src-tauri/target/release/bundle/nsis/*.exe
build-linux:
name: Build Linux
runs-on: ubuntu-latest
needs: test
if: startsWith(github.ref, 'refs/tags/v')
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Setup Bun
uses: https://github.com/oven-sh/setup-bun@v1
uses: oven-sh/setup-bun@v2
with:
bun-version: latest
- name: Install dependencies
run: bun install
- name: Install Rust
uses: https://github.com/dtolnay/rust-toolchain@stable
- name: Cache Rust dependencies
uses: https://github.com/Swatinem/rust-cache@v2
- name: Setup Rust
uses: actions-rust-lang/setup-rust-toolchain@v1
with:
workspaces: src-tauri
toolchain: stable
- name: Install system dependencies
run: |
@@ -127,61 +82,47 @@ jobs:
- name: Build Tauri app
run: bun tauri build
env:
TAURI_SIGNING_PRIVATE_KEY: ${{ secrets.TAURI_PRIVATE_KEY }}
TAURI_SIGNING_PRIVATE_KEY_PASSWORD: ${{ secrets.TAURI_KEY_PASSWORD }}
- name: Upload Linux artifacts
uses: https://github.com/actions/upload-artifact@v4
uses: actions/upload-artifact@v4
with:
name: linux-artifacts
path: |
src-tauri/target/release/bundle/deb/*.deb
src-tauri/target/release/bundle/appimage/*.AppImage
src-tauri/target/release/bundle/appimage/*.AppImage.tar.gz
src-tauri/target/release/bundle/appimage/*.AppImage.tar.gz.sig
build-macos:
name: Build macOS
runs-on: macos-latest
needs: test
if: startsWith(github.ref, 'refs/tags/v')
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Setup Bun
uses: https://github.com/oven-sh/setup-bun@v1
uses: oven-sh/setup-bun@v2
with:
bun-version: latest
- name: Install dependencies
run: bun install
- name: Install Rust
uses: https://github.com/dtolnay/rust-toolchain@stable
- name: Setup Rust
uses: actions-rust-lang/setup-rust-toolchain@v1
with:
targets: aarch64-apple-darwin,x86_64-apple-darwin
- name: Cache Rust dependencies
uses: https://github.com/Swatinem/rust-cache@v2
with:
workspaces: src-tauri
toolchain: stable
target: aarch64-apple-darwin,x86_64-apple-darwin
- name: Build Tauri app (Universal)
run: bun tauri build --target universal-apple-darwin
env:
TAURI_SIGNING_PRIVATE_KEY: ${{ secrets.TAURI_PRIVATE_KEY }}
TAURI_SIGNING_PRIVATE_KEY_PASSWORD: ${{ secrets.TAURI_KEY_PASSWORD }}
- name: Upload macOS artifacts
uses: https://github.com/actions/upload-artifact@v4
uses: actions/upload-artifact@v4
with:
name: macos-artifacts
path: |
src-tauri/target/universal-apple-darwin/release/bundle/dmg/*.dmg
src-tauri/target/universal-apple-darwin/release/bundle/macos/*.app.tar.gz
src-tauri/target/universal-apple-darwin/release/bundle/macos/*.app.tar.gz.sig
src-tauri/target/universal-apple-darwin/release/bundle/macos/*.app
release:
name: Create Release
@@ -193,7 +134,7 @@ jobs:
uses: actions/checkout@v4
- name: Download all artifacts
uses: https://github.com/actions/download-artifact@v4
uses: actions/download-artifact@v4
with:
path: artifacts
@@ -201,61 +142,25 @@ jobs:
id: get_version
run: echo "VERSION=${GITHUB_REF#refs/tags/v}" >> $GITHUB_OUTPUT
- name: Generate release notes
id: release_notes
run: |
echo "NOTES<<EOF" >> $GITHUB_OUTPUT
git log $(git describe --tags --abbrev=0 HEAD^)..HEAD --pretty=format:"- %s" >> $GITHUB_OUTPUT
echo "EOF" >> $GITHUB_OUTPUT
- name: Create latest.json for updater
run: |
cat > latest.json << EOF
{
"version": "${{ steps.get_version.outputs.VERSION }}",
"notes": "${{ steps.release_notes.outputs.NOTES }}",
"pub_date": "$(date -u +%Y-%m-%dT%H:%M:%SZ)",
"platforms": {
"windows-x86_64": {
"signature": "$(cat artifacts/windows-artifacts/*.msi.zip.sig)",
"url": "https://git.sirblob.co/${{ github.repository }}/releases/download/v${{ steps.get_version.outputs.VERSION }}/gitea-desktop_${{ steps.get_version.outputs.VERSION }}_x64_en-US.msi.zip"
},
"linux-x86_64": {
"signature": "$(cat artifacts/linux-artifacts/*.AppImage.tar.gz.sig)",
"url": "https://git.sirblob.co/${{ github.repository }}/releases/download/v${{ steps.get_version.outputs.VERSION }}/gitea-desktop_${{ steps.get_version.outputs.VERSION }}_amd64.AppImage.tar.gz"
},
"darwin-universal": {
"signature": "$(cat artifacts/macos-artifacts/*.app.tar.gz.sig)",
"url": "https://git.sirblob.co/${{ github.repository }}/releases/download/v${{ steps.get_version.outputs.VERSION }}/gitea-desktop_${{ steps.get_version.outputs.VERSION }}_universal.app.tar.gz"
}
}
}
EOF
- name: Create Release
uses: https://github.com/softprops/action-gh-release@v1
uses: softprops/action-gh-release@v2
with:
name: Release v${{ steps.get_version.outputs.VERSION }}
body: |
## What's Changed
${{ steps.release_notes.outputs.NOTES }}
## Downloads
- **Windows**: `.msi` installer
- **Windows**: `.msi` or `.exe` installer
- **Linux**: `.deb` or `.AppImage`
- **macOS**: `.dmg` or `.app`
## Installation
Download the appropriate file for your platform and install it.
files: |
artifacts/windows-artifacts/*
artifacts/linux-artifacts/*
artifacts/macos-artifacts/*
latest.json
artifacts/windows-artifacts/**/*
artifacts/linux-artifacts/**/*
artifacts/macos-artifacts/**/*
draft: false
prerelease: false
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
token: ${{ secrets.GITHUB_TOKEN }}
dev-build:
name: Development Build
@@ -266,28 +171,24 @@ jobs:
uses: actions/checkout@v4
- name: Setup Bun
uses: https://github.com/oven-sh/setup-bun@v1
uses: oven-sh/setup-bun@v2
with:
bun-version: latest
- name: Install dependencies
run: bun install
- name: Install Rust
uses: https://github.com/dtolnay/rust-toolchain@stable
- name: Cache Rust dependencies
uses: https://github.com/Swatinem/rust-cache@v2
- name: Setup Rust
uses: actions-rust-lang/setup-rust-toolchain@v1
with:
workspaces: src-tauri
toolchain: stable
- name: Build Tauri app (dev)
- name: Build Tauri app (debug)
run: bun tauri build --debug
- name: Upload dev build
uses: https://github.com/actions/upload-artifact@v4
uses: actions/upload-artifact@v4
with:
name: dev-build-windows
path: |
src-tauri/target/debug/bundle/**/*
path: src-tauri/target/debug/bundle/**/*
retention-days: 7