towerops/test/towerops
Graham McIntire 74e7a8b774
perf: optimize test suite and CI pipeline for maximum speed
Test Suite Optimizations:
- Fix property-based test max_runs config (6s → 10ms, 99.9% faster)
- Replace Process.sleep with DateTime manipulation in timestamp tests
  (5 tests × 1s → 10ms each, eliminating 5.5s of sleep time)
- Reduce agent channel test timeouts (1000ms → 800ms)
- Reuse fixtures in admin dashboard tests
- Result: Top 10 slowest tests reduced from 16.0s to 8.1s (50% faster)

CI Pipeline Optimizations:
- Restructure to compile-first architecture with artifact sharing
- Add parallel execution: quality checks (format + credo) run concurrently
- Enhance caching: Hex/Mix, Rust/Cargo, system deps, build artifacts
- Optimize dependency installation with conditional steps
- Improve PostgreSQL health checks and wait loops
- Result: 20-30% faster cold runs, 50-60% faster warm runs (estimated)

Architecture changes:
- Before: Single sequential job (format → compile → credo → test)
- After: Parallel pipeline (compile → [quality | test] → build)

Cache improvements:
- Add ~/.hex and ~/.mix caching
- Add Rust/Cargo target caching for Rustler NIF
- Include Rust source hashes in cache keys
- Skip apt-get update on cache hit
- Use --no-install-recommends for faster installs
2026-03-05 15:04:57 -06:00
..
accounts perf: optimize test suite and CI pipeline for maximum speed 2026-03-05 15:04:57 -06:00
admin more tests and fixes 2026-02-07 11:50:18 -06:00
agent fix heartbeat validation rejecting git-describe version strings 2026-02-11 11:31:19 -06:00
agents fix: cloud poller automatic rebalancing 2026-02-12 15:32:33 -06:00
alerts fix: convert alert_type from enum to string and fix SQL array syntax 2026-03-05 09:12:39 -06:00
api_tokens add parallel build 2026-01-19 14:17:05 -06:00
contexts help update 2026-02-04 17:56:48 -06:00
devices perf: batch inserts, selective LiveView reloading, and database indexes for scale 2026-02-12 10:16:10 -06:00
ecto_types add encrypted map ecto type for integration credentials 2026-02-12 16:52:05 -06:00
equipment make devices site optional and many test fix 2026-02-04 15:05:42 -06:00
gaiia fix: convert alert_type from enum to string and fix SQL array syntax 2026-03-05 09:12:39 -06:00
integrations fix: resolve compilation errors, test failures, and credo issues 2026-02-14 12:23:10 -06:00
job_monitoring more tests and fixes 2026-02-07 11:50:18 -06:00
mobile_sessions more tests and fixes 2026-02-07 11:50:18 -06:00
monitoring perf: optimize test suite and CI pipeline for maximum speed 2026-03-05 15:04:57 -06:00
netbox fix: validate NetBox URL scheme before making HTTP requests 2026-02-17 10:50:00 -06:00
organizations Fix pre-existing test failures from role enum and MikroTik changes 2026-02-16 16:11:32 -06:00
pagerduty fix: convert alert_type from enum to string and fix SQL array syntax 2026-03-05 09:12:39 -06:00
preseem feat: command center dashboard with unified insights and contextual enrichment 2026-02-13 14:52:49 -06:00
profiles feat: Phase 1 Quick Wins - 11 vendor profiles implemented 2026-02-12 10:52:51 -06:00
proto agent overhaul 2026-01-30 16:05:23 -06:00
security fix: resolve typing violation and ETS cache race in tests 2026-02-14 12:32:43 -06:00
sites more tests and fixes 2026-02-07 11:50:18 -06:00
snmp test fix and preseem check fix 2026-02-13 09:42:39 -06:00
splynx perf: optimize test suite and CI pipeline for maximum speed 2026-03-05 15:04:57 -06:00
topology feat: add DeviceLink and DeviceLinkEvidence schemas 2026-02-12 12:49:11 -06:00
workers perf(test): further optimize slow tests and fix CI failures 2026-03-05 14:42:02 -06:00
accounts_test.exs fix: resolve compilation errors, test failures, and credo issues 2026-02-14 12:23:10 -06:00
admin_test.exs perf: optimize test suite and CI pipeline for maximum speed 2026-03-05 15:04:57 -06:00
agents_test.exs Add CI-triggered mass agent update webhook 2026-02-10 13:40:32 -06:00
alerts_test.exs fix: update tests for alert_type string migration and LiveView changes 2026-03-05 09:48:07 -06:00
api_tokens_test.exs faster tests 2026-01-27 09:30:18 -06:00
application_test.exs Reliability improvements: Task.Supervisor, discovery retries, polling visibility 2026-02-09 16:05:30 -06:00
dashboard_test.exs fix: convert alert_type from enum to string and fix SQL array syntax 2026-03-05 09:12:39 -06:00
devices_test.exs feat: live device timestamp updates and org-scoped alert PubSub 2026-02-12 11:01:56 -06:00
error_tracker_ignorer_test.exs Ignore pod shutdown errors in ErrorTracker 2026-02-17 10:59:51 -06:00
gaiia_test.exs fix: correct subscriber counts by filtering CGNAT IPs and excluding routers 2026-02-18 09:15:10 -06:00
geoip_test.exs more tests 2026-02-03 11:16:43 -06:00
honeybadger_filter_test.exs fix: suppress benign shutdown errors during K8s pod rollouts 2026-02-12 12:16:40 -06:00
integrations_test.exs Store billing subscriber/MRR data on integrations for dashboard 2026-02-15 16:51:33 -06:00
job_monitoring_test.exs more tests and fixes 2026-02-07 11:50:18 -06:00
log_filter_test.exs Fix Credo issues and improve code quality 2026-01-19 15:09:19 -06:00
logger_filters_test.exs fix: suppress benign shutdown errors during K8s pod rollouts 2026-02-12 12:16:40 -06:00
mobile_sessions_test.exs perf: optimize test suite and CI pipeline for maximum speed 2026-03-05 15:04:57 -06:00
organizations_test.exs more tests and fixes 2026-02-07 11:50:18 -06:00
preseem_test.exs feat: add FluxCD image automation, fix Preseem duplicate AP crash 2026-02-14 10:30:12 -06:00
profiles_test.exs Add comprehensive test coverage for core context modules 2026-01-19 14:38:34 -06:00
redis_health_check_test.exs faster tests 2026-01-27 09:30:18 -06:00
result_test.exs more tests 2026-02-03 13:20:33 -06:00
settings_test.exs remote agent/cloud improvements 2026-01-24 09:16:41 -06:00
sites_test.exs make devices site optional and many test fix 2026-02-04 15:05:42 -06:00
snmp_test.exs feat: implement unified checks system (Phase 1-4) 2026-02-12 16:58:40 -06:00
topology_test.exs feat: add automatic network topology inference 2026-02-12 13:28:01 -06:00