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 ;
2023-01-18 20:00:33 +00:00
var desc = Object . getOwnPropertyDescriptor ( m , k ) ;
if ( ! desc || ( "get" in desc ? ! m . _ _esModule : desc . writable || desc . configurable ) ) {
desc = { enumerable : true , get : function ( ) { return m [ k ] ; } } ;
}
Object . defineProperty ( o , k2 , desc ) ;
2021-07-27 17:59:59 +01:00
} ) : ( 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 ;
} ) ;
2024-12-03 18:39:38 +00:00
var _ _importStar = ( this && this . _ _importStar ) || ( function ( ) {
var ownKeys = function ( o ) {
ownKeys = Object . getOwnPropertyNames || function ( o ) {
var ar = [ ] ;
for ( var k in o ) if ( Object . prototype . hasOwnProperty . call ( o , k ) ) ar [ ar . length ] = k ;
return ar ;
} ;
return ownKeys ( o ) ;
} ;
return function ( mod ) {
if ( mod && mod . _ _esModule ) return mod ;
var result = { } ;
if ( mod != null ) for ( var k = ownKeys ( mod ) , i = 0 ; i < k . length ; i ++ ) if ( k [ i ] !== "default" ) _ _createBinding ( result , mod , k [ i ] ) ;
_ _setModuleDefault ( result , mod ) ;
return result ;
} ;
} ) ( ) ;
2020-04-28 16:46:47 +02:00
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" ) ;
2024-02-02 19:13:42 +00:00
const codeql _1 = require ( "./codeql" ) ;
2024-02-26 19:03:28 +00:00
const config _utils _1 = require ( "./config-utils" ) ;
2024-02-07 12:50:14 +00:00
const environment _1 = require ( "./environment" ) ;
2020-08-25 16:19:15 +01:00
const logging _1 = require ( "./logging" ) ;
2023-08-07 13:42:43 +01:00
const status _report _1 = require ( "./status-report" ) ;
2024-05-09 15:06:36 +01:00
const tracer _config _1 = require ( "./tracer-config" ) ;
2021-06-01 14:49:07 -07:00
const util _1 = require ( "./util" ) ;
2024-02-26 19:03:28 +00:00
async function sendCompletedStatusReport ( config , logger , startedAt , allLanguages , failingLanguage , cause ) {
2023-01-20 12:03:17 +00:00
( 0 , util _1 . initializeEnvironment ) ( ( 0 , actions _util _1 . getActionVersion ) ( ) ) ;
2023-08-07 13:42:43 +01:00
const status = ( 0 , status _report _1 . getActionsStatus ) ( cause , failingLanguage ) ;
2024-02-29 11:29:32 +00:00
const statusReportBase = await ( 0 , status _report _1 . createStatusReportBase ) ( status _report _1 . ActionName . Autobuild , status , startedAt , config , await ( 0 , util _1 . checkDiskUsage ) ( logger ) , logger , cause ? . message , cause ? . stack ) ;
2024-04-04 15:26:14 -07:00
if ( statusReportBase !== undefined ) {
const statusReport = {
... statusReportBase ,
autobuild _languages : allLanguages . join ( "," ) ,
autobuild _failure : failingLanguage ,
} ;
await ( 0 , status _report _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 ) ( ) ;
2024-02-26 19:03:28 +00:00
let config ;
let currentLanguage ;
let languages ;
2020-04-28 16:46:47 +02:00
try {
2024-04-04 15:26:14 -07:00
const statusReportBase = await ( 0 , status _report _1 . createStatusReportBase ) ( status _report _1 . ActionName . Autobuild , "starting" , startedAt , config , await ( 0 , util _1 . checkDiskUsage ) ( logger ) , logger ) ;
if ( statusReportBase !== undefined ) {
await ( 0 , status _report _1 . sendStatusReport ) ( statusReportBase ) ;
}
2022-11-14 16:37:48 +00:00
const gitHubVersion = await ( 0 , api _client _1 . getGitHubVersion ) ( ) ;
( 0 , util _1 . checkGitHubVersionInRange ) ( gitHubVersion , logger ) ;
2024-01-18 18:14:30 +00:00
( 0 , util _1 . checkActionVersion ) ( ( 0 , actions _util _1 . getActionVersion ) ( ) , gitHubVersion ) ;
2024-02-26 19:03:28 +00:00
config = await ( 0 , config _utils _1 . 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?" ) ;
}
2024-02-02 19:13:42 +00:00
const codeql = await ( 0 , codeql _1 . getCodeQL ) ( config . codeQLCmd ) ;
languages = await ( 0 , autobuild _1 . determineAutobuildLanguages ) ( codeql , 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 ;
2024-06-26 19:38:13 +01:00
await ( 0 , autobuild _1 . runAutobuild ) ( config , language , logger ) ;
2022-08-26 15:06:09 -07:00
}
2020-04-29 15:25:48 -04:00
}
2024-05-09 15:06:36 +01:00
// End tracing early to avoid tracing analyze. This improves the performance and reliability of
// the analyze step.
2024-06-26 19:38:13 +01:00
await ( 0 , tracer _config _1 . endTracingForCluster ) ( codeql , config , logger ) ;
2020-04-28 16:46:47 +02:00
}
2023-04-06 17:04:21 +01:00
catch ( unwrappedError ) {
const error = ( 0 , util _1 . wrapError ) ( unwrappedError ) ;
core . setFailed ( ` We were unable to automatically build your code. Please replace the call to the autobuild action with your custom build steps. ${ error . message } ` ) ;
2024-02-26 19:03:28 +00:00
await sendCompletedStatusReport ( config , logger , startedAt , languages ? ? [ ] , currentLanguage , error ) ;
2020-04-28 16:46:47 +02:00
return ;
}
2024-02-07 12:50:14 +00:00
core . exportVariable ( environment _1 . EnvVar . AUTOBUILD _DID _COMPLETE _SUCCESSFULLY , "true" ) ;
2024-02-26 19:03:28 +00:00
await sendCompletedStatusReport ( config , logger , startedAt , 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 ) {
2024-09-16 22:38:35 +02:00
core . setFailed ( ` autobuild action failed. ${ ( 0 , util _1 . getErrorMessage ) ( error ) } ` ) ;
2020-11-25 22:46:30 +01:00
}
}
void runWrapper ( ) ;
2020-08-24 15:09:02 +01:00
//# sourceMappingURL=autobuild-action.js.map