Skip to content

chore: Completing venv abstraction - #6698

Merged
yhakbar merged 1 commit into
mainfrom
chore/completing-venv-abstraction
Aug 21, 2026
Merged

chore: Completing venv abstraction#6698
yhakbar merged 1 commit into
mainfrom
chore/completing-venv-abstraction

Conversation

@yhakbar

@yhakbar yhakbar commented Aug 18, 2026

Copy link
Copy Markdown
Collaborator

Description

🤞🏽 Should complete the venv abstraction 🤞🏽.

Closes some gaps related to GOOS and GOARCH usage. Also closes direct homedir access.

Closes more gaps from direct filesystem and exec usage.

TODOs

Read the Gruntwork contribution guidelines.

  • I authored this code entirely myself
  • I am submitting code based on open source software (e.g. MIT, MPL-2.0, Apache)
  • I am adding or upgrading a dependency or adapted code and confirm it has a compatible open source license
  • Update the docs.
  • Update the changelog in the docs.
  • Run the relevant tests successfully, including pre-commit checks.
  • This change is backwards compatible.
  • If this change is not forwards compatible (e.g. a new feature), it is gated behind a feature flag.

@vercel

vercel Bot commented Aug 18, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
terragrunt-docs Ready Ready Preview Aug 20, 2026 6:38pm

Request Review

@coderabbitai

coderabbitai Bot commented Aug 18, 2026

Copy link
Copy Markdown
Contributor

Warning

Review limit reached

Your included review limit has been reached.

You’re in a promotional period — use the checkbox below to run this review for free:

  • Run review for free

On-demand reviews are free for the next 31 days. After that, they cost $0.25 per reviewed file.

How can I continue?

Run this review now using the option above, or comment @coderabbitai review --use-credits.

You can also wait for the limit to reset, then comment @coderabbitai review or push new commits to the PR.

An organization admin can change what happens after included review limits in Billing.

How do review limits work?

CodeRabbit enforces per-developer PR review limits within each organization.

For paid Pro and Pro+ reviews, CodeRabbit uses a developer's included PR review attempts over the past 7 days to set the current hourly allowance. At typical activity levels, the full plan allowance applies. Higher sustained activity can lower the allowance until earlier attempts leave the 7-day window.

Please refer docs for additional details.

Review details
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

Run ID: eae9c870-c9ab-4f1b-95aa-a1ce83bcdbfa

📥 Commits

Reviewing files that changed from the base of the PR and between 27f01f0 and a723728.

📒 Files selected for processing (230)
  • .golangci.yml
  • docs/src/data/changelog/v1.1.4/prompt-answer-without-newline.mdx
  • docs/src/data/changelog/v1.1.4/sops-decrypt-auth-provider-credentials.mdx
  • internal/cas/benchmark_test.go
  • internal/cas/cas.go
  • internal/cas/content.go
  • internal/cas/gitstore.go
  • internal/cas/gitstore_test.go
  • internal/cas/integration_test.go
  • internal/cas/resolver_git_test.go
  • internal/cas/stacks.go
  • internal/cli/app_test.go
  • internal/cli/app_tf_test.go
  • internal/cli/commands/backend/bootstrap/bootstrap.go
  • internal/cli/commands/backend/delete/delete.go
  • internal/cli/commands/backend/migrate/migrate.go
  • internal/cli/commands/browse/browse.go
  • internal/cli/commands/browse/browse_test.go
  • internal/cli/commands/browse/tui/helpers_test.go
  • internal/cli/commands/browse/tui/init_test.go
  • internal/cli/commands/browse/tui/model.go
  • internal/cli/commands/browse/tui/model_test.go
  • internal/cli/commands/browse/tui/run_test.go
  • internal/cli/commands/browse/tui/tree.go
  • internal/cli/commands/browse/tui/tui.go
  • internal/cli/commands/catalog/catalog_test.go
  • internal/cli/commands/catalog/cli.go
  • internal/cli/commands/catalog/cli_test.go
  • internal/cli/commands/catalog/options_test.go
  • internal/cli/commands/catalog/tui/component_doc.go
  • internal/cli/commands/catalog/tui/copy_test.go
  • internal/cli/commands/catalog/tui/delegate.go
  • internal/cli/commands/catalog/tui/load.go
  • internal/cli/commands/catalog/tui/model.go
  • internal/cli/commands/catalog/tui/scaffold.go
  • internal/cli/commands/catalog/tui/tag_pills_test.go
  • internal/cli/commands/catalog/tui/tags_layout.go
  • internal/cli/commands/catalog/tui/update.go
  • internal/cli/commands/commands.go
  • internal/cli/commands/discoverysetup/discoverysetup.go
  • internal/cli/commands/discoverysetup/discoverysetup_test.go
  • internal/cli/commands/exec/exec.go
  • internal/cli/commands/find/cli_test.go
  • internal/cli/commands/find/find_test.go
  • internal/cli/commands/find/options_test.go
  • internal/cli/commands/hcl/validate/validate.go
  • internal/cli/commands/list/cli_test.go
  • internal/cli/commands/list/list_test.go
  • internal/cli/commands/list/options_test.go
  • internal/cli/commands/profiling_test.go
  • internal/cli/commands/run/flags_test.go
  • internal/cli/commands/run/help.go
  • internal/cli/commands/run/run.go
  • internal/cli/commands/run_action_test.go
  • internal/cli/commands/scaffold/cli.go
  • internal/cli/commands/scaffold/interactive.go
  • internal/cli/commands/scaffold/interactive_test.go
  • internal/cli/commands/scaffold/scaffold.go
  • internal/cli/commands/scaffold/scaffold_test.go
  • internal/cli/commands/stack/cli.go
  • internal/cli/commands/stack/stack.go
  • internal/cli/flags/global/flags_test.go
  • internal/cli/flags/shared/filter.go
  • internal/cli/flags/shared/filter_test.go
  • internal/clihelper/autocomplete.go
  • internal/configbridge/bridge.go
  • internal/configbridge/bridge_test.go
  • internal/configbridge/copy_test.go
  • internal/discovery/discovery_boundary_test.go
  • internal/discovery/filter_test.go
  • internal/discovery/graph_boundary_test.go
  • internal/discovery/graph_target_test.go
  • internal/discovery/helpers.go
  • internal/discovery/phase_parse.go
  • internal/discovery/phase_worktree.go
  • internal/discovery/phase_worktree_integration_test.go
  • internal/discovery/phase_worktree_test.go
  • internal/discovery/symlinks_test.go
  • internal/engine/archive_internal_test.go
  • internal/engine/engine.go
  • internal/engine/verification.go
  • internal/getter/oci_auth.go
  • internal/getter/oci_toforc.go
  • internal/getter/resolver.go
  • internal/getter/resolver_tfr.go
  • internal/getter/tfr.go
  • internal/getter/tfrhelpers.go
  • internal/git/git.go
  • internal/git/git_commands_test.go
  • internal/git/git_exec_test.go
  • internal/git/git_test.go
  • internal/git/server_test.go
  • internal/github/client.go
  • internal/github/client_test.go
  • internal/glob/glob.go
  • internal/glob/glob_test.go
  • internal/glob/legacy_equivalence_test.go
  • internal/hclparse/autoinclude.go
  • internal/hclparse/stack.go
  • internal/os/exec/opts.go
  • internal/panicreport/panicreport.go
  • internal/panicreport/panicreport_test.go
  • internal/prepare/prepare.go
  • internal/providercache/nested_modules_credentials_test.go
  • internal/providercache/providercache.go
  • internal/remotestate/remote_state.go
  • internal/report/report_test.go
  • internal/report/writer.go
  • internal/runner/graph/graph.go
  • internal/runner/run/context.go
  • internal/runner/run/creds/getter_test.go
  • internal/runner/run/creds/providers/externalcmd/provider_mem_test.go
  • internal/runner/run/creds/providers/externalcmd/provider_test.go
  • internal/runner/run/debug.go
  • internal/runner/run/download_source.go
  • internal/runner/run/download_source_test.go
  • internal/runner/run/hook.go
  • internal/runner/run/options.go
  • internal/runner/run/options_internal_test.go
  • internal/runner/run/run.go
  • internal/runner/run/version_check_mem_test.go
  • internal/runner/run/version_check_test.go
  • internal/runner/runall/runall.go
  • internal/runner/runner.go
  • internal/runner/runnerpool/builder_helpers.go
  • internal/runner/runnerpool/graph_fallback_test.go
  • internal/runner/runnerpool/runner.go
  • internal/services/catalog/component/kind.go
  • internal/services/catalog/module/doc.go
  • internal/services/catalog/module/module.go
  • internal/services/catalog/module/repo.go
  • internal/services/catalog/module/repo_tag_test.go
  • internal/shell/git.go
  • internal/shell/prompt.go
  • internal/shell/prompt_test.go
  • internal/shell/run_cmd.go
  • internal/shell/run_cmd_mem_test.go
  • internal/shell/run_cmd_output_test.go
  • internal/shell/run_cmd_unix_test.go
  • internal/shell/run_cmd_windows_test.go
  • internal/stacks/clean/clean.go
  • internal/stacks/generate/generate.go
  • internal/stacks/generate/generate_test.go
  • internal/stacks/output/output.go
  • internal/telemetry/logger_test.go
  • internal/telemetry/meter_test.go
  • internal/telemetry/otel_update_test.go
  • internal/telemetry/telemeter_test.go
  • internal/telemetry/tracer_test.go
  • internal/tf/cache/handlers/filesystem_mirror_provider.go
  • internal/tf/cache/handlers/provider.go
  • internal/tf/cache/handlers/provider_test.go
  • internal/tf/cache/helpers/http.go
  • internal/tf/cache/services/provider_cache.go
  • internal/tf/cliconfig/config.go
  • internal/tf/cliconfig/credentials.go
  • internal/tf/getproviders/constraints.go
  • internal/tf/getproviders/constraints_test.go
  • internal/tf/getproviders/hash.go
  • internal/tf/getproviders/hash_test.go
  • internal/tf/getproviders/hash_v1_test.go
  • internal/tf/getproviders/lock.go
  • internal/tf/getproviders/lock_test.go
  • internal/tf/getproviders/lock_update_test.go
  • internal/tf/getproviders/package_authentication.go
  • internal/tf/getproviders/package_authentication_pure_test.go
  • internal/tf/getproviders/package_authentication_test.go
  • internal/tf/run_cmd_test.go
  • internal/tf/source.go
  • internal/tf/source_test.go
  • internal/tfimpl/tfimpl.go
  • internal/tflint/tflint_test.go
  • internal/util/file.go
  • internal/util/lockfile.go
  • internal/venv/venv.go
  • internal/venv/venv_test.go
  • internal/vfs/vfs.go
  • internal/vfs/vfs_test.go
  • internal/vsops/env_fuzz_test.go
  • internal/vsops/env_test.go
  • internal/vsops/vsops.go
  • internal/vsops/vsops_test.go
  • internal/worktrees/worktrees.go
  • internal/worktrees/worktrees_test.go
  • main.go
  • pkg/config/catalog.go
  • pkg/config/config.go
  • pkg/config/config_helpers.go
  • pkg/config/config_partial.go
  • pkg/config/context.go
  • pkg/config/dependency.go
  • pkg/config/external_test.go
  • pkg/config/include.go
  • pkg/config/sops_race_test.go
  • pkg/config/sops_test.go
  • pkg/config/stack.go
  • pkg/options/options.go
  • pkg/options/options_test.go
  • test/benchmarks/helpers/helpers.go
  • test/fixtures/auth-provider-cmd/sops/creds.config
  • test/helpers/git_server.go
  • test/helpers/package.go
  • test/helpers/report.go
  • test/helpers/test_helpers.go
  • test/helpers/venvtest/venvtest.go
  • test/integration_aws_test.go
  • test/integration_catalog_test.go
  • test/integration_debug_tf_test.go
  • test/integration_destroy_test.go
  • test/integration_discovery_boundary_tf_test.go
  • test/integration_docs_aws_tofu_test.go
  • test/integration_docs_tf_test.go
  • test/integration_download_tf_test.go
  • test/integration_exclude_test.go
  • test/integration_filter_graph_tf_test.go
  • test/integration_filter_tf_test.go
  • test/integration_functions_test.go
  • test/integration_gcp_test.go
  • test/integration_include_test.go
  • test/integration_mark_many_as_read_tf_test.go
  • test/integration_registry_test.go
  • test/integration_regressions_tf_test.go
  • test/integration_report_tf_test.go
  • test/integration_runner_pool_test.go
  • test/integration_stack_dependencies_test.go
  • test/integration_stack_dependencies_tf_test.go
  • test/integration_stacks_test.go
  • test/integration_stacks_tf_test.go
  • test/integration_tf_test.go
  • test/integration_units_reading_test.go

Comment @coderabbitai help to get the list of available commands.

@yhakbar
yhakbar force-pushed the chore/completing-venv-abstraction branch from ebc681c to fa26f11 Compare August 18, 2026 19:04
@yhakbar
yhakbar force-pushed the chore/completing-venv-abstraction branch from fa26f11 to 212b1e3 Compare August 18, 2026 22:34
@yhakbar
yhakbar force-pushed the chore/completing-venv-abstraction branch from 212b1e3 to acdceb8 Compare August 19, 2026 13:56
Base automatically changed from chore/increasing-venv-coverage-further to main August 19, 2026 14:37
@yhakbar
yhakbar force-pushed the chore/completing-venv-abstraction branch from acdceb8 to 43d7595 Compare August 19, 2026 14:37
@yhakbar
yhakbar force-pushed the chore/completing-venv-abstraction branch 2 times, most recently from 596e949 to e3dd6dd Compare August 19, 2026 14:48
@yhakbar
yhakbar force-pushed the chore/completing-venv-abstraction branch from 547fa3e to fd01602 Compare August 19, 2026 14:56
@yhakbar
yhakbar force-pushed the chore/completing-venv-abstraction branch from fd01602 to e2accda Compare August 19, 2026 15:08
@yhakbar
yhakbar force-pushed the chore/completing-venv-abstraction branch from e2accda to 56ca70a Compare August 19, 2026 15:18
@yhakbar
yhakbar force-pushed the chore/completing-venv-abstraction branch from 56ca70a to 64a4498 Compare August 19, 2026 15:39
@yhakbar
yhakbar force-pushed the chore/completing-venv-abstraction branch from 64a4498 to 150afd2 Compare August 19, 2026 16:16
@yhakbar
yhakbar force-pushed the chore/completing-venv-abstraction branch from 150afd2 to d83007b Compare August 19, 2026 16:32
@yhakbar
yhakbar force-pushed the chore/completing-venv-abstraction branch from d83007b to 75ad3a7 Compare August 19, 2026 16:50
🤞🏽 Should complete the venv abstraction 🤞🏽.

Closes some gaps related to GOOS and GOARCH usage. Also closes direct homedir access.

Closes more gaps from direct filesystem and exec usage.

Also adds some optimization for listing files in a directory with a
particular suffix... Then I added one more optimization in
`getTerraformInputNamesFromAutomaticVarFiles`.

Addressing `EOF` in input stream.

Dropping `iofs` aliases.

Using TLS server for engine download tests.

As a consequence, we can do a bit more parallelization in tests.

Also renames `vfs.ReadDirEntries` to `vfs.ReadDir`.

This ended up fixing an unexpected bug in how sops resolved credentials
with the `--auth-provider-cmd` active. It would allow ambient
environment variables have precedence over the values that would be set
by the `--auth-provider-cmd`, which is inconsistent with how everything
else works. That has been fixed.
@yhakbar
yhakbar force-pushed the chore/completing-venv-abstraction branch from f665ea5 to a723728 Compare August 20, 2026 18:37
@yhakbar
yhakbar marked this pull request as ready for review August 20, 2026 21:18
@yhakbar
yhakbar requested a review from denis256 as a code owner August 20, 2026 21:18
@yhakbar
yhakbar merged commit 87661fe into main Aug 21, 2026
225 of 234 checks passed
@yhakbar
yhakbar deleted the chore/completing-venv-abstraction branch August 21, 2026 12:52
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants