Ensure required tools are installed on all CI runners

- pip/setuptools/wheel for sidecar build step
- jq/curl for release API calls
- create-dmg for macOS bundling
- Linux system deps (gtk, webkit, patchelf)
- Validation check on release creation

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
Claude
2026-03-20 21:53:58 -07:00
parent 09d7c2064f
commit 3e7671453a

View File

@@ -37,6 +37,9 @@ jobs:
with:
python-version: ${{ env.PYTHON_VERSION }}
- name: Install Python build tools
run: pip install --upgrade pip setuptools wheel
- name: Build sidecar
working-directory: python
run: python build_sidecar.py --cpu-only
@@ -73,9 +76,6 @@ jobs:
uses: actions/setup-node@v4
with:
node-version: ${{ env.NODE_VERSION }}
# Note: 'cache: npm' requires the Gitea instance to have
# Actions cache configured. Remove this if caching is unavailable.
cache: npm
- name: Install Rust stable
uses: dtolnay/rust-toolchain@stable
@@ -86,6 +86,18 @@ jobs:
sudo apt-get update
sudo apt-get install -y libgtk-3-dev libwebkit2gtk-4.1-dev libappindicator3-dev librsvg2-dev patchelf
- name: Install system dependencies (macOS)
if: matrix.platform == 'macos'
run: |
brew install --quiet create-dmg || true
- name: Install system dependencies (Windows)
if: matrix.platform == 'windows'
shell: powershell
run: |
# Ensure Visual Studio Build Tools are available (usually pre-installed on runners)
Write-Host "Windows build environment ready"
- name: Download sidecar artifact
uses: actions/download-artifact@v4
with:
@@ -143,6 +155,11 @@ jobs:
steps:
- uses: actions/checkout@v4
- name: Install required tools
run: |
sudo apt-get update
sudo apt-get install -y jq curl
- name: Download all app artifacts
uses: actions/download-artifact@v4
with:
@@ -167,6 +184,11 @@ jobs:
echo "Release ID: ${RELEASE_ID}"
if [ "${RELEASE_ID}" = "null" ] || [ -z "${RELEASE_ID}" ]; then
echo "ERROR: Failed to create release. Check BUILD_TOKEN permissions."
exit 1
fi
# Upload all artifacts
find artifacts/ -type f \( -name "*.deb" -o -name "*.AppImage" -o -name "*.msi" -o -name "*.exe" -o -name "*.dmg" \) | while read file; do
filename=$(basename "$file")