import * as core from '@actions/core' import * as gitSourceProvider from './git-source-provider.js' import * as inputHelper from './input-helper.js' import * as path from 'path' import * as stateHelper from './state-helper.js' import {fileURLToPath} from 'url' const __dirname = path.dirname(fileURLToPath(import.meta.url)) async function run(): Promise { try { const sourceSettings = await inputHelper.getInputs() try { // Register problem matcher core.info( `::add-matcher::${path.join(__dirname, 'problem-matcher.json')}` ) // Get sources await gitSourceProvider.getSource(sourceSettings) core.setOutput('ref', sourceSettings.ref) } finally { // Unregister problem matcher core.info('::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() }