Skip to content

Hybrid polyglot testkit: Go CLI bridge + wrapper smoke tests #30

Hybrid polyglot testkit: Go CLI bridge + wrapper smoke tests

Hybrid polyglot testkit: Go CLI bridge + wrapper smoke tests #30

Workflow file for this run

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 ./...