Update: MCP registry install config flow #85
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: CI | |
| on: | |
| push: | |
| branches: | |
| - main | |
| - "release/**" | |
| paths-ignore: | |
| - README.md | |
| - CONTRIBUTING.md | |
| - SECURITY.md | |
| - LICENSE | |
| - assets/** | |
| pull_request: | |
| paths-ignore: | |
| - README.md | |
| - CONTRIBUTING.md | |
| - SECURITY.md | |
| - LICENSE | |
| - assets/** | |
| workflow_dispatch: | |
| concurrency: | |
| group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }} | |
| cancel-in-progress: true | |
| jobs: | |
| backend-compat: | |
| runs-on: ubuntu-latest | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| python-version: | |
| - "3.11" | |
| - "3.12" | |
| - "3.13" | |
| - "3.14" | |
| steps: | |
| - uses: actions/checkout@v6 | |
| - uses: actions/setup-python@v6 | |
| with: | |
| python-version: ${{ matrix.python-version }} | |
| - name: Install Python dependencies | |
| run: | | |
| python -m venv .venv | |
| ./.venv/bin/python -m pip install --upgrade pip | |
| ./.venv/bin/pip install -r requirements.txt | |
| - name: Backend compatibility tests | |
| run: bash scripts/test_backend.sh | |
| frontend-validate: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v6 | |
| - uses: actions/setup-python@v6 | |
| with: | |
| python-version: "3.11" | |
| - uses: actions/setup-node@v6 | |
| with: | |
| node-version: "20" | |
| cache: "npm" | |
| - name: Install Python dependencies | |
| run: | | |
| python -m venv .venv | |
| ./.venv/bin/pip install -r requirements.txt | |
| - name: Install Node dependencies | |
| run: npm ci | |
| - name: Check version sync | |
| run: ./.venv/bin/python scripts/sync_version.py --check | |
| - name: Check release target resolver | |
| run: npm run release-targets:check | |
| - name: Frontend typecheck | |
| run: npm run typecheck | |
| - name: OpenAPI codegen drift check | |
| run: npm run codegen:check | |
| - name: Frontend tests | |
| run: npm test | |
| - name: Frontend build | |
| run: npm run build | |
| package-smoke: | |
| name: package-smoke-${{ matrix.target }} | |
| runs-on: ${{ matrix.runner }} | |
| if: startsWith(github.ref, 'refs/heads/release/') || github.event_name == 'workflow_dispatch' | |
| needs: | |
| - backend-compat | |
| - frontend-validate | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| include: | |
| - target: darwin-arm64 | |
| runner: macos-14 | |
| homebrew: true | |
| - target: darwin-x64 | |
| runner: macos-15-intel | |
| homebrew: true | |
| - target: linux-x64 | |
| runner: ubuntu-latest | |
| homebrew: false | |
| - target: linux-arm64 | |
| runner: ubuntu-24.04-arm | |
| homebrew: false | |
| steps: | |
| - uses: actions/checkout@v6 | |
| - uses: actions/setup-python@v6 | |
| with: | |
| python-version: "3.11" | |
| - uses: actions/setup-node@v6 | |
| with: | |
| node-version: "20" | |
| cache: "npm" | |
| - name: Install build dependencies | |
| run: | | |
| python -m venv .venv | |
| ./.venv/bin/python -m pip install --upgrade pip | |
| ./.venv/bin/python -m pip install -r requirements.txt .[build] | |
| npm ci | |
| - name: Build release artifact | |
| run: ./.venv/bin/python scripts/build_release.py | |
| - name: Validate packaged binary | |
| run: | | |
| VERSION="$(cat skill_manager/VERSION)" | |
| ARTIFACT="$(find .artifacts/release -name '*${{ matrix.target }}.tar.gz' -print -quit)" | |
| ./.venv/bin/python scripts/validate_release_artifact.py --artifact "$ARTIFACT" --version "$VERSION" | |
| - name: Validate npm wrapper with local artifact | |
| run: | | |
| ARTIFACT="$(find .artifacts/release -name '*${{ matrix.target }}.tar.gz' -print -quit)" | |
| bash scripts/validate_npm_wrapper.sh "$ARTIFACT" | |
| - name: Validate Homebrew formula install smoke | |
| if: matrix.homebrew | |
| run: | | |
| VERSION="$(cat skill_manager/VERSION)" | |
| ARTIFACT="$(find .artifacts/release -name '*${{ matrix.target }}.tar.gz' -print -quit)" | |
| bash scripts/validate_homebrew_formula.sh "$VERSION" "$ARTIFACT" | |
| - name: Upload packaged artifacts | |
| uses: actions/upload-artifact@v7 | |
| with: | |
| name: package-smoke-${{ matrix.target }} | |
| path: .artifacts/release/* |