( base: GitBranch, env: RunEnv, fn: () => Promise<T>, )
| 434 | } |
| 435 | |
| 436 | export async function runInBaseBranch<T>( |
| 437 | base: GitBranch, |
| 438 | env: RunEnv, |
| 439 | fn: () => Promise<T>, |
| 440 | ): Promise<T> { |
| 441 | const { git } = env; |
| 442 | |
| 443 | await git.fetch('origin', base.ref, ['--depth=1']); |
| 444 | await git.checkout(['-f', base.sha]); |
| 445 | logInfo(`Switched to base branch ${base.ref}`); |
| 446 | |
| 447 | const result = await fn(); |
| 448 | |
| 449 | await git.checkout(['-f', '-']); |
| 450 | logInfo('Switched back to PR/MR branch'); |
| 451 | |
| 452 | return result; |
| 453 | } |
| 454 | |
| 455 | export async function checkPrintConfig( |
| 456 | args: BaseReportArgs, |
no test coverage detected