Skip to content

Commit 4f18a9d

Browse files
committed
feat(ci): optimize github release
1 parent 92df3a6 commit 4f18a9d

1 file changed

Lines changed: 17 additions & 16 deletions

File tree

packages/cli/src/actions/ci/github.ts

Lines changed: 17 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,6 @@ import {
1010
ciGitUserName,
1111
ciVersionMessage,
1212
ciVersionsPath,
13-
mergedVersionServer,
1413
} from './constants'
1514
import type { Archive } from './interface'
1615
import { writeReleasedVersions } from './version'
@@ -62,19 +61,19 @@ export async function createGitHubRelease(
6261
// Write versions to file and commit
6362
writeReleasedVersions(versions)
6463

65-
const hash = await commitAndPush(ciVersionsPath, ciVersionMessage)
64+
const commitHash = await commitAndPush(ciVersionsPath, ciVersionMessage)
6665
const date = new Date().toISOString().replace(/[-:]/g, '').split('T')[0]
67-
const name = `${date}-${hash.slice(0, 7)}`
66+
const name = `${date}-${commitHash.slice(0, 7)}`
6867

69-
// calc sha256sum of merged archive
70-
const mergedArchive = archives.find(
71-
({ server }) => server === mergedVersionServer,
68+
// Create release
69+
const assets = [...archives.map(({ path }) => path), ...extraAssets].map(
70+
(path) => ({
71+
name: basename(path),
72+
path,
73+
sha256: calculateHashForFile(path, 'sha256'),
74+
}),
7275
)
73-
const sha256sum = mergedArchive
74-
? calculateHashForFile(mergedArchive.path, 'sha256') || ''
75-
: ''
7676

77-
// Create release
7877
const release = await octokit.repos.createRelease({
7978
owner,
8079
repo,
@@ -87,7 +86,11 @@ export async function createGitHubRelease(
8786
({ server, version, hash }) =>
8887
`| ${kebabCase(server)} | ${version} | ${hash?.exe?.slice(0, 8) || '-'} | ${hash?.excel?.slice(0, 8) || '-'} |`,
8988
),
90-
`\nsha256sum of merged archive:\n\`\`\`\n${sha256sum}\n\`\`\``,
89+
'----',
90+
'sha256sum of assets:',
91+
'| File | SHA256 |',
92+
'| ------ | ------- |',
93+
...assets.map(({ name, sha256 }) => `| ${name} | ${sha256} |`),
9194
].join('\n'),
9295
draft: false,
9396
prerelease: false,
@@ -96,19 +99,17 @@ export async function createGitHubRelease(
9699
console.log(`✅ Created GitHub release: ${name}`)
97100

98101
// Upload assets
99-
const assets = [...archives.map(({ path }) => path), ...extraAssets]
100-
for (const path of assets) {
101-
const archiveName = basename(path)
102+
for (const { name, path } of assets) {
102103
const fileData = readFileSync(path)
103104
await octokit.repos.uploadReleaseAsset({
104105
owner,
105106
repo,
106107
release_id: release.data.id,
107-
name: archiveName,
108+
name,
108109
data: fileData as unknown as string,
109110
})
110111

111-
console.log(`✅ Uploaded ${archiveName} to release`)
112+
console.log(`✅ Uploaded ${name} to release`)
112113
}
113114
}
114115

0 commit comments

Comments
 (0)