Skip to content

Commit cad79c1

Browse files
Restructured workspace layout, moved workflows to root, and added root README/community files
1 parent 650aa63 commit cad79c1

14 files changed

Lines changed: 877 additions & 22 deletions
File renamed without changes.
File renamed without changes.
File renamed without changes.
Lines changed: 30 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,9 @@ jobs:
1616
lint-and-test:
1717
name: Lint & Test (Node ${{ matrix.node }})
1818
runs-on: ubuntu-latest
19+
defaults:
20+
run:
21+
working-directory: ./cloudsync-cli
1922

2023
strategy:
2124
matrix:
@@ -30,6 +33,7 @@ jobs:
3033
with:
3134
node-version: ${{ matrix.node }}
3235
cache: 'npm'
36+
cache-dependency-path: cloudsync-cli/package-lock.json
3337

3438
- name: Install dependencies
3539
run: npm ci
@@ -43,7 +47,7 @@ jobs:
4347
- name: Upload coverage
4448
uses: codecov/codecov-action@v3
4549
with:
46-
file: ./coverage/lcov.info
50+
file: ./cloudsync-cli/coverage/lcov.info
4751
fail_ci_if_error: false
4852

4953
# ============================================
@@ -52,6 +56,9 @@ jobs:
5256
test-windows:
5357
name: Test on Windows
5458
runs-on: windows-latest
59+
defaults:
60+
run:
61+
working-directory: ./cloudsync-cli
5562

5663
steps:
5764
- name: Checkout
@@ -62,6 +69,7 @@ jobs:
6269
with:
6370
node-version: '20'
6471
cache: 'npm'
72+
cache-dependency-path: cloudsync-cli/package-lock.json
6573

6674
- name: Install dependencies
6775
run: npm ci
@@ -78,6 +86,9 @@ jobs:
7886
test-macos:
7987
name: Test on macOS
8088
runs-on: macos-latest
89+
defaults:
90+
run:
91+
working-directory: ./cloudsync-cli
8192

8293
steps:
8394
- name: Checkout
@@ -88,6 +99,7 @@ jobs:
8899
with:
89100
node-version: '20'
90101
cache: 'npm'
102+
cache-dependency-path: cloudsync-cli/package-lock.json
91103

92104
- name: Install dependencies
93105
run: npm ci
@@ -101,6 +113,9 @@ jobs:
101113
security-audit:
102114
name: Security Audit
103115
runs-on: ubuntu-latest
116+
defaults:
117+
run:
118+
working-directory: ./cloudsync-cli
104119

105120
steps:
106121
- name: Checkout
@@ -124,6 +139,9 @@ jobs:
124139
name: Build Package
125140
runs-on: ubuntu-latest
126141
needs: [lint-and-test]
142+
defaults:
143+
run:
144+
working-directory: ./cloudsync-cli
127145

128146
steps:
129147
- name: Checkout
@@ -134,6 +152,7 @@ jobs:
134152
with:
135153
node-version: '20'
136154
cache: 'npm'
155+
cache-dependency-path: cloudsync-cli/package-lock.json
137156

138157
- name: Install dependencies
139158
run: npm ci
@@ -151,12 +170,12 @@ jobs:
151170
with:
152171
name: cloudsync-cli-artifact
153172
path: |
154-
bin/
155-
src/
156-
package.json
157-
package-lock.json
158-
LICENSE
159-
README.md
173+
cloudsync-cli/bin/
174+
cloudsync-cli/src/
175+
cloudsync-cli/package.json
176+
cloudsync-cli/package-lock.json
177+
cloudsync-cli/LICENSE
178+
cloudsync-cli/README.md
160179
retention-days: 7
161180

162181
# ============================================
@@ -167,6 +186,9 @@ jobs:
167186
runs-on: ubuntu-latest
168187
needs: [lint-and-test, test-windows, test-macos]
169188
if: github.event_name == 'release'
189+
defaults:
190+
run:
191+
working-directory: ./cloudsync-cli
170192

171193
steps:
172194
- name: Checkout
@@ -177,6 +199,7 @@ jobs:
177199
with:
178200
node-version: '20'
179201
cache: 'npm'
202+
cache-dependency-path: cloudsync-cli/package-lock.json
180203

181204
- name: Install dependencies
182205
run: npm ci

cloudsync-cli/.github/workflows/coverage.yml renamed to .github/workflows/coverage.yml

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,9 @@ jobs:
1313
coverage:
1414
name: Code Coverage
1515
runs-on: ubuntu-latest
16+
defaults:
17+
run:
18+
working-directory: ./cloudsync-cli
1619

1720
steps:
1821
- name: Checkout
@@ -23,6 +26,7 @@ jobs:
2326
with:
2427
node-version: '20'
2528
cache: 'npm'
29+
cache-dependency-path: cloudsync-cli/package-lock.json
2630

2731
- name: Install dependencies
2832
run: npm ci
@@ -38,7 +42,7 @@ jobs:
3842
- name: Upload coverage to Codecov
3943
uses: codecov/codecov-action@v3
4044
with:
41-
files: ./coverage/lcov.info
45+
files: ./cloudsync-cli/coverage/lcov.info
4246
fail_ci_if_error: false
4347
verbose: true
4448

@@ -48,6 +52,9 @@ jobs:
4852
code-quality:
4953
name: Code Quality
5054
runs-on: ubuntu-latest
55+
defaults:
56+
run:
57+
working-directory: ./cloudsync-cli
5158

5259
steps:
5360
- name: Checkout
@@ -58,6 +65,7 @@ jobs:
5865
with:
5966
node-version: '20'
6067
cache: 'npm'
68+
cache-dependency-path: cloudsync-cli/package-lock.json
6169

6270
- name: Install dependencies
6371
run: npm ci
@@ -74,6 +82,9 @@ jobs:
7482
dependency-analysis:
7583
name: Dependency Analysis
7684
runs-on: ubuntu-latest
85+
defaults:
86+
run:
87+
working-directory: ./cloudsync-cli
7788

7889
steps:
7990
- name: Checkout

cloudsync-cli/.github/workflows/github-packages.yml renamed to .github/workflows/github-packages.yml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,9 @@ jobs:
1212
publish-gpr:
1313
name: Publish to GitHub Packages
1414
runs-on: ubuntu-latest
15+
defaults:
16+
run:
17+
working-directory: ./cloudsync-cli
1518

1619
permissions:
1720
contents: read
@@ -27,6 +30,8 @@ jobs:
2730
node-version: '20'
2831
registry-url: 'https://npm.pkg.github.com'
2932
scope: '@tech4file'
33+
cache: 'npm'
34+
cache-dependency-path: cloudsync-cli/package-lock.json
3035

3136
- name: Configure npm for GitHub Packages
3237
run: |

cloudsync-cli/.github/workflows/release.yml renamed to .github/workflows/release.yml

Lines changed: 24 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,9 @@ jobs:
2323
strategy:
2424
matrix:
2525
arch: [x64]
26+
defaults:
27+
run:
28+
working-directory: ./cloudsync-cli
2629

2730
steps:
2831
- name: Checkout
@@ -80,7 +83,7 @@ jobs:
8083
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
8184
with:
8285
upload_url: ${{ steps.create_release.outputs.upload_url }}
83-
asset_path: ./cloudsync.exe
86+
asset_path: ./cloudsync-cli/cloudsync.exe
8487
asset_name: cloudsync-windows-x64.exe
8588
asset_content_type: application/octet-stream
8689

@@ -91,7 +94,7 @@ jobs:
9194
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
9295
with:
9396
upload_url: ${{ steps.create_release.outputs.upload_url }}
94-
asset_path: ./install.bat
97+
asset_path: ./cloudsync-cli/install.bat
9598
asset_name: CloudSync-Setup.bat
9699
asset_content_type: application/bat
97100

@@ -101,9 +104,9 @@ jobs:
101104
with:
102105
name: cloudsync-windows-exe
103106
path: |
104-
cloudsync.exe
105-
cloudsync-portable.exe
106-
install.bat
107+
cloudsync-cli/cloudsync.exe
108+
cloudsync-cli/cloudsync-portable.exe
109+
cloudsync-cli/install.bat
107110
retention-days: 30
108111

109112
# ============================================
@@ -112,6 +115,9 @@ jobs:
112115
build-linux:
113116
name: Build Linux Binary
114117
runs-on: ubuntu-latest
118+
defaults:
119+
run:
120+
working-directory: ./cloudsync-cli
115121

116122
steps:
117123
- name: Checkout
@@ -144,7 +150,7 @@ jobs:
144150
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
145151
with:
146152
upload_url: ${{ steps.create_release.outputs.upload_url }}
147-
asset_path: ./cloudsync
153+
asset_path: ./cloudsync-cli/cloudsync
148154
asset_name: cloudsync-linux-x64
149155
asset_content_type: application/octet-stream
150156

@@ -153,7 +159,7 @@ jobs:
153159
if: github.event_name != 'release'
154160
with:
155161
name: cloudsync-linux-binary
156-
path: ./cloudsync
162+
path: ./cloudsync-cli/cloudsync
157163
retention-days: 30
158164

159165
# ============================================
@@ -162,6 +168,9 @@ jobs:
162168
build-macos:
163169
name: Build macOS Binary
164170
runs-on: macos-latest
171+
defaults:
172+
run:
173+
working-directory: ./cloudsync-cli
165174

166175
steps:
167176
- name: Checkout
@@ -194,7 +203,7 @@ jobs:
194203
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
195204
with:
196205
upload_url: ${{ steps.create_release.outputs.upload_url }}
197-
asset_path: ./cloudsync
206+
asset_path: ./cloudsync-cli/cloudsync
198207
asset_name: cloudsync-macos-x64
199208
asset_content_type: application/octet-stream
200209

@@ -203,7 +212,7 @@ jobs:
203212
if: github.event_name != 'release'
204213
with:
205214
name: cloudsync-macos-binary
206-
path: ./cloudsync
215+
path: ./cloudsync-cli/cloudsync
207216
retention-days: 30
208217

209218
# ============================================
@@ -236,6 +245,9 @@ jobs:
236245
runs-on: ubuntu-latest
237246
needs: [build-windows, build-linux, build-macos]
238247
if: github.event_name == 'release'
248+
defaults:
249+
run:
250+
working-directory: ./cloudsync-cli
239251

240252
steps:
241253
- name: Checkout
@@ -271,7 +283,7 @@ jobs:
271283
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
272284
with:
273285
upload_url: ${{ needs.create-release.outputs.upload_url }}
274-
asset_path: ./README.md
286+
asset_path: ./cloudsync-cli/README.md
275287
asset_name: README.md
276288
asset_content_type: text/markdown
277289

@@ -326,8 +338,8 @@ jobs:
326338
Name: "quicklaunchicon"; Description: "{cm:CreateQuickLaunchIcon}"; GroupDescription: "{cm:AdditionalIcons}"; Flags: unchecked; OnlyBelowVersion: 6.1; Check: not IsAdminInstallMode
327339
328340
[Files]
329-
Source: "cloudsync.exe"; DestDir: "{app}"; Flags: ignoreversion
330-
Source: "cloudsync-portable.exe"; DestDir: "{app}"; Flags: ignoreversion
341+
Source: "cloudsync-cli\cloudsync.exe"; DestDir: "{app}"; Flags: ignoreversion
342+
Source: "cloudsync-cli\cloudsync-portable.exe"; DestDir: "{app}"; Flags: ignoreversion
331343
332344
[Icons]
333345
Name: "{group}\CloudSync-CLI"; Filename: "{app}\cloudsync.exe"

0 commit comments

Comments
 (0)