Skip to content

Commit 650aa63

Browse files
Added windows packages releases and few changes
1 parent 0751276 commit 650aa63

12 files changed

Lines changed: 1067 additions & 11 deletions

File tree

.gitignore

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
# CloudSync CLI - Workspace Root Git Ignore
2+
3+
# Local CloudSync internal data directories
4+
.cloudsync/
5+
**/.cloudsync/
6+
7+
# Test directories and files
8+
clone-test/
9+
test-workspace/.env
10+
test-workspace/.replit
11+
test-workspace/node_modules/
12+
13+
# IDE files at the workspace root
14+
.vscode/
15+
.idea/
16+
17+
# Local backup files
18+
cloudsync-cli/.git.bak/
19+
20+
# Local environment overrides
21+
.env
22+
.env.local
23+
.env.*.local
Lines changed: 62 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,62 @@
1+
---
2+
name: Bug Report
3+
about: Create a report to help us improve
4+
title: "[BUG] "
5+
labels: bug
6+
assignees: ''
7+
8+
---
9+
10+
## 🐛 Bug Description
11+
12+
A clear and concise description of what the bug is.
13+
14+
## 🖥️ Environment
15+
16+
**CLI Version:**
17+
```
18+
cloudsync --version
19+
```
20+
21+
**Node.js Version:**
22+
```bash
23+
node --version
24+
```
25+
26+
**Operating System:**
27+
- [ ] Linux
28+
- [ ] macOS
29+
- [ ] Windows
30+
- [ ] Other (please specify)
31+
32+
## 📋 Steps to Reproduce
33+
34+
1. Go to '...'
35+
2. Run '...'
36+
3. See error
37+
38+
## 🔍 Expected Behavior
39+
40+
A clear and concise description of what you expected to happen.
41+
42+
## ❌ Actual Behavior
43+
44+
A clear and concise description of what actually happened.
45+
46+
## 📝 Log Output
47+
48+
```
49+
Paste any relevant log output here
50+
```
51+
52+
## 🔧 Attempted Fixes
53+
54+
What have you tried to fix the bug?
55+
56+
## 📸 Screenshots
57+
58+
If applicable, add screenshots to help explain your problem.
59+
60+
## 💡 Additional Context
61+
62+
Add any other context about the problem here.
Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
---
2+
name: Feature Request
3+
about: Suggest an idea for this project
4+
title: "[FEATURE] "
5+
labels: enhancement
6+
assignees: ''
7+
8+
---
9+
10+
## 📝 Feature Description
11+
12+
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
13+
14+
## 💡 Proposed Solution
15+
16+
A clear and concise description of what you want to happen.
17+
18+
## 🔄 Current Behavior
19+
20+
Describe the current behavior and why it doesn't meet your needs.
21+
22+
## 🔮 Benefits
23+
24+
Describe the benefits this feature would bring:
25+
-
26+
-
27+
-
28+
29+
## 🎯 Use Cases
30+
31+
Describe specific use cases for this feature:
32+
1. [Use case 1]
33+
2. [Use case 2]
34+
3. [Use case 3]
35+
36+
## 📚 Alternatives Considered
37+
38+
Describe any alternative solutions or features you've considered.
39+
40+
## 🔧 Implementation Ideas
41+
42+
Do you have any ideas on how this could be implemented?
43+
44+
## 📎 Additional Context
45+
46+
Add any other context or screenshots about the feature request here.
Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
## Description
2+
3+
Please include a summary of the changes and the related issue.
4+
5+
## Type of Change
6+
7+
- [ ] 🐛 Bug fix (non-breaking change which fixes an issue)
8+
- [ ] ✨ New feature (non-breaking change which adds functionality)
9+
- [ ] 💥 Breaking change (fix or feature that would cause existing functionality to not work as expected)
10+
- [ ] 📚 Documentation update
11+
- [ ] 🎨 Code style update (formatting, local variables)
12+
- [ ] 🔧 Configuration change
13+
- [ ] ⚡ Performance improvement
14+
- [ ] 🧹 Refactoring
15+
16+
## How Has This Been Tested?
17+
18+
Please describe the tests that you ran to verify your changes.
19+
20+
**Test Configuration:**
21+
- Node.js version:
22+
- OS:
23+
24+
**Test Results:**
25+
```
26+
Paste test results here
27+
```
28+
29+
## Checklist:
30+
31+
- [ ] My code follows the style guidelines of this project
32+
- [ ] I have performed a self-review of my code
33+
- [ ] I have commented my code, particularly in hard-to-understand areas
34+
- [ ] I have made corresponding changes to the documentation
35+
- [ ] My changes generate no new warnings
36+
- [ ] I have added tests that prove my fix is effective or that my feature works
37+
- [ ] New and existing unit tests pass locally with my changes
38+
- [ ] Any dependent changes have been merged and published
39+
40+
## Related Issues
41+
42+
Fixes # (issue)
43+
44+
## Additional Context
45+
46+
Add any other context or screenshots about the pull request here.
Lines changed: 190 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,190 @@
1+
name: CI/CD Pipeline
2+
3+
on:
4+
push:
5+
branches: [ main, develop ]
6+
pull_request:
7+
branches: [ main ]
8+
release:
9+
types: [ published ]
10+
workflow_dispatch:
11+
12+
jobs:
13+
# ============================================
14+
# LINT AND TEST
15+
# ============================================
16+
lint-and-test:
17+
name: Lint & Test (Node ${{ matrix.node }})
18+
runs-on: ubuntu-latest
19+
20+
strategy:
21+
matrix:
22+
node: ['18', '20', '22']
23+
24+
steps:
25+
- name: Checkout
26+
uses: actions/checkout@v4
27+
28+
- name: Setup Node.js ${{ matrix.node }}
29+
uses: actions/setup-node@v4
30+
with:
31+
node-version: ${{ matrix.node }}
32+
cache: 'npm'
33+
34+
- name: Install dependencies
35+
run: npm ci
36+
37+
- name: Run ESLint
38+
run: npm run lint || true
39+
40+
- name: Run tests
41+
run: npm test
42+
43+
- name: Upload coverage
44+
uses: codecov/codecov-action@v3
45+
with:
46+
file: ./coverage/lcov.info
47+
fail_ci_if_error: false
48+
49+
# ============================================
50+
# TEST ON WINDOWS
51+
# ============================================
52+
test-windows:
53+
name: Test on Windows
54+
runs-on: windows-latest
55+
56+
steps:
57+
- name: Checkout
58+
uses: actions/checkout@v4
59+
60+
- name: Setup Node.js
61+
uses: actions/setup-node@v4
62+
with:
63+
node-version: '20'
64+
cache: 'npm'
65+
66+
- name: Install dependencies
67+
run: npm ci
68+
69+
- name: Run tests
70+
run: npm test
71+
72+
- name: Test CLI help
73+
run: node bin/cloudsync.js --help
74+
75+
# ============================================
76+
# TEST ON MACOS
77+
# ============================================
78+
test-macos:
79+
name: Test on macOS
80+
runs-on: macos-latest
81+
82+
steps:
83+
- name: Checkout
84+
uses: actions/checkout@v4
85+
86+
- name: Setup Node.js
87+
uses: actions/setup-node@v4
88+
with:
89+
node-version: '20'
90+
cache: 'npm'
91+
92+
- name: Install dependencies
93+
run: npm ci
94+
95+
- name: Run tests
96+
run: npm test
97+
98+
# ============================================
99+
# SECURITY AUDIT
100+
# ============================================
101+
security-audit:
102+
name: Security Audit
103+
runs-on: ubuntu-latest
104+
105+
steps:
106+
- name: Checkout
107+
uses: actions/checkout@v4
108+
109+
- name: Setup Node.js
110+
uses: actions/setup-node@v4
111+
with:
112+
node-version: '20'
113+
114+
- name: Install dependencies
115+
run: npm ci
116+
117+
- name: Run npm audit
118+
run: npm audit --audit-level=high || true
119+
120+
# ============================================
121+
# BUILD PACKAGE
122+
# ============================================
123+
build:
124+
name: Build Package
125+
runs-on: ubuntu-latest
126+
needs: [lint-and-test]
127+
128+
steps:
129+
- name: Checkout
130+
uses: actions/checkout@v4
131+
132+
- name: Setup Node.js
133+
uses: actions/setup-node@v4
134+
with:
135+
node-version: '20'
136+
cache: 'npm'
137+
138+
- name: Install dependencies
139+
run: npm ci
140+
141+
- name: Build package
142+
run: npm run build || true
143+
144+
- name: Verify CLI
145+
run: |
146+
node bin/cloudsync.js --version
147+
node bin/cloudsync.js doctor
148+
149+
- name: Upload artifacts
150+
uses: actions/upload-artifact@v4
151+
with:
152+
name: cloudsync-cli-artifact
153+
path: |
154+
bin/
155+
src/
156+
package.json
157+
package-lock.json
158+
LICENSE
159+
README.md
160+
retention-days: 7
161+
162+
# ============================================
163+
# PUBLISH TO NPM (on release)
164+
# ============================================
165+
publish-npm:
166+
name: Publish to npm
167+
runs-on: ubuntu-latest
168+
needs: [lint-and-test, test-windows, test-macos]
169+
if: github.event_name == 'release'
170+
171+
steps:
172+
- name: Checkout
173+
uses: actions/checkout@v4
174+
175+
- name: Setup Node.js
176+
uses: actions/setup-node@v4
177+
with:
178+
node-version: '20'
179+
cache: 'npm'
180+
181+
- name: Install dependencies
182+
run: npm ci
183+
184+
- name: Run tests
185+
run: npm test
186+
187+
- name: Publish to npm
188+
run: npm publish
189+
env:
190+
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}

0 commit comments

Comments
 (0)