Hybrid polyglot testkit: Go CLI bridge + wrapper smoke tests #30
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 | |
| pull_request: | |
| jobs: | |
| spec-kit-conformance: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v4 | |
| - name: Validate spec-kit artifact set | |
| run: | | |
| test -f testkit/.specify/memory/constitution.md | |
| test -f testkit/.specify/specs/001-polyglot-testkit/spec.md | |
| test -f testkit/.specify/specs/001-polyglot-testkit/plan.md | |
| test -f testkit/.specify/specs/001-polyglot-testkit/tasks.md | |
| test -f testkit/.specify/specs/001-polyglot-testkit/contracts/cli-protocol.json | |
| test -f testkit/.specify/specs/001-polyglot-testkit/checklists/quality.md | |
| - name: Validate spec-kit scaffold and status | |
| run: ./testkit/.specify/scripts/validate_specify.sh | |
| - name: Setup Go | |
| uses: actions/setup-go@v5 | |
| with: | |
| go-version: "stable" | |
| - name: Setup Python | |
| uses: actions/setup-python@v5 | |
| with: | |
| python-version: "3.12" | |
| - name: Setup Java | |
| uses: actions/setup-java@v4 | |
| with: | |
| distribution: temurin | |
| java-version: "21" | |
| cache: maven | |
| - name: Run Python spec conformance smoke tests | |
| run: | | |
| cd testkit/python | |
| python -m pip install -e ".[dev]" | |
| python -m pytest tests/ -v | |
| - name: Run Java spec conformance smoke tests | |
| run: | | |
| cd testkit/java | |
| mvn test | |
| test: | |
| runs-on: ubuntu-latest | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| go-version: ["1.22.x", "stable"] | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v4 | |
| - name: Setup Go | |
| uses: actions/setup-go@v5 | |
| with: | |
| go-version: ${{ matrix.go-version }} | |
| - name: Run vet | |
| run: go vet ./... | |
| - name: Run tests | |
| run: go test ./... |