mirror of
				https://github.com/actions/checkout.git
				synced 2025-10-31 18:34:20 +08:00 
			
		
		
		
	
		
			
				
	
	
		
			47 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
			
		
		
	
	
			47 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
| 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<void> {
 | |
|   try {
 | |
|     const sourceSettings = await 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<void> {
 | |
|   try {
 | |
|     await gitSourceProvider.cleanup(stateHelper.RepositoryPath)
 | |
|   } catch (error) {
 | |
|     core.warning(`${(error as any)?.message ?? error}`)
 | |
|   }
 | |
| }
 | |
| 
 | |
| // Main
 | |
| if (!stateHelper.IsPost) {
 | |
|   run()
 | |
| }
 | |
| // Post
 | |
| else {
 | |
|   cleanup()
 | |
| }
 | 
