Release v1.2.0 #23
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 Binaries | |
| on: | |
| push: | |
| branches: ['main'] | |
| tags: ['v*'] | |
| pull_request: | |
| branches: ['main'] | |
| workflow_dispatch: | |
| permissions: | |
| contents: read | |
| jobs: | |
| build: | |
| runs-on: ${{ matrix.os }} | |
| strategy: | |
| matrix: | |
| include: | |
| - os: ubuntu-24.04 | |
| name: linux | |
| arch: amd64 | |
| - os: ubuntu-24.04-arm | |
| name: linux | |
| arch: arm64 | |
| - os: windows-latest | |
| name: windows | |
| arch: amd64 | |
| - os: macos-latest | |
| name: macos | |
| arch: arm64 | |
| - os: macos-15-intel | |
| name: macos | |
| arch: amd64 | |
| steps: | |
| - uses: actions/checkout@v6 | |
| - name: Build binary (Linux in Ubuntu 26.04 container) | |
| if: matrix.name == 'linux' | |
| shell: bash | |
| run: | | |
| # Docker container with Ubuntu 26.04 and build the binary inside it | |
| rm -rf dist/* | |
| docker run --rm \ | |
| -v "$PWD:/workspace" \ | |
| -w /workspace \ | |
| ubuntu:26.04 \ | |
| bash -c " | |
| set -e | |
| echo 'Setting up Ubuntu 26.04 build environment...' | |
| apt-get update -y | |
| apt-get install -y --fix-missing curl python3 python3-pip python3-venv binutils | |
| # Install uv (Python package manager) | |
| curl -LsSf https://astral.sh/uv/install.sh | sh | |
| export PATH=\"\$HOME/.local/bin:\$PATH\" | |
| echo 'Building binary with uv...' | |
| uv sync | |
| uv run build.py | |
| echo 'Build completed. Checking output:' | |
| ls -la dist/ | |
| " | |
| - name: Setup uv for Windows/macOS | |
| if: matrix.name != 'linux' | |
| uses: astral-sh/setup-uv@v7 | |
| - name: Build binary (Windows/macOS native) | |
| if: matrix.name != 'linux' | |
| shell: bash | |
| run: | | |
| rm -rf dist/* | |
| uv sync | |
| uv run build.py | |
| - name: Upload artifacts | |
| uses: actions/upload-artifact@v6 | |
| with: | |
| name: perfecto-mcp-${{ matrix.name }}-${{ matrix.arch }} | |
| path: dist/ |