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
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:
@@ -14,103 +14,58 @@ env:
|
|||||||
CARGO_TERM_COLOR: always
|
CARGO_TERM_COLOR: always
|
||||||
|
|
||||||
jobs:
|
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:
|
build-windows:
|
||||||
name: Build Windows
|
name: Build Windows
|
||||||
runs-on: windows-latest
|
runs-on: windows-latest
|
||||||
needs: test
|
|
||||||
if: startsWith(github.ref, 'refs/tags/v')
|
if: startsWith(github.ref, 'refs/tags/v')
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout code
|
- name: Checkout code
|
||||||
uses: actions/checkout@v4
|
uses: actions/checkout@v4
|
||||||
|
|
||||||
- name: Setup Bun
|
- name: Setup Bun
|
||||||
uses: https://github.com/oven-sh/setup-bun@v1
|
uses: oven-sh/setup-bun@v2
|
||||||
with:
|
with:
|
||||||
bun-version: latest
|
bun-version: latest
|
||||||
|
|
||||||
- name: Install dependencies
|
- name: Install dependencies
|
||||||
run: bun install
|
run: bun install
|
||||||
|
|
||||||
- name: Install Rust
|
- name: Setup Rust
|
||||||
uses: https://github.com/dtolnay/rust-toolchain@stable
|
uses: actions-rust-lang/setup-rust-toolchain@v1
|
||||||
|
|
||||||
- name: Cache Rust dependencies
|
|
||||||
uses: https://github.com/Swatinem/rust-cache@v2
|
|
||||||
with:
|
with:
|
||||||
workspaces: src-tauri
|
toolchain: stable
|
||||||
|
|
||||||
- name: Build Tauri app
|
- name: Build Tauri app
|
||||||
run: bun tauri build
|
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
|
- name: Upload Windows artifacts
|
||||||
uses: https://github.com/actions/upload-artifact@v4
|
uses: actions/upload-artifact@v4
|
||||||
with:
|
with:
|
||||||
name: windows-artifacts
|
name: windows-artifacts
|
||||||
path: |
|
path: |
|
||||||
src-tauri/target/release/bundle/msi/*.msi
|
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
|
src-tauri/target/release/bundle/nsis/*.exe
|
||||||
|
|
||||||
build-linux:
|
build-linux:
|
||||||
name: Build Linux
|
name: Build Linux
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
needs: test
|
|
||||||
if: startsWith(github.ref, 'refs/tags/v')
|
if: startsWith(github.ref, 'refs/tags/v')
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout code
|
- name: Checkout code
|
||||||
uses: actions/checkout@v4
|
uses: actions/checkout@v4
|
||||||
|
|
||||||
- name: Setup Bun
|
- name: Setup Bun
|
||||||
uses: https://github.com/oven-sh/setup-bun@v1
|
uses: oven-sh/setup-bun@v2
|
||||||
with:
|
with:
|
||||||
bun-version: latest
|
bun-version: latest
|
||||||
|
|
||||||
- name: Install dependencies
|
- name: Install dependencies
|
||||||
run: bun install
|
run: bun install
|
||||||
|
|
||||||
- name: Install Rust
|
- name: Setup Rust
|
||||||
uses: https://github.com/dtolnay/rust-toolchain@stable
|
uses: actions-rust-lang/setup-rust-toolchain@v1
|
||||||
|
|
||||||
- name: Cache Rust dependencies
|
|
||||||
uses: https://github.com/Swatinem/rust-cache@v2
|
|
||||||
with:
|
with:
|
||||||
workspaces: src-tauri
|
toolchain: stable
|
||||||
|
|
||||||
- name: Install system dependencies
|
- name: Install system dependencies
|
||||||
run: |
|
run: |
|
||||||
@@ -127,61 +82,47 @@ jobs:
|
|||||||
|
|
||||||
- name: Build Tauri app
|
- name: Build Tauri app
|
||||||
run: bun tauri build
|
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
|
- name: Upload Linux artifacts
|
||||||
uses: https://github.com/actions/upload-artifact@v4
|
uses: actions/upload-artifact@v4
|
||||||
with:
|
with:
|
||||||
name: linux-artifacts
|
name: linux-artifacts
|
||||||
path: |
|
path: |
|
||||||
src-tauri/target/release/bundle/deb/*.deb
|
src-tauri/target/release/bundle/deb/*.deb
|
||||||
src-tauri/target/release/bundle/appimage/*.AppImage
|
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:
|
build-macos:
|
||||||
name: Build macOS
|
name: Build macOS
|
||||||
runs-on: macos-latest
|
runs-on: macos-latest
|
||||||
needs: test
|
|
||||||
if: startsWith(github.ref, 'refs/tags/v')
|
if: startsWith(github.ref, 'refs/tags/v')
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout code
|
- name: Checkout code
|
||||||
uses: actions/checkout@v4
|
uses: actions/checkout@v4
|
||||||
|
|
||||||
- name: Setup Bun
|
- name: Setup Bun
|
||||||
uses: https://github.com/oven-sh/setup-bun@v1
|
uses: oven-sh/setup-bun@v2
|
||||||
with:
|
with:
|
||||||
bun-version: latest
|
bun-version: latest
|
||||||
|
|
||||||
- name: Install dependencies
|
- name: Install dependencies
|
||||||
run: bun install
|
run: bun install
|
||||||
|
|
||||||
- name: Install Rust
|
- name: Setup Rust
|
||||||
uses: https://github.com/dtolnay/rust-toolchain@stable
|
uses: actions-rust-lang/setup-rust-toolchain@v1
|
||||||
with:
|
with:
|
||||||
targets: aarch64-apple-darwin,x86_64-apple-darwin
|
toolchain: stable
|
||||||
|
target: aarch64-apple-darwin,x86_64-apple-darwin
|
||||||
- name: Cache Rust dependencies
|
|
||||||
uses: https://github.com/Swatinem/rust-cache@v2
|
|
||||||
with:
|
|
||||||
workspaces: src-tauri
|
|
||||||
|
|
||||||
- name: Build Tauri app (Universal)
|
- name: Build Tauri app (Universal)
|
||||||
run: bun tauri build --target universal-apple-darwin
|
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
|
- name: Upload macOS artifacts
|
||||||
uses: https://github.com/actions/upload-artifact@v4
|
uses: actions/upload-artifact@v4
|
||||||
with:
|
with:
|
||||||
name: macos-artifacts
|
name: macos-artifacts
|
||||||
path: |
|
path: |
|
||||||
src-tauri/target/universal-apple-darwin/release/bundle/dmg/*.dmg
|
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
|
||||||
src-tauri/target/universal-apple-darwin/release/bundle/macos/*.app.tar.gz.sig
|
|
||||||
|
|
||||||
release:
|
release:
|
||||||
name: Create Release
|
name: Create Release
|
||||||
@@ -193,7 +134,7 @@ jobs:
|
|||||||
uses: actions/checkout@v4
|
uses: actions/checkout@v4
|
||||||
|
|
||||||
- name: Download all artifacts
|
- name: Download all artifacts
|
||||||
uses: https://github.com/actions/download-artifact@v4
|
uses: actions/download-artifact@v4
|
||||||
with:
|
with:
|
||||||
path: artifacts
|
path: artifacts
|
||||||
|
|
||||||
@@ -201,61 +142,25 @@ jobs:
|
|||||||
id: get_version
|
id: get_version
|
||||||
run: echo "VERSION=${GITHUB_REF#refs/tags/v}" >> $GITHUB_OUTPUT
|
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
|
- name: Create Release
|
||||||
uses: https://github.com/softprops/action-gh-release@v1
|
uses: softprops/action-gh-release@v2
|
||||||
with:
|
with:
|
||||||
name: Release v${{ steps.get_version.outputs.VERSION }}
|
name: Release v${{ steps.get_version.outputs.VERSION }}
|
||||||
body: |
|
body: |
|
||||||
## What's Changed
|
|
||||||
${{ steps.release_notes.outputs.NOTES }}
|
|
||||||
|
|
||||||
## Downloads
|
## Downloads
|
||||||
- **Windows**: `.msi` installer
|
- **Windows**: `.msi` or `.exe` installer
|
||||||
- **Linux**: `.deb` or `.AppImage`
|
- **Linux**: `.deb` or `.AppImage`
|
||||||
- **macOS**: `.dmg` or `.app`
|
- **macOS**: `.dmg` or `.app`
|
||||||
|
|
||||||
## Installation
|
## Installation
|
||||||
Download the appropriate file for your platform and install it.
|
Download the appropriate file for your platform and install it.
|
||||||
files: |
|
files: |
|
||||||
artifacts/windows-artifacts/*
|
artifacts/windows-artifacts/**/*
|
||||||
artifacts/linux-artifacts/*
|
artifacts/linux-artifacts/**/*
|
||||||
artifacts/macos-artifacts/*
|
artifacts/macos-artifacts/**/*
|
||||||
latest.json
|
|
||||||
draft: false
|
draft: false
|
||||||
prerelease: false
|
prerelease: false
|
||||||
env:
|
token: ${{ secrets.GITHUB_TOKEN }}
|
||||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
||||||
|
|
||||||
dev-build:
|
dev-build:
|
||||||
name: Development Build
|
name: Development Build
|
||||||
@@ -266,28 +171,24 @@ jobs:
|
|||||||
uses: actions/checkout@v4
|
uses: actions/checkout@v4
|
||||||
|
|
||||||
- name: Setup Bun
|
- name: Setup Bun
|
||||||
uses: https://github.com/oven-sh/setup-bun@v1
|
uses: oven-sh/setup-bun@v2
|
||||||
with:
|
with:
|
||||||
bun-version: latest
|
bun-version: latest
|
||||||
|
|
||||||
- name: Install dependencies
|
- name: Install dependencies
|
||||||
run: bun install
|
run: bun install
|
||||||
|
|
||||||
- name: Install Rust
|
- name: Setup Rust
|
||||||
uses: https://github.com/dtolnay/rust-toolchain@stable
|
uses: actions-rust-lang/setup-rust-toolchain@v1
|
||||||
|
|
||||||
- name: Cache Rust dependencies
|
|
||||||
uses: https://github.com/Swatinem/rust-cache@v2
|
|
||||||
with:
|
with:
|
||||||
workspaces: src-tauri
|
toolchain: stable
|
||||||
|
|
||||||
- name: Build Tauri app (dev)
|
- name: Build Tauri app (debug)
|
||||||
run: bun tauri build --debug
|
run: bun tauri build --debug
|
||||||
|
|
||||||
- name: Upload dev build
|
- name: Upload dev build
|
||||||
uses: https://github.com/actions/upload-artifact@v4
|
uses: actions/upload-artifact@v4
|
||||||
with:
|
with:
|
||||||
name: dev-build-windows
|
name: dev-build-windows
|
||||||
path: |
|
path: src-tauri/target/debug/bundle/**/*
|
||||||
src-tauri/target/debug/bundle/**/*
|
|
||||||
retention-days: 7
|
retention-days: 7
|
||||||
|
|||||||
142
README.md
142
README.md
@@ -1,3 +1,141 @@
|
|||||||
# Gitea-Desktop
|
# Gitea Desktop
|
||||||
|
|
||||||
Desktop Application for Gitea
|
A Gitea desktop application for managing your Gitea repositories
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
## Features
|
||||||
|
|
||||||
|
- **OAuth Authentication**: Secure login to your Gitea instance
|
||||||
|
- **Repository Management**: Browse and manage all your repositories
|
||||||
|
- **Quick Search**: Instantly find repositories by name, owner, or description
|
||||||
|
- **Dark Theme**: GitHub Desktop-inspired dark interface
|
||||||
|
- **Cross-platform**: Built with Tauri for native performance on Windows, macOS, and Linux
|
||||||
|
- **Fast & Lightweight**: Native performance with minimal resource usage
|
||||||
|
- **Repository Details**: View stars, forks, issues, and repository information
|
||||||
|
- **Real-time Updates**: Keep track of your repository changes
|
||||||
|
|
||||||
|
## Screenshots
|
||||||
|
|
||||||
|
<!-- Add screenshots here when available -->
|
||||||
|
|
||||||
|
## Installation
|
||||||
|
|
||||||
|
### From Releases
|
||||||
|
|
||||||
|
Download the latest version for your platform from the [releases page](https://git.sirblob.co/SirBlob/Gitea-Desktop/releases):
|
||||||
|
|
||||||
|
- **Windows**: `.msi` or `.exe` installer
|
||||||
|
- **macOS**: `.dmg` installer
|
||||||
|
- **Linux**: `.deb`, `.rpm`, or `.AppImage`
|
||||||
|
|
||||||
|
### Building from Source
|
||||||
|
|
||||||
|
**Prerequisites:**
|
||||||
|
- [Node.js](https://nodejs.org/) (v18 or higher)
|
||||||
|
- [Bun](https://bun.sh/) or npm
|
||||||
|
- [Rust](https://rustup.rs/) (for Tauri)
|
||||||
|
|
||||||
|
**Clone and build:**
|
||||||
|
```bash
|
||||||
|
git clone https://git.sirblob.co/SirBlob/Gitea-Desktop.git
|
||||||
|
cd Gitea-Desktop
|
||||||
|
|
||||||
|
# Install dependencies
|
||||||
|
bun install
|
||||||
|
|
||||||
|
# Run in development mode
|
||||||
|
bun tauri dev
|
||||||
|
|
||||||
|
# Build for production
|
||||||
|
bun tauri build
|
||||||
|
```
|
||||||
|
|
||||||
|
## Usage
|
||||||
|
|
||||||
|
### First Time Setup
|
||||||
|
|
||||||
|
1. Launch Gitea Desktop
|
||||||
|
2. Enter your Gitea server URL and personal access token
|
||||||
|
4. Start managing your repositories!
|
||||||
|
|
||||||
|
### Managing Repositories
|
||||||
|
|
||||||
|
- **Browse Repositories**: View all your repositories in the left sidebar
|
||||||
|
- **Search**: Use the search bar to quickly find repositories
|
||||||
|
- **Select Repository**: Click on any repository to view its details
|
||||||
|
- **Refresh**: Click the refresh button to update your repository list
|
||||||
|
|
||||||
|
### Creating Access Tokens
|
||||||
|
|
||||||
|
If you prefer to use a personal access token instead of OAuth:
|
||||||
|
|
||||||
|
1. Go to your Gitea instance
|
||||||
|
2. Navigate to Settings → Applications → Generate New Token
|
||||||
|
3. Give it a name and select appropriate scopes
|
||||||
|
4. Copy the token and paste it into Gitea Desktop
|
||||||
|
|
||||||
|
## Configuration
|
||||||
|
|
||||||
|
Gitea Desktop stores your authentication securely using the system's credential manager. Your credentials are never stored in plain text.
|
||||||
|
|
||||||
|
## Technology Stack
|
||||||
|
|
||||||
|
- **Frontend**: SvelteKit 5 with Svelte Runes
|
||||||
|
- **Backend**: Tauri (Rust)
|
||||||
|
- **Styling**: Tailwind CSS, Skeleton UI
|
||||||
|
- **Icons**: Iconify
|
||||||
|
|
||||||
|
## Development
|
||||||
|
|
||||||
|
### Available Scripts
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# Development
|
||||||
|
bun tauri dev # Run in development mode
|
||||||
|
|
||||||
|
# Building
|
||||||
|
bun tauri build # Build for production
|
||||||
|
|
||||||
|
# Frontend only
|
||||||
|
bun run dev # Run SvelteKit dev server
|
||||||
|
bun run build # Build frontend
|
||||||
|
```
|
||||||
|
|
||||||
|
## Contributing
|
||||||
|
|
||||||
|
Contributions are welcome! Please feel free to submit a Pull Request.
|
||||||
|
|
||||||
|
1. Fork the repository
|
||||||
|
2. Commit your changes (`git commit -m 'Add some AmazingFeature'`)
|
||||||
|
3. Open a Pull Request
|
||||||
|
|
||||||
|
## Roadmap
|
||||||
|
|
||||||
|
- [ ] Clone repositories directly from the app
|
||||||
|
- [ ] Create new repositories
|
||||||
|
- [ ] View commit history
|
||||||
|
- [ ] Manage branches
|
||||||
|
- [ ] Pull request management
|
||||||
|
- [ ] Issue tracking
|
||||||
|
- [ ] File browser
|
||||||
|
- [ ] Diff viewer
|
||||||
|
- [ ] Git operations (commit, push, pull)
|
||||||
|
- [ ] Multiple account support
|
||||||
|
|
||||||
|
## License
|
||||||
|
|
||||||
|
This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.
|
||||||
|
|
||||||
|
## Acknowledgments
|
||||||
|
|
||||||
|
- Inspired by [GitHub Desktop](https://desktop.github.com/)
|
||||||
|
- Built with [Tauri](https://tauri.app/)
|
||||||
|
- UI components from [Skeleton UI](https://skeleton.dev/)
|
||||||
|
|
||||||
|
## Support
|
||||||
|
|
||||||
|
If you encounter any issues or have questions:
|
||||||
|
- [Report a bug](https://git.sirblob.co/SirBlob/Gitea-Desktop/issues)
|
||||||
|
- [Request a feature](https://git.sirblob.co/SirBlob/Gitea-Desktop/issues)
|
||||||
|
- Check the [documentation](https://git.sirblob.co/SirBlob/Gitea-Desktop/wiki) (coming soon)
|
||||||
Reference in New Issue
Block a user