Skip to content

fix: update cli configuration #12

fix: update cli configuration

fix: update cli configuration #12

Workflow file for this run

name: Build and Release
on:
push:
tags:
- "v*" # Triggers on version tags like v1.0.0, v1.2.3, etc.
workflow_dispatch: # Allows manual trigger from GitHub Actions tab
jobs:
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: "3.11"
- name: Install uv
run: |
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"
echo "$env:USERPROFILE\.cargo\bin" | Out-File -FilePath $env:GITHUB_PATH -Encoding utf8 -Append
- name: Install dependencies
run: |
uv pip install --system -e ".[dev]"
- name: Build with PyInstaller
run: pyinstaller shello.spec --clean
timeout-minutes: 10
- name: Test executable
run: dist\shello.exe --version
- name: Upload Windows artifact
uses: actions/upload-artifact@v4
with:
name: shello-windows
path: dist/shello.exe
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: "3.11"
- name: Install uv
run: |
curl -LsSf https://astral.sh/uv/install.sh | sh
echo "$HOME/.cargo/bin" >> $GITHUB_PATH
- name: Install dependencies
run: |
uv pip install --system -e ".[dev]"
- name: Build with PyInstaller
run: pyinstaller shello.spec --clean
timeout-minutes: 10
- name: Test executable
run: ./dist/shello --version
- name: Upload Linux artifact
uses: actions/upload-artifact@v4
with:
name: shello-linux
path: dist/shello
build-macos:
runs-on: macos-latest
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: "3.11"
- name: Install uv
run: |
curl -LsSf https://astral.sh/uv/install.sh | sh
echo "$HOME/.cargo/bin" >> $GITHUB_PATH
- name: Install dependencies
run: |
uv pip install --system -e ".[dev]"
- name: Build with PyInstaller
run: pyinstaller shello.spec --clean
timeout-minutes: 10
- name: Test executable
run: ./dist/shello --version
- name: Upload macOS artifact
uses: actions/upload-artifact@v4
with:
name: shello-macos
path: dist/shello
create-release:
needs: [build-windows, build-linux, build-macos]
runs-on: ubuntu-latest
permissions:
contents: write
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Download Windows artifact
uses: actions/download-artifact@v4
with:
name: shello-windows
path: ./artifacts/windows
- name: Download Linux artifact
uses: actions/download-artifact@v4
with:
name: shello-linux
path: ./artifacts/linux
- name: Download macOS artifact
uses: actions/download-artifact@v4
with:
name: shello-macos
path: ./artifacts/macos
- name: Prepare release files
run: |
# Copy raw executables
cp artifacts/windows/shello.exe shello.exe
cp artifacts/linux/shello shello
cp artifacts/macos/shello shello-macos
chmod +x shello shello-macos
# Create archives for backup
cd artifacts/windows
zip ../../shello-windows.zip shello.exe
cd ../linux
tar -czf ../../shello-linux.tar.gz shello
cd ../macos
tar -czf ../../shello-macos.tar.gz shello
cd ../..
- name: Create Release
uses: softprops/action-gh-release@v1
with:
files: |
shello.exe
shello
shello-macos
shello-windows.zip
shello-linux.tar.gz
shello-macos.tar.gz
body: |
## Shello CLI ${{ github.ref_name }}
AI Assistant with Command Execution
### Quick Installation
**Windows (PowerShell - Recommended, no admin needed):**
```powershell
Invoke-WebRequest -Uri "https://github.com/${{ github.repository }}/releases/download/${{ github.ref_name }}/shello.exe" -OutFile "$env:LOCALAPPDATA\Microsoft\WindowsApps\shello.exe"
```
**Linux:**
```bash
curl -L https://github.com/${{ github.repository }}/releases/download/${{ github.ref_name }}/shello -o /tmp/shello && sudo mv /tmp/shello /usr/local/bin/shello && sudo chmod +x /usr/local/bin/shello
```
**macOS:**
```bash
curl -L https://github.com/${{ github.repository }}/releases/download/${{ github.ref_name }}/shello-macos -o /tmp/shello && sudo mv /tmp/shello /usr/local/bin/shello && sudo chmod +x /usr/local/bin/shello
```
**Verify installation:**
```bash
shello --version
```
### Manual Installation
Download the executable for your platform:
- **Windows:** `shello.exe` (or `shello-windows.zip`)
- **Linux:** `shello` (or `shello-linux.tar.gz`)
- **macOS:** `shello-macos` (or `shello-macos.tar.gz`)
### What's Changed
See [CHANGELOG.md](https://github.com/${{ github.repository }}/blob/main/CHANGELOG.md) for full release notes.
draft: false
prerelease: false
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}