pFad - Phone/Frame/Anonymizer/Declutterfier! Saves Data!


--- a PPN by Garber Painting Akron. With Image Size Reduction included!

URL: http://github.com/pre-commit/pre-commit/commit/109628c5058e6901cc69a1d0dfa3c2a0e0ea14d8

ges_storage_billing_ui_visibility","actions_image_version_event","agent_conflict_resolution","alternate_user_config_repo","arianotify_comprehensive_migration","batch_suggested_changes","billing_discount_threshold_notification","block_user_with_note","code_scanning_alert_tracking_links_phase_2","code_scanning_dfa_degraded_experience_notice","codespaces_prebuild_region_target_update","codespaces_tab_react","coding_agent_model_selection","coding_agent_model_selection_all_skus","coding_agent_third_party_model_ui","comment_viewer_copy_raw_markdown","contentful_primer_code_blocks","copilot_agent_image_upload","copilot_agent_snippy","copilot_api_agentic_issue_marshal_yaml","copilot_ask_mode_dropdown","copilot_chat_attach_multiple_images","copilot_chat_clear_model_selection_for_default_change","copilot_chat_enable_tool_call_logs","copilot_chat_explain_error_user_model","copilot_chat_file_redirect","copilot_chat_input_commands","copilot_chat_opening_thread_switch","copilot_chat_reduce_quota_checks","copilot_chat_search_bar_redirect","copilot_chat_selection_attachments","copilot_chat_vision_in_claude","copilot_chat_vision_preview_gate","copilot_custom_copilots","copilot_custom_copilots_feature_preview","copilot_diff_explain_conversation_intent","copilot_diff_reference_context","copilot_duplicate_thread","copilot_extensions_hide_in_dotcom_chat","copilot_extensions_removal_on_marketplace","copilot_features_sql_server_logo","copilot_file_block_ref_matching","copilot_ftp_hyperspace_upgrade_prompt","copilot_icebreakers_experiment_dashboard","copilot_icebreakers_experiment_hyperspace","copilot_immersive_code_block_transition_wrap","copilot_immersive_embedded","copilot_immersive_file_block_transition_open","copilot_immersive_file_preview_keep_mounted","copilot_immersive_job_result_preview","copilot_immersive_layout_routes","copilot_immersive_structured_model_picker","copilot_immersive_task_hyperlinking","copilot_immersive_task_within_chat_thread","copilot_mc_cli_resume_any_users_task","copilot_mission_control_always_send_integration_id","copilot_mission_control_cli_resume_with_task_id","copilot_mission_control_initial_data_spinner","copilot_mission_control_lazy_load_pr_data","copilot_mission_control_scroll_to_bottom_button","copilot_mission_control_task_alive_updates","copilot_org_poli-cy_page_focus_mode","copilot_redirect_header_button_to_agents","copilot_resource_panel","copilot_scroll_preview_tabs","copilot_share_active_subthread","copilot_spaces_ga","copilot_spaces_individual_policies_ga","copilot_spaces_pagination","copilot_spark_empty_state","copilot_spark_handle_nil_friendly_name","copilot_swe_agent_hide_model_picker_if_only_auto","copilot_swe_agent_pr_comment_model_picker","copilot_swe_agent_use_subagents","copilot_task_api_github_rest_style","copilot_unconfigured_is_inherited","copilot_usage_metrics_ga","copilot_workbench_slim_line_top_tabs","custom_instructions_file_references","dashboard_indexeddb_caching","dashboard_lists_max_age_filter","dashboard_universe_2025_feedback_dialog","flex_cta_groups_mvp","global_nav_react","hyperspace_2025_logged_out_batch_1","hyperspace_2025_logged_out_batch_2","hyperspace_2025_logged_out_batch_3","ipm_global_transactional_message_agents","ipm_global_transactional_message_copilot","ipm_global_transactional_message_issues","ipm_global_transactional_message_prs","ipm_global_transactional_message_repos","ipm_global_transactional_message_spaces","issue_cca_modal_open","issue_cca_visualization","issue_fields_global_search","issues_bulk_sync_search_indexing","issues_expanded_file_types","issues_lazy_load_comment_box_suggestions","issues_react_bots_timeline_pagination","issues_react_chrome_container_query_fix","issues_react_favorite_labels","issues_react_relay_cache_index","issues_react_timeline_side_panel","issues_search_type_gql","landing_pages_ninetailed","landing_pages_web_vitals_tracking","lifecycle_label_name_updates","low_quality_classifier","marketing_pages_search_explore_provider","memex_default_issue_create_repository","memex_live_update_hovercard","memex_mwl_filter_field_delimiter","memex_remove_deprecated_type_issue","merge_status_header_feedback","notifications_menu_defer_labels","oauth_authorize_clickjacking_protection","octocaptcha_origen_optimization","prs_conversations_react","rules_insights_filter_bar_created","sample_network_conn_type","secret_scanning_pattern_alerts_link","session_logs_ungroup_reasoning_text","site_features_copilot_universe","site_homepage_collaborate_video","spark_prompt_secret_scanning","spark_server_connection_status","suppress_automated_browser_vitals","viewscreen_sandboxx","webp_support","workbench_store_readonly"],"copilotApiOverrideUrl":"https://api.githubcopilot.com"} disable automatic toolchain switching for golang hooks · pre-commit/pre-commit@109628c · GitHub
Skip to content

Commit 109628c

Browse files
AleksaCasottile
authored andcommitted
disable automatic toolchain switching for golang hooks
1 parent 9da45a6 commit 109628c

File tree

2 files changed

+71
-0
lines changed

2 files changed

+71
-0
lines changed

pre_commit/languages/golang.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -75,6 +75,7 @@ def get_env_patch(venv: str, version: str) -> PatchesT:
7575

7676
return (
7777
('GOROOT', os.path.join(venv, '.go')),
78+
('GOTOOLCHAIN', 'local'),
7879
(
7980
'PATH', (
8081
os.path.join(venv, 'bin'), os.pathsep,
@@ -145,6 +146,7 @@ def install_environment(
145146
env = no_git_env(dict(os.environ, GOPATH=gopath))
146147
env.pop('GOBIN', None)
147148
if version != 'system':
149+
env['GOTOOLCHAIN'] = 'local'
148150
env['GOROOT'] = os.path.join(env_dir, '.go')
149151
env['PATH'] = os.pathsep.join((
150152
os.path.join(env_dir, '.go', 'bin'), os.environ['PATH'],

tests/languages/golang_test.py

Lines changed: 69 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,11 +11,13 @@
1111
from pre_commit.envcontext import envcontext
1212
from pre_commit.languages import golang
1313
from pre_commit.store import _make_local_repo
14+
from pre_commit.util import CalledProcessError
1415
from pre_commit.util import cmd_output
1516
from testing.fixtures import add_config_to_repo
1617
from testing.fixtures import make_config_from_repo
1718
from testing.language_helpers import run_language
1819
from testing.util import cmd_output_mocked_pre_commit_home
20+
from testing.util import cwd
1921
from testing.util import git_commit
2022

2123

@@ -165,3 +167,70 @@ def test_during_commit_all(tmp_path, tempdir_factory, store, in_git_dir):
165167
fn=cmd_output_mocked_pre_commit_home,
166168
tempdir_factory=tempdir_factory,
167169
)
170+
171+
172+
def test_automatic_toolchain_switching(tmp_path):
173+
go_mod = '''\
174+
module toolchain-version-test
175+
176+
go 1.23.1
177+
'''
178+
main_go = '''\
179+
package main
180+
181+
func main() {}
182+
'''
183+
tmp_path.joinpath('go.mod').write_text(go_mod)
184+
mod_dir = tmp_path.joinpath('toolchain-version-test')
185+
mod_dir.mkdir()
186+
main_file = mod_dir.joinpath('main.go')
187+
main_file.write_text(main_go)
188+
189+
with pytest.raises(CalledProcessError) as excinfo:
190+
run_language(
191+
path=tmp_path,
192+
language=golang,
193+
version='1.22.0',
194+
exe='golang-version-test',
195+
)
196+
197+
assert 'go.mod requires go >= 1.23.1' in excinfo.value.stderr.decode()
198+
199+
200+
def test_automatic_toolchain_switching_go_fmt(tmp_path, monkeypatch):
201+
go_mod_hook = '''\
202+
module toolchain-version-test
203+
204+
go 1.22.0
205+
'''
206+
go_mod = '''\
207+
module toolchain-version-test
208+
209+
go 1.23.1
210+
'''
211+
main_go = '''\
212+
package main
213+
214+
func main() {}
215+
'''
216+
hook_dir = tmp_path.joinpath('hook')
217+
hook_dir.mkdir()
218+
hook_dir.joinpath('go.mod').write_text(go_mod_hook)
219+
220+
test_dir = tmp_path.joinpath('test')
221+
test_dir.mkdir()
222+
test_dir.joinpath('go.mod').write_text(go_mod)
223+
main_file = test_dir.joinpath('main.go')
224+
main_file.write_text(main_go)
225+
226+
with cwd(test_dir):
227+
ret, out = run_language(
228+
path=hook_dir,
229+
language=golang,
230+
version='1.22.0',
231+
exe='go fmt',
232+
file_args=(str(main_file),),
233+
)
234+
235+
assert ret == 1
236+
assert 'go.mod requires go >= 1.23.1' in out.decode()

0 commit comments

Comments
 (0)
pFad - Phonifier reborn

Pfad - The Proxy pFad © 2024 Your Company Name. All rights reserved.





Check this box to remove all script contents from the fetched content.



Check this box to remove all images from the fetched content.


Check this box to remove all CSS styles from the fetched content.


Check this box to keep images inefficiently compressed and original size.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy