@@ -43,7 +43,7 @@ export interface ActionConfig {
4343}
4444
4545interface ActionWorkflowInputs {
46- [ input : string ] : string ;
46+ [ input : string ] : string | number | boolean ;
4747}
4848
4949export enum ActionOutputs {
@@ -59,7 +59,7 @@ export function getConfig(): ActionConfig {
5959 workflow : getWorkflowValue ( core . getInput ( "workflow" , { required : true } ) ) ,
6060 workflowInputs : getWorkflowInputs ( core . getInput ( "workflow_inputs" ) ) ,
6161 workflowTimeoutSeconds :
62- getNumberFromValue ( core . getInput ( "workflow_timeout_seconds" ) ) ||
62+ getNumberFromValue ( core . getInput ( "workflow_timeout_seconds" ) ) ??
6363 WORKFLOW_TIMEOUT_SECONDS ,
6464 } ;
6565}
@@ -92,10 +92,22 @@ function getWorkflowInputs(
9292 try {
9393 const parsedJson = JSON . parse ( workflowInputs ) ;
9494 for ( const key of Object . keys ( parsedJson ) ) {
95- const type = typeof parsedJson [ key ] ;
96- if ( type !== "string" ) {
95+ const value = parsedJson [ key ] ;
96+ const type = ( ( ) => {
97+ switch ( true ) {
98+ case value === null : {
99+ return "null" ;
100+ }
101+ case Array . isArray ( value ) : {
102+ return "Array" ;
103+ }
104+ default :
105+ return typeof value ;
106+ }
107+ } ) ( ) ;
108+ if ( ! [ "string" , "number" , "boolean" ] . includes ( type ) ) {
97109 throw new Error (
98- `Expected values to be strings, ${ key } value is ${ type } ` ,
110+ `Expected value to be string, number, or boolean. " ${ key } " value is ${ type } ` ,
99111 ) ;
100112 }
101113 }
0 commit comments