Skip to content

Commit 565ae32

Browse files
committed
fix: release COS script
1 parent ee1f76a commit 565ae32

4 files changed

Lines changed: 17 additions & 7 deletions

File tree

.github/workflows/release.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -111,6 +111,8 @@ jobs:
111111
path: ./artifacts
112112
- name: List artifacts
113113
run: ls -la artifacts/
114+
- name: Install dependencies
115+
run: npm run ci:create-release
114116
- name: Upload version index to COS
115117
run: node scripts/upload-version-index-to-cos.js ${{ github.ref_name }}
116118
env:

package.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -86,6 +86,7 @@
8686
"pack:win-x64": "electron-builder --publish=never --win --x64",
8787
"pack:win-arm64": "electron-builder --publish=never --win --arm64",
8888
"pack": "electron-builder --publish=never",
89+
"ci:create-release": "npm i --no-save cos-nodejs-sdk-v5",
8990
"prettier": "prettier --list-different \"./**/*.{ts,tsx,js,jsx,less}\"",
9091
"line-count": "cloc src/ --exclude-dir=node_modules,.umi,.umi-production --fullpath --not-match-f='/(assets)/'"
9192
},

scripts/upload-artifacts-to-cos.js

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
const fs = require('fs-extra');
1+
const fs = require('fs').promises;
22
const path = require('path');
33
const COS = require('cos-nodejs-sdk-v5');
44

@@ -8,14 +8,17 @@ const baseDir = path.join(__dirname, '../release');
88

99
const REMOTE_PATH = (process.env.COS_BASE_PATH || 'algo-bootstrap/release/') + releaseVersion + '/';
1010

11-
async function listFiles(dir, filter) {
11+
async function listFiles(dir, maxDepth = 0, filter, _depth = 0) {
12+
if (maxDepth > 0 && _depth > maxDepth) {
13+
return [];
14+
}
1215
let files = await fs.readdir(dir, { withFileTypes: true });
1316
let fileNames = [];
1417

1518
for (let file of files) {
1619
let fullPath = path.join(dir, file.name);
1720
if (file.isDirectory()) {
18-
fileNames = fileNames.concat(await listFiles(fullPath));
21+
fileNames = fileNames.concat(await listFiles(fullPath, maxDepth, filter, _depth + 1));
1922
} else {
2023
fileNames.push(path.relative(baseDir, fullPath));
2124
}
@@ -44,6 +47,7 @@ async function main() {
4447
});
4548
const files = await listFiles(
4649
baseDir,
50+
0,
4751
(file) =>
4852
file.endsWith('.dmg') ||
4953
file.endsWith('.exe') ||

scripts/upload-version-index-to-cos.js

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
const fs = require('fs-extra');
1+
const fs = require('fs').promises;
22
const path = require('path');
33
const md5File = require('md5-file');
44
const COS = require('cos-nodejs-sdk-v5');
@@ -15,14 +15,17 @@ const CDN_URL_BASE =
1515
'/';
1616
const TZ = process.env.TZ || 'Asia/Shanghai';
1717

18-
async function listFiles(dir, filter) {
18+
async function listFiles(dir, maxDepth = 0, filter, _depth = 0) {
19+
if (maxDepth > 0 && _depth > maxDepth) {
20+
return [];
21+
}
1922
let files = await fs.readdir(dir, { withFileTypes: true });
2023
let fileNames = [];
2124

2225
for (let file of files) {
2326
let fullPath = path.join(dir, file.name);
2427
if (file.isDirectory()) {
25-
fileNames = fileNames.concat(await listFiles(fullPath));
28+
fileNames = fileNames.concat(await listFiles(fullPath, maxDepth, filter, _depth + 1));
2629
} else {
2730
fileNames.push(path.relative(baseDir, fullPath));
2831
}
@@ -49,7 +52,7 @@ async function main() {
4952
SecretId: process.env.COS_SECRET_ID,
5053
SecretKey: process.env.COS_SECRET_KEY,
5154
});
52-
const files = await listFiles(baseDir);
55+
const files = await listFiles(baseDir, 0);
5356
const filePlatformArchRegMap = {
5457
'win32-arm64': /arm64-.*\.exe$/,
5558
'win32-x64': /x64-.*\.exe$/,

0 commit comments

Comments
 (0)