Revert "Provide default config values for dependency-submission"

This reverts commit b7ef93c7b7.
This commit is contained in:
daz
2024-04-07 11:54:02 -06:00
parent e40c718900
commit 627fa7627c
4 changed files with 41 additions and 40 deletions

View File

@@ -16,19 +16,20 @@ import {DependencyGraphConfig, DependencyGraphOption, getGithubToken} from './in
const DEPENDENCY_GRAPH_PREFIX = 'dependency-graph_'
export async function setup(config: DependencyGraphConfig): Promise<void> {
if (config.dependencyGraphOption === DependencyGraphOption.Disabled) {
const option = config.getDependencyGraphOption()
if (option === DependencyGraphOption.Disabled) {
core.exportVariable('GITHUB_DEPENDENCY_GRAPH_ENABLED', 'false')
return
}
// Download and submit early, for compatability with dependency review.
if (config.dependencyGraphOption === DependencyGraphOption.DownloadAndSubmit) {
if (option === DependencyGraphOption.DownloadAndSubmit) {
await downloadAndSubmitDependencyGraphs(config)
return
}
core.info('Enabling dependency graph generation')
core.exportVariable('GITHUB_DEPENDENCY_GRAPH_ENABLED', 'true')
maybeExportVariable('GITHUB_DEPENDENCY_GRAPH_CONTINUE_ON_FAILURE', config.continueOnFailure)
maybeExportVariable('GITHUB_DEPENDENCY_GRAPH_CONTINUE_ON_FAILURE', config.getDependencyGraphContinueOnFailure())
maybeExportVariable('GITHUB_DEPENDENCY_GRAPH_JOB_CORRELATOR', config.getJobCorrelator())
maybeExportVariable('GITHUB_DEPENDENCY_GRAPH_JOB_ID', github.context.runId)
maybeExportVariable('GITHUB_DEPENDENCY_GRAPH_REF', github.context.ref)
@@ -40,7 +41,7 @@ export async function setup(config: DependencyGraphConfig): Promise<void> {
)
// To clear the dependency graph, we generate an empty graph by excluding all projects and configurations
if (config.dependencyGraphOption === DependencyGraphOption.Clear) {
if (option === DependencyGraphOption.Clear) {
core.exportVariable('DEPENDENCY_GRAPH_INCLUDE_PROJECTS', '')
core.exportVariable('DEPENDENCY_GRAPH_INCLUDE_CONFIGURATIONS', '')
}
@@ -58,8 +59,9 @@ export async function complete(config: DependencyGraphConfig): Promise<void> {
return
}
const option = config.getDependencyGraphOption()
try {
switch (config.dependencyGraphOption) {
switch (option) {
case DependencyGraphOption.Disabled:
case DependencyGraphOption.Generate: // Performed via init-script: nothing to do here
case DependencyGraphOption.DownloadAndSubmit: // Performed in setup
@@ -72,7 +74,7 @@ export async function complete(config: DependencyGraphConfig): Promise<void> {
await uploadDependencyGraphs(await findGeneratedDependencyGraphFiles(), config)
}
} catch (e) {
warnOrFail(config, e)
warnOrFail(config, option, e)
}
}
@@ -90,7 +92,7 @@ async function uploadDependencyGraphs(dependencyGraphFiles: string[], config: De
core.info(`Uploading dependency graph file: ${relativePath}`)
const artifactName = `${DEPENDENCY_GRAPH_PREFIX}${path.basename(dependencyGraphFile)}`
await artifactClient.uploadArtifact(artifactName, [dependencyGraphFile], workspaceDirectory, {
retentionDays: config.artifactRetentionDays
retentionDays: config.getArtifactRetentionDays()
})
}
}
@@ -104,7 +106,7 @@ async function downloadAndSubmitDependencyGraphs(config: DependencyGraphConfig):
try {
await submitDependencyGraphs(await downloadDependencyGraphs())
} catch (e) {
warnOrFail(config, e)
warnOrFail(config, DependencyGraphOption.DownloadAndSubmit, e)
}
}
@@ -186,12 +188,12 @@ async function findDependencyGraphFiles(dir: string): Promise<string[]> {
return graphFiles
}
function warnOrFail(config: DependencyGraphConfig, error: unknown): void {
if (!config.continueOnFailure) {
function warnOrFail(config: DependencyGraphConfig, option: String, error: unknown): void {
if (!config.getDependencyGraphContinueOnFailure()) {
throw new PostActionJobFailure(error)
}
core.warning(`Failed to ${config.dependencyGraphOption} dependency graph. Will continue.\n${String(error)}`)
core.warning(`Failed to ${option} dependency graph. Will continue.\n${String(error)}`)
}
function getOctokit(): InstanceType<typeof GitHub> {

View File

@@ -19,12 +19,9 @@ export async function run(): Promise<void> {
// Configure the dependency graph submission
const config = new DependencyGraphConfig()
config.artifactRetentionDays = 1
config.continueOnFailure = false
await dependencyGraph.setup(config)
if (config.dependencyGraphOption === DependencyGraphOption.DownloadAndSubmit) {
if (config.getDependencyGraphOption() === DependencyGraphOption.DownloadAndSubmit) {
// No execution to perform
return
}
@@ -43,6 +40,7 @@ export async function run(): Promise<void> {
`
const args: string[] = parseArgsStringToArgv(executionArgs)
core.info(args.join('!!!'))
const buildRootDirectory = layout.buildRootDirectory()
await execution.executeGradleBuild(executable, buildRootDirectory, args)
} catch (error) {

View File

@@ -6,11 +6,7 @@ import {SUMMARY_ENV_VAR} from '@actions/core/lib/summary'
import {parseArgsStringToArgv} from 'string-argv'
export class DependencyGraphConfig {
dependencyGraphOption = this.getDependencyGraphOption()
continueOnFailure = this.getDependencyGraphContinueOnFailure()
artifactRetentionDays = this.getArtifactRetentionDays()
private getDependencyGraphOption(): DependencyGraphOption {
getDependencyGraphOption(): DependencyGraphOption {
const val = core.getInput('dependency-graph')
switch (val.toLowerCase().trim()) {
case 'disabled':
@@ -31,11 +27,11 @@ export class DependencyGraphConfig {
)
}
private getDependencyGraphContinueOnFailure(): boolean {
getDependencyGraphContinueOnFailure(): boolean {
return getBooleanInput('dependency-graph-continue-on-failure', true)
}
private getArtifactRetentionDays(): number {
getArtifactRetentionDays(): number {
const val = core.getInput('artifact-retention-days')
return parseNumericInput('artifact-retention-days', val, 0)
// Zero indicates that the default repository settings should be used