Clide is being rebuilt as a Flutter desktop app. The Python Textual implementation moves wholesale into legacy/ rather than being deleted: its pane model, panel set, git skills, and panel communication design are real thought that should remain readable next to the new code while the rebuild finds its shape. Git's rename tracking preserves history, so `git log -- legacy/` still works. The Flutter rebuild lives at the repo root alongside a Go sidecar (the architecture claudian was heading toward, which folds into clide as a core component rather than a separate plugin project). Bootstrap of the new shape lands in subsequent commits. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
127 lines
3.3 KiB
YAML
127 lines
3.3 KiB
YAML
# Gitea Actions workflow for building and releasing Clide
|
|
# Triggers on version tags (v*)
|
|
# Builds Linux AppImage and Windows installer automatically
|
|
# macOS must be built locally (no macOS runners)
|
|
|
|
name: Build and Release
|
|
|
|
on:
|
|
push:
|
|
tags:
|
|
- 'v*'
|
|
|
|
env:
|
|
PYTHON_VERSION: '3.12'
|
|
|
|
jobs:
|
|
# Build Linux AppImage
|
|
build-linux:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- name: Checkout code
|
|
uses: actions/checkout@v4
|
|
|
|
- name: Set up Python
|
|
uses: actions/setup-python@v5
|
|
with:
|
|
python-version: ${{ env.PYTHON_VERSION }}
|
|
|
|
- name: Install dependencies
|
|
run: |
|
|
python -m pip install --upgrade pip
|
|
pip install -e ".[build]"
|
|
|
|
- name: Install FUSE (for appimagetool)
|
|
run: |
|
|
sudo apt-get update
|
|
sudo apt-get install -y fuse libfuse2
|
|
|
|
- name: Build AppImage
|
|
run: |
|
|
chmod +x scripts/build-linux.sh
|
|
./scripts/build-linux.sh ${{ github.ref_name }}
|
|
|
|
- name: Upload artifact
|
|
uses: actions/upload-artifact@v4
|
|
with:
|
|
name: linux-appimage
|
|
path: dist/*.AppImage
|
|
retention-days: 5
|
|
|
|
# Build Windows installer
|
|
build-windows:
|
|
runs-on: windows-latest
|
|
steps:
|
|
- name: Checkout code
|
|
uses: actions/checkout@v4
|
|
|
|
- name: Set up Python
|
|
uses: actions/setup-python@v5
|
|
with:
|
|
python-version: ${{ env.PYTHON_VERSION }}
|
|
|
|
- name: Install dependencies
|
|
run: |
|
|
python -m pip install --upgrade pip
|
|
pip install -e ".[build]"
|
|
|
|
- name: Install Inno Setup
|
|
run: choco install innosetup -y
|
|
|
|
- name: Build installer
|
|
run: .\scripts\build-windows.ps1 -Version ${{ github.ref_name }}
|
|
|
|
- name: Upload artifact
|
|
uses: actions/upload-artifact@v4
|
|
with:
|
|
name: windows-installer
|
|
path: dist/*-setup.exe
|
|
retention-days: 5
|
|
|
|
# Create GitHub/Gitea release with all artifacts
|
|
create-release:
|
|
needs: [build-linux, build-windows]
|
|
runs-on: ubuntu-latest
|
|
permissions:
|
|
contents: write
|
|
steps:
|
|
- name: Download Linux artifact
|
|
uses: actions/download-artifact@v4
|
|
with:
|
|
name: linux-appimage
|
|
path: artifacts/linux
|
|
|
|
- name: Download Windows artifact
|
|
uses: actions/download-artifact@v4
|
|
with:
|
|
name: windows-installer
|
|
path: artifacts/windows
|
|
|
|
- name: Create Release
|
|
uses: softprops/action-gh-release@v2
|
|
with:
|
|
files: |
|
|
artifacts/linux/*.AppImage
|
|
artifacts/windows/*-setup.exe
|
|
draft: true
|
|
generate_release_notes: true
|
|
body: |
|
|
## Installation
|
|
|
|
### Linux (AppImage)
|
|
```bash
|
|
chmod +x Clide-*-linux-*.AppImage
|
|
./Clide-*-linux-*.AppImage
|
|
```
|
|
|
|
### Windows
|
|
Download and run the installer. For best experience, use Windows Terminal.
|
|
|
|
### macOS
|
|
macOS builds are created manually. See releases for DMG when available.
|
|
|
|
## Requirements
|
|
- **Linux**: glibc 2.17+ (Ubuntu 18.04+, Fedora 25+, etc.)
|
|
- **Windows**: Windows 10+ with Windows Terminal recommended
|
|
- **macOS**: macOS 10.13+ (when available)
|