|
|
|
@ -8,6 +8,7 @@ import * as retryHelper from './retry-helper'
|
|
|
|
|
import * as toolCache from '@actions/tool-cache'
|
|
|
|
|
import {default as uuid} from 'uuid/v4'
|
|
|
|
|
import {Octokit} from '@octokit/rest'
|
|
|
|
|
import {Console} from 'console'
|
|
|
|
|
|
|
|
|
|
const IS_WINDOWS = process.platform === 'win32'
|
|
|
|
|
|
|
|
|
@ -78,17 +79,25 @@ export async function getDefaultBranch(
|
|
|
|
|
return await retryHelper.execute(async () => {
|
|
|
|
|
core.info('Retrieving the default branch name')
|
|
|
|
|
const octokit = new github.GitHub(authToken)
|
|
|
|
|
let result: string
|
|
|
|
|
try {
|
|
|
|
|
// Get the default branch from the repo info
|
|
|
|
|
const response = await octokit.repos.get({owner, repo})
|
|
|
|
|
if (response.status != 200) {
|
|
|
|
|
throw new Error(
|
|
|
|
|
`Unexpected response from GitHub API. Status: ${response.status}, Data: ${response.data}`
|
|
|
|
|
)
|
|
|
|
|
result = response.data.default_branch
|
|
|
|
|
assert.ok(result, 'default_branch cannot be empty')
|
|
|
|
|
} catch (err) {
|
|
|
|
|
// Handle .wiki repo
|
|
|
|
|
if (err['status'] === 404 && repo.toUpperCase().endsWith('.WIKI')) {
|
|
|
|
|
result = 'master'
|
|
|
|
|
}
|
|
|
|
|
// Otherwise error
|
|
|
|
|
else {
|
|
|
|
|
throw err
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// Print the default branch
|
|
|
|
|
let result = response.data.default_branch
|
|
|
|
|
core.info(`Default branch '${result}'`)
|
|
|
|
|
assert.ok(result, 'default_branch cannot be empty')
|
|
|
|
|
|
|
|
|
|
// Prefix with 'refs/heads'
|
|
|
|
|
if (!result.startsWith('refs/')) {
|
|
|
|
|