chore(deps): bump ujson from 5.12.1 to 5.13.0 (#31) #84
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: Test | |
| on: | |
| push: | |
| branches: [main] | |
| pull_request: | |
| concurrency: | |
| group: test-${{ github.ref }} | |
| cancel-in-progress: true | |
| jobs: | |
| test: | |
| runs-on: ${{ matrix.os }} | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| python: ["3.10", "3.11", "3.12", "3.13"] | |
| os: [ubuntu-latest, macos-latest, windows-latest] | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Setup uv | |
| uses: astral-sh/setup-uv@v3 | |
| with: | |
| enable-cache: true | |
| - name: Setup Python | |
| run: uv python install ${{ matrix.python }} | |
| - name: Setup Bun | |
| uses: oven-sh/setup-bun@v2 | |
| - name: Install dependencies | |
| run: | | |
| uv sync --extra dev | |
| bun install | |
| - name: Install PSScriptAnalyzer (Windows only) | |
| if: runner.os == 'Windows' | |
| shell: pwsh | |
| run: Install-Module -Name PSScriptAnalyzer -Force -Scope CurrentUser | |
| - name: Lint PowerShell scripts (Windows only) | |
| if: runner.os == 'Windows' | |
| shell: pwsh | |
| run: | | |
| $results = Invoke-ScriptAnalyzer -Path tools/install.ps1 -Settings tools/PSScriptAnalyzerSettings.psd1 | |
| if ($results) { | |
| $results | Format-Table -AutoSize | |
| throw "PSScriptAnalyzer found $($results.Count) issue(s)" | |
| } | |
| - name: Verify install.ps1 dry-run (Windows only) | |
| if: runner.os == 'Windows' | |
| shell: pwsh | |
| run: pwsh -File tools/install.ps1 -DryRun | |
| - name: Run tests | |
| run: make test | |
| # Pragmatic smoke test: the upstream Claude Code / Antigravity CLI container | |
| # images are not yet stable enough to run a full plugin-load step. For now | |
| # we exercise install.sh --dry-run (catches host-detection and path-layout | |
| # bugs), parse the host-specific manifest JSON (catches schema drift), and | |
| # re-run validate-skills (catches frontmatter drift). Full container-based | |
| # plugin-load tests can be added later when upstream images ship. | |
| smoke-test: | |
| name: Smoke test (${{ matrix.host }}) | |
| runs-on: ubuntu-latest | |
| needs: test | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| host: [claude-code, antigravity-cli] | |
| include: | |
| - host: claude-code | |
| install_name: claude | |
| - host: antigravity-cli | |
| install_name: antigravity | |
| env: | |
| HOST: ${{ matrix.host }} | |
| INSTALL_NAME: ${{ matrix.install_name }} | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Setup uv | |
| uses: astral-sh/setup-uv@v3 | |
| with: | |
| enable-cache: true | |
| - name: Setup Python | |
| run: uv python install 3.12 | |
| - name: Setup Bun | |
| uses: oven-sh/setup-bun@v2 | |
| - name: Install dependencies | |
| run: uv sync --extra dev | |
| - name: Install plugin (dry run) | |
| run: bash tools/install.sh --dry-run --only "$INSTALL_NAME" | |
| - name: Verify plugin manifest parses | |
| run: | | |
| case "$HOST" in | |
| claude-code) | |
| uv run python -c "import json; json.load(open('.claude-plugin/plugin.json'))" | |
| uv run python -c "import json; json.load(open('.claude-plugin/marketplace.json'))" | |
| ;; | |
| antigravity-cli) | |
| uv run python -c "import json; json.load(open('plugin.json'))" | |
| test -f agents/litestar-reviewer.md | |
| ;; | |
| esac | |
| - name: Validate shipped skills / commands / agents | |
| run: uv run python tools/validate-skills.py |