Repository navigation
Commit 54706a2
committed
feat(cd): combined CI+CD command, config, secrets doc & tests (CD-23/24/25/26/27/28)
CD-23: Combined CI+CD command (generate ci-cd)
- Added CiCd variant to GenerateCommand with platform, ci_format, target,
registry, image_name, dry_run, output, force, notify flags
- handle_generate_cicd orchestrates both generators, cross-links secrets doc
- Wired in cli.rs, lib.rs, main.rs with telemetry tracking
CD-24: .syncable.cd.toml project-level config
- CdConfig struct with all-optional fields (platform, target, environments,
registry, image_name, health_check_path, migration_command, default_branch)
- load_cd_config: dedicated .syncable.cd.toml takes precedence over shared
.syncable.toml [cd] table
- merge_config_into_cd_context: config file layer between detection and CLI
- 19 unit tests
CD-27: CD secrets inventory documentation
- collect_cd_secret_names: scans rendered YAML for secrets.* references
- secret_metadata: known descriptions for Azure/GCP/Hetzner/Slack secrets
- render_cd_secrets_table: markdown table output
- generate_cd_secrets_doc: full document generator
CD-28: Hetzner prerequisites checklist
- Firewall rules (22/80/443/6443), SSH key, Docker, DNS checklist
- Auto-appended to secrets doc when platform is Hetzner
CD-25: Comprehensive unit tests (33 tests)
- cd_snapshot_tests: 24 tests covering Azure/GCP/Hetzner pipeline rendering,
environment structure, health check, migration, terraform, notification,
rollback, token resolution, multi-platform consistency, no hardcoded secrets
- cd_cross_linking_tests: 9 tests covering dispatch/environment consistency,
versioning+notification composability, terraform+rollback, reusable workflow
CD-26: Integration tests (31 tests)
- Full pipeline rendering for all 8 platform/target combinations
- No hardcoded secrets validation
- Secrets doc generation for Azure/GCP/Hetzner
- Context collection from 5 language fixtures (node/python/rust/go/java)
- Config loading + merging integration
- Cross-platform consistency, health check presence, secrets expression syntax
Total: 2,164 tests passing (0 failures)1 parent 2694691 commit 54706a2
10 files changed
Lines changed: 1958 additions & 2 deletions
File tree
- src
- generator/cd_generation
- handlers
- tests
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
854 | 854 | | |
855 | 855 | | |
856 | 856 | | |
| 857 | + | |
| 858 | + | |
| 859 | + | |
| 860 | + | |
| 861 | + | |
| 862 | + | |
| 863 | + | |
| 864 | + | |
| 865 | + | |
| 866 | + | |
| 867 | + | |
| 868 | + | |
| 869 | + | |
| 870 | + | |
| 871 | + | |
| 872 | + | |
| 873 | + | |
| 874 | + | |
| 875 | + | |
| 876 | + | |
| 877 | + | |
| 878 | + | |
| 879 | + | |
| 880 | + | |
| 881 | + | |
| 882 | + | |
| 883 | + | |
| 884 | + | |
| 885 | + | |
| 886 | + | |
| 887 | + | |
| 888 | + | |
| 889 | + | |
| 890 | + | |
| 891 | + | |
| 892 | + | |
| 893 | + | |
| 894 | + | |
| 895 | + | |
| 896 | + | |
| 897 | + | |
| 898 | + | |
| 899 | + | |
857 | 900 | | |
858 | 901 | | |
859 | 902 | | |
| |||
0 commit comments