Skip to content

Conversation

@eliasecchig
Copy link
Collaborator

@eliasecchig eliasecchig commented Dec 22, 2025

Summary

  • Add Windows compatibility for template creation
  • Replace Jinja2 conditionals in filenames with Python-based logic
  • Add GitHub Actions workflow to test on Windows (runs on push to main)

Problem

Windows struggled to use the Agent Starter Pack because:

  1. Git cannot checkout the repo - filenames with Jinja2 syntax ({% if ... %}) exceed Windows' 260 character MAX_PATH limit
  2. The % character in filenames is interpreted as environment variable syntax on Windows

Solution

  • Add CONDITIONAL_FILES dict mapping file paths to Python condition functions
  • Add apply_conditional_files() function to handle file inclusion/exclusion post-copy
  • Rename 11 files/directories from Jinja2 syntax to simple names
  • Files are filtered after copying based on config values, then cleaned up by existing unused_* logic

Additional Fixes

  • Add **/.venv/* to _copy_without_render to exclude nested .venv directories from Jinja2 parsing
  • Fix lint error: use list unpacking instead of concatenation (RUF005)
  • Set UTF-8 encoding env vars for Windows CI to handle emoji output
  • Introduce retry for Gemini ADK agents to avoid 429s errors

@gemini-code-assist
Copy link
Contributor

Note

Gemini is unable to generate a summary for this pull request due to the file types involved not being currently supported.

- Replace Jinja2 conditionals in filenames with Python-based logic
- Add CONDITIONAL_FILES mapping and apply_conditional_files function
- Rename all conditional files to simple names
- Files are now filtered post-copy based on config values

This fixes the Windows path length issue where Jinja2 syntax in
filenames exceeded the 260 character MAX_PATH limit.
Add **/.venv/* pattern to _copy_without_render to prevent Cookiecutter
from parsing .venv files at any directory depth.
Set PYTHONIOENCODING and PYTHONUTF8 env vars to handle emoji output.
- Fix import sorting
- Use list unpacking instead of concatenation (RUF005)
- Add HttpRetryOptions with 3 attempts to all ADK agents (adk_base, adk_live, adk_a2a_base, agentic_rag)
- Improve pipeline parity test retry logic with exponential backoff for 429 errors
@eliasecchig eliasecchig merged commit cf2b7b5 into main Dec 22, 2025
32 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant