| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647 |
- 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<void> {
- 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<void> {
- try {
- await gitSourceProvider.cleanup(stateHelper.RepositoryPath)
- } catch (error) {
- core.warning(`${(error as any)?.message ?? error}`)
- }
- }
- // Main
- if (!stateHelper.IsPost) {
- run()
- }
- // Post
- else {
- cleanup()
- }
|