Skip to content

Commit 4ee571f

Browse files
authored
Merge pull request #308 from syncable-dev/develop
Develop
2 parents 8153620 + 81d669b commit 4ee571f

13 files changed

Lines changed: 72 additions & 16 deletions

.github/workflows/ci.yml

Lines changed: 56 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,8 @@
11
name: CI
22

33
on:
4-
push:
5-
branches: [develop]
64
pull_request:
7-
branches: [develop]
5+
branches: [main]
86

97
env:
108
CARGO_TERM_COLOR: always
@@ -13,8 +11,34 @@ env:
1311
RUSTFLAGS: ""
1412

1513
jobs:
14+
# Detect what changed to decide which jobs to run
15+
changes:
16+
name: Detect Changes
17+
runs-on: ubuntu-latest
18+
outputs:
19+
rust: ${{ steps.filter.outputs.rust }}
20+
installer: ${{ steps.filter.outputs.installer }}
21+
steps:
22+
- uses: actions/checkout@v4
23+
- uses: dorny/paths-filter@v3
24+
id: filter
25+
with:
26+
filters: |
27+
rust:
28+
- 'src/**'
29+
- 'Cargo.toml'
30+
- 'Cargo.lock'
31+
- 'tests/**/*.rs'
32+
- '.github/workflows/ci.yml'
33+
installer:
34+
- 'installer/**'
35+
- 'skills/**'
36+
37+
# Rust build, test, lint — only when Rust code changes
1638
build:
1739
name: Build & Test
40+
needs: changes
41+
if: needs.changes.outputs.rust == 'true'
1842
runs-on: ${{ matrix.os }}
1943
strategy:
2044
fail-fast: false
@@ -68,9 +92,37 @@ jobs:
6892
-A clippy::manual_strip -A clippy::manual_div_ceil \
6993
-A dead_code -A unused_assignments
7094
71-
# Security audit
95+
# Installer tests — only when installer or skills change
96+
installer:
97+
name: Installer Tests
98+
needs: changes
99+
if: needs.changes.outputs.installer == 'true'
100+
runs-on: ubuntu-latest
101+
steps:
102+
- uses: actions/checkout@v4
103+
104+
- name: Setup Node.js
105+
uses: actions/setup-node@v4
106+
with:
107+
node-version: '20'
108+
109+
- name: Install dependencies
110+
working-directory: installer
111+
run: npm ci
112+
113+
- name: Build
114+
working-directory: installer
115+
run: npm run build
116+
117+
- name: Run tests
118+
working-directory: installer
119+
run: npm test
120+
121+
# Security audit — only when Rust deps change
72122
security:
73123
name: Security Audit
124+
needs: changes
125+
if: needs.changes.outputs.rust == 'true'
74126
runs-on: ubuntu-latest
75127
permissions:
76128
checks: write

.github/workflows/release-plz.yml

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,10 @@ on:
44
push:
55
branches:
66
- main
7+
paths:
8+
- 'src/**'
9+
- 'Cargo.toml'
10+
- 'Cargo.lock'
711

812
permissions:
913
contents: write
@@ -64,4 +68,4 @@ jobs:
6468
uses: release-plz/action@v0.5
6569
with:
6670
command: release-pr
67-
manifest_path: Cargo.toml
71+
manifest_path: Cargo.toml

skills/commands/syncable-analyze.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
---
22
name: syncable-analyze
3-
description: Use when analyzing a project's tech stack, detecting languages, frameworks, runtimes, or dependencies using Syncable CLI. Trigger on: "what stack is this", "analyze this project", "detect frameworks", "what languages does this use".
3+
description: Analyze a project's tech stack including languages, frameworks, runtimes, package managers, and dependencies using the Syncable CLI sync-ctl tool
44
---
55

66
## Purpose

skills/commands/syncable-dependencies.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
---
22
name: syncable-dependencies
3-
description: Use when auditing project dependencies for licenses, production/dev split, or detailed dependency analysis using Syncable CLI. Trigger on: "license audit", "list dependencies", "dependency analysis", "what licenses am I using", "show me all packages".
3+
description: Audit project dependencies for licenses, production vs development split, and detailed package analysis using the Syncable CLI sync-ctl tool
44
---
55

66
## Purpose

skills/commands/syncable-optimize.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
---
22
name: syncable-optimize
3-
description: Use when optimizing Kubernetes resource requests/limits, analyzing costs, or detecting configuration drift using Syncable CLI. Trigger on: "optimize k8s", "right-size pods", "k8s cost analysis", "resource recommendations", "over-provisioned containers".
3+
description: Optimize Kubernetes resource requests and limits, analyze costs, detect over-provisioned containers, and right-size pods using the Syncable CLI sync-ctl tool
44
---
55

66
## Purpose

skills/commands/syncable-platform.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
---
22
name: syncable-platform
3-
description: Use when authenticating with Syncable, switching projects/orgs/environments, checking context, or deploying services through the Syncable platform. Trigger on: "syncable login", "select project", "switch project", "change project to", "use environment", "switch org", "deploy to syncable", "list environments", "what project am I on", "show current context".
3+
description: Authenticate, login, sign in to Syncable platform. Switch organizations, projects, and environments. Deploy services to cloud providers. Check current context and manage platform settings using sync-ctl
44
---
55

66
## Purpose

skills/commands/syncable-security.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
---
22
name: syncable-security
3-
description: Use when scanning code for secrets, credentials, API keys, or insecure code patterns using Syncable CLI. Trigger on: "scan for secrets", "find leaked credentials", "security scan", "is this code secure", "check for hardcoded passwords".
3+
description: Scan code for leaked secrets, credentials, API keys, hardcoded passwords, and insecure code patterns using the Syncable CLI sync-ctl security scanner
44
---
55

66
## Purpose

skills/commands/syncable-validate.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
---
22
name: syncable-validate
3-
description: Use when linting or validating Dockerfiles, Docker Compose files, Terraform configs, or Kubernetes manifests using Syncable CLI. Trigger on: "lint Dockerfile", "validate compose", "check terraform", "is my IaC correct", "lint my infrastructure files".
3+
description: Lint and validate Dockerfiles, Docker Compose files, Kubernetes manifests, Helm charts, and Terraform configs using the Syncable CLI sync-ctl tool
44
---
55

66
## Purpose

skills/commands/syncable-vulnerabilities.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
---
22
name: syncable-vulnerabilities
3-
description: Use when checking project dependencies for known CVEs or security vulnerabilities using Syncable CLI. Trigger on: "check for CVEs", "vulnerable dependencies", "dependency security", "are my packages safe", "npm audit", "cargo audit".
3+
description: Check project dependencies for known CVEs and security vulnerabilities across npm, pip, cargo, and go ecosystems using the Syncable CLI sync-ctl tool
44
---
55

66
## Purpose

skills/workflows/syncable-deploy-pipeline.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
---
22
name: syncable-deploy-pipeline
3-
description: Use when deploying a project through Syncable - orchestrates auth, analysis, security gating, and deployment via Syncable CLI. Trigger on: "deploy this", "push to syncable", "set up deployment", "deploy my project".
3+
description: Deploy a project through Syncable by orchestrating authentication, project analysis, security gating, and cloud deployment using the Syncable CLI sync-ctl tool
44
---
55

66
## Purpose

0 commit comments

Comments
 (0)