feat(release): prepare 1.1.0 candidate

This commit is contained in:
Yun Chan 2026-08-29 18:33:45 +09:00
parent 5a34f66981
commit 5205dcdfa9
736 changed files with 115667 additions and 12203 deletions

View file

@ -0,0 +1,75 @@
import {
prepareVerifiedReleasePublication,
releaseBoundaryFail,
} from './mobile-release-evidence-lib.mjs'
function parseArguments(argv) {
const allowed = new Set([
'aab',
'apk',
'destination-dir',
'evidence',
'expected-admob-app-id',
'expected-bundletool-sha256',
'expected-commit-sha',
'expected-git-ref',
'expected-repository',
'expected-run-attempt',
'expected-run-id',
'expected-runner-identity',
'expected-tree-sha',
'expected-upload-cert-sha256',
'expected-verifier-sha256',
'expected-version-code',
'expected-version-name',
'expected-workflow-identity',
'public-key',
'source-root',
])
const result = {}
for (let index = 0; index < argv.length; index += 2) {
const flag = argv[index]
const value = argv[index + 1]
if (!flag?.startsWith('--') || !value || value.startsWith('--')) {
releaseBoundaryFail('prepare_publication_arguments_invalid')
}
const name = flag.slice(2)
if (!allowed.has(name) || Object.hasOwn(result, name)) {
releaseBoundaryFail(`prepare_publication_argument_rejected_${name}`)
}
result[name] = value
}
for (const name of allowed) {
if (!result[name]) releaseBoundaryFail(`prepare_publication_argument_missing_${name}`)
}
return result
}
const options = parseArguments(process.argv.slice(2))
const result = prepareVerifiedReleasePublication({
sourceRoot: options['source-root'],
apkPath: options.apk,
aabPath: options.aab,
evidencePath: options.evidence,
publicKeyPath: options['public-key'],
destinationDirectory: options['destination-dir'],
expected: {
versionName: options['expected-version-name'],
versionCode: options['expected-version-code'],
adMobAppId: options['expected-admob-app-id'],
signerSha256: options['expected-upload-cert-sha256'],
provenance: {
repository: options['expected-repository'],
commitSha: options['expected-commit-sha'],
treeSha: options['expected-tree-sha'],
gitRef: options['expected-git-ref'],
workflowIdentity: options['expected-workflow-identity'],
runId: options['expected-run-id'],
runAttempt: options['expected-run-attempt'],
runnerIdentity: options['expected-runner-identity'],
verifierSha256: options['expected-verifier-sha256'],
bundletoolSha256: options['expected-bundletool-sha256'],
},
},
})
process.stdout.write(`${JSON.stringify({ ok: true, ...result })}\n`)