@@ -32,6 +32,28 @@ export interface FirefoxPublishResult {
3232 channel : 'listed' | 'unlisted'
3333}
3434
35+ interface FirefoxSignArgsOptions {
36+ executable : string
37+ sourceDir : string
38+ artifactsDir : string
39+ channel : 'listed' | 'unlisted'
40+ timeout : number
41+ approvalTimeout : number
42+ }
43+
44+ export function firefoxSignArgs ( options : FirefoxSignArgsOptions ) : string [ ] {
45+ return [
46+ options . executable ,
47+ 'sign' ,
48+ '--source-dir' , options . sourceDir ,
49+ '--artifacts-dir' , options . artifactsDir ,
50+ '--channel' , options . channel ,
51+ '--timeout' , String ( options . timeout ) ,
52+ '--approval-timeout' , String ( options . approvalTimeout ) ,
53+ '--no-input' ,
54+ ]
55+ }
56+
3557function resolveFirefoxAuth ( options : FirefoxAddonsAuth ) : Required < FirefoxAddonsAuth > {
3658 const issuer = options . issuer ?? process . env . AMO_JWT_ISSUER ?? process . env . WEB_EXT_API_KEY
3759 const secret = options . secret ?? process . env . AMO_JWT_SECRET ?? process . env . WEB_EXT_API_SECRET
@@ -99,17 +121,14 @@ export async function publishFirefoxExtension(config: ExtensionConfig, options:
99121 const tempDir = await mkdtemp ( join ( tmpdir ( ) , 'stacks-firefox-publish-' ) )
100122
101123 try {
102- const args = [
124+ const args = firefoxSignArgs ( {
103125 executable,
104- 'sign' ,
105- '--source-dir' , sourceDir ,
106- '--artifacts-dir' , artifactsDir ,
107- '--channel' , store . channel ?? 'listed' ,
108- '--timeout' , String ( options . timeout ?? 300000 ) ,
109- '--approval-timeout' , String ( options . approvalTimeout ?? 0 ) ,
110- '--no-input' ,
111- '--boring' ,
112- ]
126+ sourceDir,
127+ artifactsDir,
128+ channel : store . channel ?? 'listed' ,
129+ timeout : options . timeout ?? 300000 ,
130+ approvalTimeout : options . approvalTimeout ?? 0 ,
131+ } )
113132 const metadata = firefoxListingMetadata ( config , store )
114133 if ( metadata ) {
115134 const metadataPath = join ( tempDir , 'amo-metadata.json' )
0 commit comments