2020-04-28 16:46:47 +02:00
"use strict" ;
2021-07-27 17:59:59 +01:00
var _ _createBinding = ( this && this . _ _createBinding ) || ( Object . create ? ( function ( o , m , k , k2 ) {
if ( k2 === undefined ) k2 = k ;
Object . defineProperty ( o , k2 , { enumerable : true , get : function ( ) { return m [ k ] ; } } ) ;
} ) : ( function ( o , m , k , k2 ) {
if ( k2 === undefined ) k2 = k ;
o [ k2 ] = m [ k ] ;
} ) ) ;
var _ _setModuleDefault = ( this && this . _ _setModuleDefault ) || ( Object . create ? ( function ( o , v ) {
Object . defineProperty ( o , "default" , { enumerable : true , value : v } ) ;
} ) : function ( o , v ) {
o [ "default" ] = v ;
} ) ;
2020-04-28 16:46:47 +02:00
var _ _importStar = ( this && this . _ _importStar ) || function ( mod ) {
if ( mod && mod . _ _esModule ) return mod ;
var result = { } ;
2021-07-27 17:59:59 +01:00
if ( mod != null ) for ( var k in mod ) if ( k !== "default" && Object . prototype . hasOwnProperty . call ( mod , k ) ) _ _createBinding ( result , mod , k ) ;
_ _setModuleDefault ( result , mod ) ;
2020-04-28 16:46:47 +02:00
return result ;
} ;
Object . defineProperty ( exports , "__esModule" , { value : true } ) ;
const core = _ _importStar ( require ( "@actions/core" ) ) ;
2021-05-20 15:20:32 -07:00
const actions _util _1 = require ( "./actions-util" ) ;
2022-09-01 14:40:54 +01:00
const api _client _1 = require ( "./api-client" ) ;
2020-08-27 14:04:09 +01:00
const autobuild _1 = require ( "./autobuild" ) ;
2022-09-01 14:40:54 +01:00
const configUtils = _ _importStar ( require ( "./config-utils" ) ) ;
2022-08-26 15:06:09 -07:00
const languages _1 = require ( "./languages" ) ;
2020-08-25 16:19:15 +01:00
const logging _1 = require ( "./logging" ) ;
2021-06-01 14:49:07 -07:00
const util _1 = require ( "./util" ) ;
// eslint-disable-next-line import/no-commonjs
const pkg = require ( "../package.json" ) ;
2020-07-20 16:33:37 +01:00
async function sendCompletedStatusReport ( startedAt , allLanguages , failingLanguage , cause ) {
2022-11-14 16:37:48 +00:00
( 0 , util _1 . initializeEnvironment ) ( pkg . version ) ;
2022-02-17 11:47:04 -08:00
const status = ( 0 , actions _util _1 . getActionsStatus ) ( cause , failingLanguage ) ;
2021-09-10 13:53:13 -07:00
const statusReportBase = await ( 0 , actions _util _1 . createStatusReportBase ) ( "autobuild" , status , startedAt , cause === null || cause === void 0 ? void 0 : cause . message , cause === null || cause === void 0 ? void 0 : cause . stack ) ;
2020-07-20 16:33:37 +01:00
const statusReport = {
... statusReportBase ,
2020-09-14 10:44:43 +01:00
autobuild _languages : allLanguages . join ( "," ) ,
2020-07-20 16:33:37 +01:00
autobuild _failure : failingLanguage ,
} ;
2021-09-10 13:53:13 -07:00
await ( 0 , actions _util _1 . sendStatusReport ) ( statusReport ) ;
2020-07-20 16:33:37 +01:00
}
2020-04-28 16:46:47 +02:00
async function run ( ) {
2020-07-20 16:33:37 +01:00
const startedAt = new Date ( ) ;
2022-04-26 16:45:44 +01:00
const logger = ( 0 , logging _1 . getActionsLogger ) ( ) ;
await ( 0 , util _1 . checkActionVersion ) ( pkg . version ) ;
2022-09-12 17:18:39 +01:00
let currentLanguage = undefined ;
let languages = undefined ;
2020-04-28 16:46:47 +02:00
try {
2021-09-10 13:53:13 -07:00
if ( ! ( await ( 0 , actions _util _1 . sendStatusReport ) ( await ( 0 , actions _util _1 . createStatusReportBase ) ( "autobuild" , "starting" , startedAt ) ) ) ) {
2020-04-28 16:46:47 +02:00
return ;
}
2022-11-14 16:37:48 +00:00
const gitHubVersion = await ( 0 , api _client _1 . getGitHubVersion ) ( ) ;
( 0 , util _1 . checkGitHubVersionInRange ) ( gitHubVersion , logger ) ;
2022-09-01 14:40:54 +01:00
const config = await configUtils . getConfig ( ( 0 , actions _util _1 . getTemporaryDirectory ) ( ) , logger ) ;
2020-08-28 09:43:25 +01:00
if ( config === undefined ) {
throw new Error ( "Config file could not be found at expected location. Has the 'init' action been called?" ) ;
}
2022-11-14 13:54:35 -08:00
languages = await ( 0 , autobuild _1 . determineAutobuildLanguages ) ( config , logger ) ;
2022-09-12 17:18:39 +01:00
if ( languages !== undefined ) {
2022-04-08 13:37:42 -07:00
const workingDirectory = ( 0 , actions _util _1 . getOptionalInput ) ( "working-directory" ) ;
if ( workingDirectory ) {
logger . info ( ` Changing autobuilder working directory to ${ workingDirectory } ` ) ;
process . chdir ( workingDirectory ) ;
}
2022-09-12 17:18:39 +01:00
for ( const language of languages ) {
currentLanguage = language ;
await ( 0 , autobuild _1 . runAutobuild ) ( language , config , logger ) ;
if ( language === languages _1 . Language . go ) {
core . exportVariable ( util _1 . DID _AUTOBUILD _GO _ENV _VAR _NAME , "true" ) ;
}
2022-08-26 15:06:09 -07:00
}
2020-04-29 15:25:48 -04:00
}
2020-04-28 16:46:47 +02:00
}
catch ( error ) {
2021-09-10 13:53:13 -07:00
core . setFailed ( ` We were unable to automatically build your code. Please replace the call to the autobuild action with your custom build steps. ${ error instanceof Error ? error . message : String ( error ) } ` ) ;
2020-08-05 09:40:28 +01:00
console . log ( error ) ;
2022-09-12 17:18:39 +01:00
await sendCompletedStatusReport ( startedAt , languages !== null && languages !== void 0 ? languages : [ ] , currentLanguage , error instanceof Error ? error : new Error ( String ( error ) ) ) ;
2020-04-28 16:46:47 +02:00
return ;
}
2022-09-12 17:18:39 +01:00
await sendCompletedStatusReport ( startedAt , languages !== null && languages !== void 0 ? languages : [ ] ) ;
2020-04-28 16:46:47 +02:00
}
2020-11-25 22:46:30 +01:00
async function runWrapper ( ) {
try {
await run ( ) ;
}
catch ( error ) {
core . setFailed ( ` autobuild action failed. ${ error } ` ) ;
console . log ( error ) ;
}
}
void runWrapper ( ) ;
2020-08-24 15:09:02 +01:00
//# sourceMappingURL=autobuild-action.js.map