diff options
| author | eric sciple <ericsciple@users.noreply.github.com> | 2020-06-18 10:20:33 -0400 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2020-06-18 10:20:33 -0400 |
| commit | b8cb77a290d6bf1500962ef3fdb92249d45b0ac6 (patch) | |
| tree | 456f207b7d487d1414c5d954dac17ce0d33789ca /src/github-api-helper.ts | |
| parent | 33f740f1eb34a02546c9a2eb2d6a725d7c67ca92 (diff) | |
fix default branch for .wiki and when using ssh (#284)
Diffstat (limited to 'src/github-api-helper.ts')
| -rw-r--r-- | src/github-api-helper.ts | 28 |
1 files changed, 21 insertions, 7 deletions
diff --git a/src/github-api-helper.ts b/src/github-api-helper.ts index 7a09638..8bbcf2d 100644 --- a/src/github-api-helper.ts +++ b/src/github-api-helper.ts @@ -19,6 +19,12 @@ export async function downloadRepository( commit: string, repositoryPath: string ): Promise<void> { + // Determine the default branch + if (!ref && !commit) { + core.info('Determining the default branch') + ref = await getDefaultBranch(authToken, owner, repo) + } + // Download the archive let archiveData = await retryHelper.execute(async () => { core.info('Downloading the archive') @@ -78,17 +84,25 @@ export async function getDefaultBranch( return await retryHelper.execute(async () => { core.info('Retrieving the default branch name') const octokit = new github.GitHub(authToken) - 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}` - ) + let result: string + try { + // Get the default branch from the repo info + const response = await octokit.repos.get({owner, repo}) + 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/')) { |
