CI: run lazy api/integration jobs with LAZY_TOOL_STRICT=1

The lazy dispatch jobs set use_lazy_toolbox=true but left LazyTool in its
permissive default, where an off-surface attribute read materialises the
tool with only a WARN log. An accidental whole-toolbox sweep (a new
caller iterating toolbox.tools() and touching an un-forwarded attr) would
therefore degrade lazy mode to O(N) tool parses without failing CI.

Set LAZY_TOOL_STRICT=1 in the lazy dispatch env so those reads raise
NotImplementedError instead, turning any such regression into a hard
failure on the lazy run. Legitimate materialisation (to_dict, the
execution path) goes through _materialize() directly and is unaffected.

Claude-Session: https://claude.ai/code/session_018L7ZmCv2ubKA3JNeSL8Pkr
This commit is contained in:
mvdbeek
2026-07-28 17:27:26 +02:00
parent 9a12b3aaed
commit bcd8690a2f
2 changed files with 10 additions and 0 deletions
+5
View File
@@ -58,6 +58,11 @@ jobs:
run: |
echo "GALAXY_CONFIG_OVERRIDE_USE_LAZY_TOOLBOX=true" >> $GITHUB_ENV
echo "GALAXY_CONFIG_OVERRIDE_TOOL_SOURCE_STORE=database" >> $GITHUB_ENV
# Raise instead of silently materialising on any off-surface
# LazyTool attribute read, so an accidental whole-toolbox
# materialisation regression fails the lazy run loudly rather
# than degrading to O(N) tool parses with only a WARN log.
echo "LAZY_TOOL_STRICT=1" >> $GITHUB_ENV
- uses: actions/checkout@v7.0.0
with:
path: 'galaxy root'
+5
View File
@@ -98,6 +98,11 @@ jobs:
run: |
echo "GALAXY_CONFIG_OVERRIDE_USE_LAZY_TOOLBOX=true" >> $GITHUB_ENV
echo "GALAXY_CONFIG_OVERRIDE_TOOL_SOURCE_STORE=database" >> $GITHUB_ENV
# Raise instead of silently materialising on any off-surface
# LazyTool attribute read, so an accidental whole-toolbox
# materialisation regression fails the lazy run loudly rather
# than degrading to O(N) tool parses with only a WARN log.
echo "LAZY_TOOL_STRICT=1" >> $GITHUB_ENV
- name: Prune unused docker image, volumes and containers
run: docker system prune -a -f
- name: Clean dotnet folder for space