import * as core from '@actions/core' import * as coreCommand from '@actions/core/lib/command' import * as gitSourceProvider from './git-source-provider' import * as inputHelper from './input-helper' import * as path from 'path' import * as stateHelper from './state-helper' async function run(): Promise { try { const sourceSettings = inputHelper.getInputs() try { // Register problem matcher coreCommand.issueCommand( 'add-matcher', {}, path.join(__dirname, 'problem-matcher.json') ) // Get sources await gitSourceProvider.getSource(sourceSettings) } finally { // Unregister problem matcher coreCommand.issueCommand('remove-matcher', {owner: 'checkout-git'}, '') } } catch (error) { core.setFailed(`${(error as any)?.message ?? error}`) } } async function cleanup(): Promise { try { await gitSourceProvider.cleanup(stateHelper.RepositoryPath) } catch (error) { core.warning(`${(error as any)?.message ?? error}`) } } // Main if (!stateHelper.IsPost) { run() } // Post else { cleanup() }