Skip to content

Commit f63b56f

Browse files
committed
ci: make root checks contrib-aware
1 parent 9953029 commit f63b56f

2 files changed

Lines changed: 37 additions & 36 deletions

File tree

.github/workflows/ci.yml

Lines changed: 5 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -47,17 +47,14 @@ jobs:
4747
uv --version
4848
python --version
4949
50+
- name: Verify contrib packaging contract
51+
run: python3 scripts/contrib_packages.py verify
52+
5053
- name: Sync dependencies
5154
run: make sync
5255

53-
- name: Lint
54-
run: make lint
55-
56-
- name: Type check
57-
run: make typecheck
58-
59-
- name: Test with coverage
60-
run: make test
56+
- name: Run Python checks
57+
run: make check
6158

6259
- name: Upload coverage to Codecov
6360
uses: codecov/codecov-action@v4

Makefile

Lines changed: 32 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
.PHONY: help sync openapi-spec openapi-spec-check test test-extras test-all models-test test-models test-sdk lint lint-fix typecheck check build build-models build-server build-sdk publish publish-models publish-server publish-sdk hooks-install hooks-uninstall prepush evaluators-test evaluators-lint evaluators-lint-fix evaluators-typecheck evaluators-build galileo-test galileo-lint galileo-lint-fix galileo-typecheck galileo-build sdk-ts-generate sdk-ts-overlay-test sdk-ts-name-check sdk-ts-generate-check sdk-ts-build sdk-ts-test sdk-ts-lint sdk-ts-typecheck sdk-ts-release-check sdk-ts-publish-dry-run sdk-ts-publish telemetry-test telemetry-lint telemetry-lint-fix telemetry-typecheck telemetry-build telemetry-publish
1+
.PHONY: help sync openapi-spec openapi-spec-check test test-extras test-all models-test test-models test-sdk lint lint-fix typecheck check build build-models build-server build-sdk publish publish-models publish-server publish-sdk hooks-install hooks-uninstall prepush evaluators-test evaluators-lint evaluators-lint-fix evaluators-typecheck evaluators-build contrib-test contrib-lint contrib-lint-fix contrib-typecheck contrib-build sdk-ts-generate sdk-ts-overlay-test sdk-ts-name-check sdk-ts-generate-check sdk-ts-build sdk-ts-test sdk-ts-lint sdk-ts-typecheck sdk-ts-release-check sdk-ts-publish-dry-run sdk-ts-publish telemetry-test telemetry-lint telemetry-lint-fix telemetry-typecheck telemetry-build telemetry-publish
22

33
# Workspace package names
44
PACK_MODELS := agent-control-models
@@ -17,8 +17,16 @@ TS_SDK_DIR := sdks/typescript
1717
ENGINE_DIR := engine
1818
TELEMETRY_DIR := telemetry
1919
EVALUATORS_DIR := evaluators/builtin
20-
GALILEO_DIR := evaluators/contrib/galileo
20+
CONTRIB_DIR := evaluators/contrib
2121
UI_DIR := ui
22+
CONTRIB_PACKAGE_NAMES := $(shell python3 scripts/contrib_packages.py names)
23+
24+
define run-contrib-target
25+
@set -e; \
26+
for package in $(CONTRIB_PACKAGE_NAMES); do \
27+
$(MAKE) -C $(CONTRIB_DIR)/$$package $(1); \
28+
done
29+
endef
2230

2331
help:
2432
@echo "Agent Control - Makefile commands"
@@ -33,10 +41,10 @@ help:
3341
@echo " make openapi-spec-check - verify OpenAPI generation succeeds"
3442
@echo ""
3543
@echo "Test:"
36-
@echo " make test - run tests for core packages (models, telemetry, server, engine, sdk, evaluators)"
44+
@echo " make test - run tests for core packages and all discovered contrib evaluators"
3745
@echo " make models-test - run shared model tests with coverage"
38-
@echo " make test-extras - run tests for contrib evaluators (galileo, etc.)"
39-
@echo " make test-all - run all tests (core + extras)"
46+
@echo " make test-extras - run tests for all discovered contrib evaluators"
47+
@echo " make test-all - alias for make test"
4048
@echo " make sdk-ts-test - run TypeScript SDK tests"
4149
@echo ""
4250
@echo "Quality:"
@@ -84,7 +92,7 @@ openapi-spec-check: openapi-spec
8492
# Test
8593
# ---------------------------
8694

87-
test: models-test telemetry-test server-test engine-test sdk-test evaluators-test
95+
test: models-test telemetry-test server-test engine-test sdk-test evaluators-test contrib-test
8896

8997
models-test:
9098
cd $(MODELS_DIR) && uv run pytest --cov=src --cov-report=xml:../coverage-models.xml -q
@@ -94,11 +102,11 @@ test-models: models-test
94102
telemetry-test:
95103
$(MAKE) -C $(TELEMETRY_DIR) test
96104

97-
# Run tests for contrib evaluators (not included in default test target)
98-
test-extras: galileo-test
105+
# Run tests for discovered contrib evaluators
106+
test-extras: contrib-test
99107

100-
# Run all tests (core + extras)
101-
test-all: test test-extras
108+
# Run all tests (alias for test)
109+
test-all: test
102110

103111
# Run tests, lint, and typecheck
104112
check: test lint typecheck
@@ -107,17 +115,17 @@ check: test lint typecheck
107115
# Quality
108116
# ---------------------------
109117

110-
lint: engine-lint telemetry-lint evaluators-lint
118+
lint: engine-lint telemetry-lint evaluators-lint contrib-lint
111119
uv run --package $(PACK_MODELS) ruff check --config pyproject.toml models/src
112120
uv run --package $(PACK_SERVER) ruff check --config pyproject.toml server/src
113121
uv run --package $(PACK_SDK) ruff check --config pyproject.toml sdks/python/src
114122

115-
lint-fix: engine-lint-fix telemetry-lint-fix evaluators-lint-fix
123+
lint-fix: engine-lint-fix telemetry-lint-fix evaluators-lint-fix contrib-lint-fix
116124
uv run --package $(PACK_MODELS) ruff check --config pyproject.toml --fix models/src
117125
uv run --package $(PACK_SERVER) ruff check --config pyproject.toml --fix server/src
118126
uv run --package $(PACK_SDK) ruff check --config pyproject.toml --fix sdks/python/src
119127

120-
typecheck: engine-typecheck telemetry-typecheck evaluators-typecheck
128+
typecheck: engine-typecheck telemetry-typecheck evaluators-typecheck contrib-typecheck
121129
uv run --package $(PACK_MODELS) mypy --config-file pyproject.toml models/src
122130
uv run --package $(PACK_SERVER) mypy --config-file pyproject.toml server/src
123131
uv run --package $(PACK_SDK) mypy --config-file pyproject.toml sdks/python/src
@@ -135,7 +143,7 @@ telemetry-typecheck:
135143
# Build / Publish
136144
# ---------------------------
137145

138-
build: build-models build-server build-sdk engine-build telemetry-build evaluators-build
146+
build: build-models build-server build-sdk engine-build telemetry-build evaluators-build contrib-build
139147

140148
build-models:
141149
cd $(MODELS_DIR) && uv build
@@ -246,21 +254,17 @@ server-%:
246254
ui-%:
247255
$(MAKE) -C $(UI_DIR) $(patsubst ui-%,%,$@)
248256

249-
# ---------------------------
250-
# Contrib Evaluators (Galileo)
251-
# ---------------------------
252-
253-
galileo-test:
254-
$(MAKE) -C $(GALILEO_DIR) test
257+
contrib-test:
258+
$(call run-contrib-target,test)
255259

256-
galileo-lint:
257-
$(MAKE) -C $(GALILEO_DIR) lint
260+
contrib-lint:
261+
$(call run-contrib-target,lint)
258262

259-
galileo-lint-fix:
260-
$(MAKE) -C $(GALILEO_DIR) lint-fix
263+
contrib-lint-fix:
264+
$(call run-contrib-target,lint-fix)
261265

262-
galileo-typecheck:
263-
$(MAKE) -C $(GALILEO_DIR) typecheck
266+
contrib-typecheck:
267+
$(call run-contrib-target,typecheck)
264268

265-
galileo-build:
266-
$(MAKE) -C $(GALILEO_DIR) build
269+
contrib-build:
270+
$(call run-contrib-target,build)

0 commit comments

Comments
 (0)