mirror of
				https://github.com/gradle/gradle-build-action.git
				synced 2025-11-04 09:58:56 +08:00 
			
		
		
		
	Improve reporting for dependency-graph failure
The previous message was assuming a permissions issue, and was not including the underlying error message in the response.
This commit is contained in:
		@@ -78,12 +78,7 @@ async function submitDependencyGraphs(dependencyGraphFiles: string[]): Promise<v
 | 
			
		||||
            await submitDependencyGraphFile(jsonFile)
 | 
			
		||||
        } catch (error) {
 | 
			
		||||
            if (error instanceof RequestError) {
 | 
			
		||||
                const relativeJsonFile = getRelativePathFromWorkspace(jsonFile)
 | 
			
		||||
                core.warning(
 | 
			
		||||
                    `Failed to submit dependency graph ${relativeJsonFile}.\n` +
 | 
			
		||||
                        "Please ensure that the 'contents: write' permission is available for the workflow job.\n" +
 | 
			
		||||
                        "Note that this permission is never available for a 'pull_request' trigger from a repository fork."
 | 
			
		||||
                )
 | 
			
		||||
                core.warning(buildWarningMessage(jsonFile, error))
 | 
			
		||||
            } else {
 | 
			
		||||
                throw error
 | 
			
		||||
            }
 | 
			
		||||
@@ -91,6 +86,18 @@ async function submitDependencyGraphs(dependencyGraphFiles: string[]): Promise<v
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
function buildWarningMessage(jsonFile: string, error: RequestError): string {
 | 
			
		||||
    const relativeJsonFile = getRelativePathFromWorkspace(jsonFile)
 | 
			
		||||
    const mainWarning = `Failed to submit dependency graph ${relativeJsonFile}.\n${String(error)}`
 | 
			
		||||
    if (error.message === 'Resource not accessible by integration') {
 | 
			
		||||
        return `${mainWarning}
 | 
			
		||||
Please ensure that the 'contents: write' permission is available for the workflow job.
 | 
			
		||||
Note that this permission is never available for a 'pull_request' trigger from a repository fork.
 | 
			
		||||
        `
 | 
			
		||||
    }
 | 
			
		||||
    return mainWarning
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
async function submitDependencyGraphFile(jsonFile: string): Promise<void> {
 | 
			
		||||
    const octokit = getOctokit()
 | 
			
		||||
    const jsonContent = fs.readFileSync(jsonFile, 'utf8')
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user