Skip to content

Commit bc1f49e

Browse files
committed
install pyyaml in workflow, update configs to include language, add check in lint_config.py
1 parent 7889fcc commit bc1f49e

File tree

3 files changed

+31
-16
lines changed

3 files changed

+31
-16
lines changed

.evergreen/config.yml

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -325,7 +325,7 @@ buildvariants:
325325
batchtime: 10080 # 1 week
326326

327327
# TODO: INTPYTHON-668
328-
# - name: test-chatgpt-retrieval-plugin-rhel
328+
# - name: test-chatgpt-retrieval-plugin-python-rhel
329329
# display_name: ChatGPT Retrieval Plugin
330330
# tags: [python]
331331
# expansions:
@@ -338,7 +338,7 @@ buildvariants:
338338
# batchtime: 10080 # 1 week
339339

340340
# TODO: INTPYTHON-669
341-
# - name: test-llama-index-vectorstore-rhel
341+
# - name: test-llama-index-vectorstore-python-rhel
342342
# display_name: LlamaIndex RHEL Vector Store
343343
# tags: [python]
344344
# expansions:
@@ -351,7 +351,7 @@ buildvariants:
351351
# # - name: test-llama-index-remote
352352
# # batchtime: 10080 # 1 week
353353

354-
- name: test-docarray-rhel
354+
- name: test-docarray-python-rhel
355355
display_name: DocArray RHEL
356356
tags: [python]
357357
expansions:
@@ -362,7 +362,7 @@ buildvariants:
362362
- name: test-docarray-local
363363
- name: test-docarray-remote
364364

365-
- name: test-pymongo-voyageai-rhel
365+
- name: test-pymongo-voyageai-python-rhel
366366
display_name: PyMongo-VoyageAI RHEL
367367
tags: [python]
368368
expansions:
@@ -373,8 +373,9 @@ buildvariants:
373373
- name: test-pymongo-voyageai-local
374374
- name: test-pymongo-voyageai-remote
375375

376-
- name: test-crewai-tools-rhel
376+
- name: test-crewai-tools-python-rhel
377377
display_name: CrewAI-Tools Ubuntu
378+
tags: [python]
378379
expansions:
379380
DIR: crewai-tools
380381
run_on:
@@ -383,7 +384,7 @@ buildvariants:
383384
- name: test-crewai-tools-local
384385
- name: test-crewai-tools-remote
385386

386-
- name: test-haystack-embeddings-rhel
387+
- name: test-haystack-embeddings-python-rhel
387388
display_name: Haystack Embeddings RHEL
388389
tags: [python]
389390
expansions:
@@ -395,7 +396,7 @@ buildvariants:
395396
# TODO: INTPYTHON-465
396397
# - name: test-haystack-embeddings-remote
397398

398-
- name: test-haystack-fulltext-rhel
399+
- name: test-haystack-fulltext-python-rhel
399400
display_name: Haystack FullText RHEL
400401
tags: [python]
401402
expansions:
@@ -407,7 +408,7 @@ buildvariants:
407408
# TODO: INTPYTHON-465
408409
# - name: test-haystack-fulltext-remote
409410

410-
- name: test-langchaingo-ubuntu
411+
- name: test-langchaingo-golang-ubuntu
411412
display_name: LangchainGo Ubuntu2204
412413
tags: [golang]
413414
expansions:

.evergreen/lint_config.py

Lines changed: 21 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -25,9 +25,10 @@ def load_yaml_file(file_path: str) -> Dict[Any, Any]:
2525
return yaml.safe_load(file) or {}
2626

2727

28-
def check_buildvariant_tags(data: Dict[Any, Any]) -> List[str]:
28+
def check_buildvariants(data: Dict[Any, Any]) -> List[str]:
2929
"""
30-
Check if buildvariant tasks contain at least one required language tag.
30+
Check if buildvariant tasks contain at least one required language tag
31+
as well as the language within the buildvariant name.
3132
3233
Example Buildvariant structure in YAML:
3334
buildvariants:
@@ -57,21 +58,34 @@ def check_buildvariant_tags(data: Dict[Any, Any]) -> List[str]:
5758

5859
for i, buildvariant in enumerate(buildvariants):
5960
if not isinstance(buildvariant, dict):
60-
errors.append(f"buildvariants[{i}] should be a dictionary")
61+
errors.append(f"buildvariants[{i}] should contain sub-fields")
6162
continue
6263

63-
buildvariant_name = buildvariant.get("display_name", f"buildvariant_{i}")
64+
buildvariant_name = buildvariant.get("name", "")
65+
if not buildvariant_name:
66+
errors.append(f"buildvariants[{i}] is missing 'name'")
67+
continue
68+
else:
69+
if all([f"-{lang}-" not in buildvariant_name for lang in VALID_LANGUAGES]):
70+
errors.append(
71+
f"buildvariant '{buildvariant_name}' should contain one"
72+
f" '-[{', '.join(VALID_LANGUAGES)}]-' in its name"
73+
f"got: {buildvariant_name}",
74+
)
75+
76+
buildvariant_display_name = buildvariant.get("display_name", buildvariant_name)
77+
6478
tags = buildvariant.get("tags", [])
6579

6680
if not isinstance(tags, list) or len(tags) != 1:
6781
errors.append(
68-
f"'tags' in buildvariant '{buildvariant_name}' should be a list of size 1"
82+
f"'tags' in buildvariant '{buildvariant_display_name}' should be a list of size 1"
6983
)
7084
continue
7185

7286
if tags[0] not in VALID_LANGUAGES:
7387
errors.append(
74-
f"buildvariant '{buildvariant_name}' has invalid tag '{tags[0]}'. "
88+
f"buildvariant '{buildvariant_display_name}' has invalid tag '{tags[0]}'. "
7589
f"Valid tags are: {', '.join(VALID_LANGUAGES)}"
7690
)
7791
return errors
@@ -85,7 +99,7 @@ def main():
8599
if not data:
86100
raise FileNotFoundError(f"Failed to load or parse {CONFIG_YML}")
87101

88-
errors = check_buildvariant_tags(data)
102+
errors = check_buildvariants(data)
89103

90104
if errors:
91105
logger.error("❌ Errors found in %s:", CONFIG_YML)

.github/workflows/lint.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ jobs:
2323
python-version: '3.10'
2424
- name: Install Python dependencies
2525
run: |
26-
python -m pip install -U pip pre-commit
26+
python -m pip install -U pip pre-commit pyyaml
2727
- name: Run linters
2828
run: |
2929
pre-commit run --hook-stage=manual --all-files

0 commit comments

Comments
 (0)