mirror of
https://github.com/CherryHQ/cherry-studio.git
synced 2025-12-19 06:30:10 +08:00
* chore: add gitcode release sync workflow * fix(ci): address review feedback for gitcode sync workflow - Use Authorization header instead of token in URL query parameter - Add file existence check before copying signed Windows artifacts - Remove inappropriate `|| true` from artifact listing - Use heredoc for safe GITHUB_OUTPUT writing - Add error context logging in upload_file function - Add curl timeout for API requests (connect: 30s, max: 60s) - Add cleanup step for temp files with `if: always()` - Add env var validation for GitCode credentials 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
28 lines
987 B
JavaScript
28 lines
987 B
JavaScript
const { execSync } = require('child_process')
|
|
|
|
exports.default = async function (configuration) {
|
|
if (process.env.WIN_SIGN) {
|
|
const { path } = configuration
|
|
if (configuration.path) {
|
|
try {
|
|
const certPath = process.env.CHERRY_CERT_PATH
|
|
const keyContainer = process.env.CHERRY_CERT_KEY
|
|
const csp = process.env.CHERRY_CERT_CSP
|
|
|
|
if (!certPath || !keyContainer || !csp) {
|
|
throw new Error('CHERRY_CERT_PATH, CHERRY_CERT_KEY or CHERRY_CERT_CSP is not set')
|
|
}
|
|
|
|
console.log('Start code signing...')
|
|
console.log('Signing file:', path)
|
|
const signCommand = `signtool sign /tr http://timestamp.comodoca.com /td sha256 /fd sha256 /v /f "${certPath}" /csp "${csp}" /k "${keyContainer}" "${path}"`
|
|
execSync(signCommand, { stdio: 'inherit' })
|
|
console.log('Code signing completed')
|
|
} catch (error) {
|
|
console.error('Code signing failed:', error)
|
|
throw error
|
|
}
|
|
}
|
|
}
|
|
}
|