Updates azd core to use go 1.26 - #7017
Conversation
Victor Vazquez (vhvb1989)
commented
Mar 5, 2026
- Moving azd core to go 1.26
- linter for latest linter
There was a problem hiding this comment.
Pull request overview
Moves the azd CLI module to Go 1.26 and updates CI/linting to a newer GolangCI-Lint, including adding a reusable Go lint workflow and addressing new linter findings (mostly gosec and printf-style warnings).
Changes:
- Bump Go version references to 1.26 (module, docs, CI setup).
- Upgrade GolangCI-Lint and centralize lint into a reusable GitHub Actions workflow.
- Add/adjust
//nolint:gosecsuppressions and updateFprintfusages to avoid non-literal format string issues.
Reviewed changes
Copilot reviewed 44 out of 44 changed files in this pull request and generated 3 comments.
Show a summary per file
| File | Description |
|---|---|
| cli/azd/tools/avmres/main.go | Adds gosec suppression on HTTP request execution. |
| cli/azd/test/internal/tfoidc/main.go | Adds gosec suppression on HTTP request execution in test helper. |
| cli/azd/test/cmdrecord/cmdrecorder_test.go | Adds gosec suppression for exec in test helper. |
| cli/azd/pkg/ux/select.go | Switches to explicit "%s" format to avoid printf format-string issues. |
| cli/azd/pkg/ux/prompt.go | Switches to explicit "%s" format to avoid printf format-string issues. |
| cli/azd/pkg/ux/multi_select.go | Switches to explicit "%s" format to avoid printf format-string issues. |
| cli/azd/pkg/ux/confirm.go | Switches to explicit "%s" format to avoid printf format-string issues. |
| cli/azd/pkg/tools/pack/pack.go | Adds gosec suppressions for env logging / file ops / temp cleanup. |
| cli/azd/pkg/tools/github/github.go | Adds gosec suppressions for env logging / file ops / temp cleanup. |
| cli/azd/pkg/tools/docker/acceptance/acceptance_test.go | Adds inline gosec suppression for subprocess invocation in acceptance test. |
| cli/azd/pkg/tools/bicep/bicep.go | Adds gosec suppressions for env logging and temp cleanup. |
| cli/azd/pkg/rzip/rzip.go | Adds gosec suppression related to tar extraction file operations. |
| cli/azd/pkg/project/service_target_dotnet_containerapp.go | Adds gosec suppression for parameter file read derived from config. |
| cli/azd/pkg/project/project_utils.go | Adds gosec suppression for temp file removal during cleanup. |
| cli/azd/pkg/pipeline/pipeline_test.go | Adds gosec suppression for secret-pattern false positives in test data. |
| cli/azd/pkg/infra/provisioning/terraform/terraform_provider.go | Adds gosec suppression for reading module files from trusted directory. |
| cli/azd/pkg/extensions/registry_cache.go | Adds gosec suppressions for env logging related to cache TTL. |
| cli/azd/pkg/extensions/manager.go | Adds gosec suppression for opening extension install file for checksum. |
| cli/azd/pkg/exec/command_runner.go | Adds gosec suppressions for subprocess execution calls. |
| cli/azd/pkg/config/manager.go | Adds gosec suppressions for config dir creation/stat/chmod. |
| cli/azd/pkg/auth/errors.go | Adds gosec suppression for fmt.Fprintf into bytes.Buffer. |
| cli/azd/magefile.go | Updates required GolangCI-Lint install version. |
| cli/azd/internal/telemetry/storage.go | Adds gosec suppressions around temp file writes/renames/removals. |
| cli/azd/internal/telemetry/notice_test.go | Adds gosec suppression for test file rename. |
| cli/azd/internal/telemetry/appinsights-exporter/transmitter.go | Adds gosec suppression for HTTP client Do() to telemetry endpoint. |
| cli/azd/internal/scaffold/resource_meta.go | Adds gosec suppression for secret-pattern false positives in templates. |
| cli/azd/internal/mcp/tools/azd_yaml_schema_test.go | Adds gosec suppression for test file renames. |
| cli/azd/internal/cmd/errors_test.go | Adds gosec suppression for secret-pattern false positives in map keys. |
| cli/azd/go.mod | Bumps the module Go version to 1.26. |
| cli/azd/extensions/microsoft.azd.extensions/internal/helpers.go | Adds gosec suppressions for temp cleanup, file writes, and subprocess invocation. |
| cli/azd/cmd/middleware/experimentation.go | Adds gosec suppressions for logging override endpoint and assignment context. |
| cli/azd/CONTRIBUTING.md | Updates documented Go prerequisite to 1.26. |
| cli/azd/AGENTS.md | Updates documented Go version guidance to 1.26. |
| cli/azd/.golangci.yaml | Excludes an additional gosec rule (G117). |
| .github/workflows/lint-go.yml | Adds reusable lint workflow for Go modules (Go + golangci-lint). |
| .github/workflows/ext-registry-ci.yml | Updates Go version used by the extension registry workflow. |
| .github/workflows/ext-microsoft-azd-concurx-ci.yml | Adds extension-specific CI using the reusable lint workflow (still pinned to old versions). |
| .github/workflows/ext-azure-coding-agent-ci.yml | Adds extension-specific CI using the reusable lint workflow (still pinned to old versions). |
| .github/workflows/ext-azure-appservice-ci.yml | Adds extension-specific CI using the reusable lint workflow (still pinned to old versions). |
| .github/workflows/ext-azure-ai-models-ci.yml | Adds extension-specific CI using the reusable lint workflow (still pinned to old versions). |
| .github/workflows/ext-azure-ai-finetune-ci.yml | Adds extension-specific CI using the reusable lint workflow (still pinned to old versions). |
| .github/workflows/ext-azure-ai-agents-ci.yml | Adds extension-specific CI using the reusable lint workflow (still pinned to old versions). |
| .github/workflows/copilot-setup-steps.yml | Updates Go and GolangCI-Lint install versions. |
| .github/workflows/cli-ci.yml | Switches azd lint job to use reusable workflow; attempts to exclude extensions via paths filter. |
Comments suppressed due to low confidence (1)
cli/azd/tools/avmres/main.go:1
- Suppressing gosec on
http.DefaultClient.Docan hide legitimate issues (commonly: missing client timeouts). If this suppression was prompted by a new gosec finding, it’s safer to address the root cause by using anhttp.Clientwith a reasonableTimeout(or ensuring the request context always has a deadline) rather than blanket-suppressing the warning.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Azure Dev CLI Install InstructionsInstall scriptsMacOS/Linux
bash: pwsh: WindowsPowerShell install MSI install Standalone Binary
MSI
Documentationlearn.microsoft.com documentationtitle: Azure Developer CLI reference
|
* Moving azd core to go 1.26 * linter for latest linter