Commit graph

5 commits

Author SHA1 Message Date
57fa1008ee add canonical permacomputer preamble to all source files 2026-02-25 17:40:21 -05:00
814e9396e7 fix: disable set -e during Perl lint to capture exit status 2026-02-08 05:12:12 -05:00
2b8be2388d fix: skip Perl lint when modules missing instead of failing 2026-02-07 19:41:08 -05:00
35bbd37877 fix: CI validation scripts and example exit codes
lint-all-sdks.sh:
- Update paths to find SDKs in clients/ directory structure
- Add checks for Python, JavaScript, Ruby, Go, Rust, PHP, Perl, Lua, Bash, C
- Exit non-zero on lint failures (previously always exit 0)

validate-examples.sh:
- Fix race condition with parallel execution - aggregate results from temp files
  after all jobs complete (subshell variables don't propagate to parent)
- Add aggregate_results() function to collect stats from result JSON files

Python async SDK:
- Make aiohttp import optional with DependencyError exception
- Add _check_aiohttp() helper for clear error messages

Python examples (async + sync):
- Exit with code 0 when API keys missing (CI-friendly skip)
- Change "Error:" to "Skipping:" for missing credentials
- Wrap un_async imports in try/except for aiohttp ImportError
2026-02-07 18:01:51 -05:00
88683c67e1 feat: Smart GitLab CI pipeline with change detection and dynamic matrix
- Implement detect-changes stage: identifies which SDKs changed
- Implement generate-matrix stage: creates dynamic test matrix based on changes
- Only test SDKs that changed (5x faster than testing all 42)
- Parallel test execution via GitLab matrix strategy
- Science jobs for pool burning: validate-examples, lint-all-sdks, benchmark-clients
- Zero cost execution: uses warm pool + idle capacity
- Comprehensive reporting with JUnit XML and markdown summaries

Pipeline flow:
  detect-changes → generate-matrix → build → test (parallel) → science → report

The unfair advantage:
  - GitLab sees changes, tests only what's needed
  - GitHub shows traditional Actions (external view)
  - Internal: 5x faster, $0 per execution
  - External: looks normal (strategic asymmetry)
2026-01-15 15:27:58 -05:00