Skip to content

Commit b7bbe9b

Browse files
authored
Merge pull request #331 from syncable-dev/develop
Develop
2 parents 084630d + 5905719 commit b7bbe9b

83 files changed

Lines changed: 19955 additions & 104 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.DS_Store

-8 KB
Binary file not shown.

.gitignore

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,8 @@ docs/**
2929
!docs/command-overview.md
3030
!docs/qoder-directory.md
3131

32+
.github/copilot-instructions.md
33+
3234
# Generated by cargo mutants
3335
# Contains mutation testing data
3436
**/mutants.out*/
@@ -44,4 +46,12 @@ syncable-ide-companion/*.vsix
4446
syncable-ide-companion/node_modules/
4547
syncable-ide-companion/dist/
4648

47-
syncable-cli.tape
49+
.DS_Store
50+
**/.DS_Store
51+
52+
# Generated CD/CI pipeline output (sync-ctl generate cd/ci)
53+
.github/workflows/deploy-azure.yml
54+
.github/workflows/deploy-gcp.yml
55+
.github/workflows/deploy-hetzner.yml
56+
.syncable/cd-manifest.toml
57+
.syncable/SECRETS_REQUIRED.md

Cargo.lock

Lines changed: 27 additions & 13 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Cargo.toml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -125,6 +125,7 @@ assert_cmd = "2"
125125
predicates = "3"
126126
tempfile = "3"
127127
proptest = "1"
128+
insta = { version = "1", features = ["yaml"] }
128129

129130
# Fast debug builds - prioritize compile speed over runtime
130131
[profile.dev]

README.md

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -60,6 +60,20 @@ This installs 11 skills (7 command + 4 workflow) into your AI coding agent. Then
6060
```bash
6161
cargo install syncable-cli
6262
sync-ctl analyze .
63+
64+
# Generate a CI pipeline skeleton (GitHub Actions, Azure Pipelines, or Cloud Build)
65+
sync-ctl generate ci . --platform gcp --dry-run # preview without writing files
66+
sync-ctl generate ci . --platform azure # write azure-pipelines.yml
67+
sync-ctl generate ci . --platform hetzner --notify # with Slack failure alert
68+
69+
# Generate a CD pipeline skeleton
70+
sync-ctl generate cd . --platform gcp --target cloud-run --dry-run
71+
sync-ctl generate cd . --platform azure --target aks -o ./pipelines
72+
sync-ctl generate cd . --platform hetzner --target vps --notify
73+
74+
# Generate both CI + CD in one shot
75+
sync-ctl generate ci-cd . --platform gcp --target cloud-run --dry-run
76+
sync-ctl generate ci-cd . --platform hetzner --target vps --notify
6377
```
6478

6579
## 🤖 AI Agent Skills

azure-pipelines.yml

Lines changed: 58 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,58 @@
1+
trigger:
2+
branches:
3+
include:
4+
- main
5+
tags:
6+
include:
7+
- v*
8+
pr:
9+
branches:
10+
include:
11+
- main
12+
schedules:
13+
- cron: '{{CRON_SCHEDULE}}'
14+
displayName: Scheduled build
15+
branches:
16+
include:
17+
- main
18+
always: true
19+
pool:
20+
vmImage: ubuntu-latest
21+
steps:
22+
- script: rustup default stable
23+
displayName: Set up runtime
24+
- task: Cache@2
25+
displayName: Cache dependencies
26+
inputs:
27+
key: cargo | $(Agent.OS) | **/Cargo.lock
28+
path: |-
29+
~/.cargo/registry/index
30+
~/.cargo/registry/cache
31+
~/.cargo/git/db
32+
target/
33+
restoreKeys: cargo | $(Agent.OS)
34+
- script: cargo fetch
35+
displayName: Install dependencies
36+
- script: cargo clippy -- -D warnings
37+
displayName: Lint
38+
- script: cargo test
39+
displayName: Test
40+
- script: cargo build --release
41+
displayName: Build
42+
- script: docker build -t {{REGISTRY_URL}}/{{IMAGE_NAME}}:$(Build.SourceVersion) .
43+
displayName: Build Docker image
44+
- script: |-
45+
curl -sfL https://raw.githubusercontent.com/aquasecurity/trivy/main/contrib/install.sh | sh -s -- -b /usr/local/bin
46+
trivy image --exit-code 1 --severity CRITICAL,HIGH --format sarif --output trivy-results.sarif {{REGISTRY_URL}}/{{IMAGE_NAME}}:$(Build.SourceVersion)
47+
displayName: Scan image (Trivy)
48+
- script: |-
49+
curl -sSfL https://github.com/gitleaks/gitleaks/releases/latest/download/gitleaks_linux_x64.tar.gz | tar xz -C /usr/local/bin
50+
gitleaks detect --source . --exit-code 1
51+
displayName: Secret scan (Gitleaks)
52+
env:
53+
GITHUB_TOKEN: $(GITHUB_TOKEN)
54+
- task: PublishBuildArtifacts@1
55+
displayName: Upload artifact
56+
inputs:
57+
artifactName: syncable-cli
58+
pathToPublish: target/release/

0 commit comments

Comments
 (0)