feat(release): prepare 1.1.0 candidate
This commit is contained in:
parent
5a34f66981
commit
5205dcdfa9
736 changed files with 115667 additions and 12203 deletions
75
scripts/ci/prepare-mobile-release-publication.mjs
Normal file
75
scripts/ci/prepare-mobile-release-publication.mjs
Normal 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`)
|
||||
Loading…
Add table
Add a link
Reference in a new issue