fix: update cli configuration #12
Workflow file for this run
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| 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 }} |