Skip to content

[deep-report] [Code Quality] Extract downloadArtifactsOptions struct + remove 2 nolint:excessivefuncparams suppressions in logs_download #46021

Description

@github-actions

Description

The excessivefuncparams linter (DefaultMaxParams=8) is enforced, yet two production functions escape it with inline //nolint:excessivefuncparams suppressions, both carrying 9 parameters:

  • pkg/cli/logs_run_processor.go:104downloadRunArtifactsConcurrent (9 params)
  • pkg/cli/update_actions.go:606updateActionsInWorkflowFiles (9 params)

Separately, four sibling functions in pkg/cli/logs_download.go (lines ~551, 598, 649, 968) repeat an identical (ctx, runID, outputDir, verbose, owner, repo, hostname, artifactFilter) 8-param signature. Introduce a downloadArtifactsOptions struct to collapse these call sites and let the two nolint suppressions be deleted.

Expected Impact

Removes 2 linter suppressions, collapses 6 high-arity signatures into option structs, and makes call-site updates non-brittle (no positional-argument churn). Zero behavioral change.

Suggested Agent

Discussion Task Miner / Code Quality agent (Go refactor).

Estimated Effort

Quick (< 1 hour)

Data Source

DeepReport Intelligence Briefing 2026-07-16, from the [repository-quality] Options Struct Pattern report (2026-07-16). Verified un-filed as of this run.

Generated by 🔬 Deep Report · 247.5 AIC · ⌖ 12.4 AIC · ⊞ 10K ·

  • expires on Jul 18, 2026, 7:30 AM UTC-08:00

Metadata

Metadata

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions