Merge branch 'main' into eph/jl-version

This commit is contained in:
Eric Hanson 2025-08-18 19:14:46 +02:00 committed by GitHub
commit 623af3b5f5
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
8 changed files with 34 additions and 9 deletions

View file

@ -1,6 +1,6 @@
repos: repos:
- repo: https://github.com/pre-commit/pre-commit-hooks - repo: https://github.com/pre-commit/pre-commit-hooks
rev: v5.0.0 rev: v6.0.0
hooks: hooks:
- id: trailing-whitespace - id: trailing-whitespace
- id: end-of-file-fixer - id: end-of-file-fixer
@ -37,7 +37,7 @@ repos:
hooks: hooks:
- id: flake8 - id: flake8
- repo: https://github.com/pre-commit/mirrors-mypy - repo: https://github.com/pre-commit/mirrors-mypy
rev: v1.16.1 rev: v1.17.1
hooks: hooks:
- id: mypy - id: mypy
additional_dependencies: [types-pyyaml] additional_dependencies: [types-pyyaml]

View file

@ -1,3 +1,16 @@
4.3.0 - 2025-08-09
==================
### Features
- `language: docker` / `language: docker_image`: detect rootless docker.
- #3446 PR by @matthewhughes934.
- #1243 issue by @dkolepp.
- `language: julia`: avoid `startup.jl` when executing hooks.
- #3496 PR by @ericphanson.
- `language: dart`: support latest dart versions which require a higher sdk
lower bound.
- #3507 PR by @bc-lee.
4.2.0 - 2025-03-18 4.2.0 - 2025-03-18
================== ==================

View file

@ -37,7 +37,7 @@ def run_hook(
cmd = lang_base.hook_cmd(entry, args) cmd = lang_base.hook_cmd(entry, args)
script = cmd[0] if is_local else prefix.path(cmd[0]) script = cmd[0] if is_local else prefix.path(cmd[0])
cmd = ('julia', script, *cmd[1:]) cmd = ('julia', '--startup-file=no', script, *cmd[1:])
return lang_base.run_xargs( return lang_base.run_xargs(
cmd, cmd,
file_args, file_args,
@ -132,6 +132,7 @@ def install_environment(
end end
""" """
cmd_output_b( cmd_output_b(
'julia', '-e', julia_code, '--', envdir, *additional_dependencies, 'julia', '--startup-file=no', '-e', julia_code, '--', envdir,
*additional_dependencies,
cwd=prefix.prefix_dir, cwd=prefix.prefix_dir,
) )

View file

@ -1,4 +1,4 @@
name: pre_commit_empty_pubspec name: pre_commit_empty_pubspec
environment: environment:
sdk: '>=2.10.0' sdk: '>=2.12.0'
executables: {} executables: {}

View file

@ -1,6 +1,6 @@
[metadata] [metadata]
name = pre_commit name = pre_commit
version = 4.2.0 version = 4.3.0
description = A framework for managing and maintaining multi-language pre-commit hooks. description = A framework for managing and maintaining multi-language pre-commit hooks.
long_description = file: README.md long_description = file: README.md
long_description_content_type = text/markdown long_description_content_type = text/markdown

View file

@ -1,7 +1,7 @@
#!/usr/bin/env bash #!/usr/bin/env bash
set -euo pipefail set -euo pipefail
VERSION=2.13.4 VERSION=2.19.6
if [ "$OSTYPE" = msys ]; then if [ "$OSTYPE" = msys ]; then
URL="https://storage.googleapis.com/dart-archive/channels/stable/release/${VERSION}/sdk/dartsdk-windows-x64-release.zip" URL="https://storage.googleapis.com/dart-archive/channels/stable/release/${VERSION}/sdk/dartsdk-windows-x64-release.zip"

View file

@ -10,7 +10,7 @@ from testing.language_helpers import run_language
def test_dart(tmp_path): def test_dart(tmp_path):
pubspec_yaml = '''\ pubspec_yaml = '''\
environment: environment:
sdk: '>=2.10.0 <3.0.0' sdk: '>=2.12.0 <4.0.0'
name: hello_world_dart name: hello_world_dart

View file

@ -1,5 +1,8 @@
from __future__ import annotations from __future__ import annotations
import os
from unittest import mock
from pre_commit.languages import julia from pre_commit.languages import julia
from testing.language_helpers import run_language from testing.language_helpers import run_language
from testing.util import cwd from testing.util import cwd
@ -27,7 +30,6 @@ def test_julia_hook(tmp_path):
expected = (0, b'Hello, world!\n') expected = (0, b'Hello, world!\n')
assert run_language(tmp_path, julia, 'src/main.jl') == expected assert run_language(tmp_path, julia, 'src/main.jl') == expected
def test_julia_hook_version(tmp_path): def test_julia_hook_version(tmp_path):
code = """ code = """
using Example using Example
@ -43,6 +45,15 @@ def test_julia_hook_version(tmp_path):
version='1.10.10', version='1.10.10',
) == expected ) == expected
def test_julia_hook_with_startup(tmp_path):
depot_path = tmp_path.joinpath('depot')
depot_path.joinpath('config').mkdir(parents=True)
startup = depot_path.joinpath('config', 'startup.jl')
startup.write_text('error("Startup file used!")\n')
depo_path_var = f'{depot_path}{os.pathsep}'
with mock.patch.dict(os.environ, {'JULIA_DEPOT_PATH': depo_path_var}):
test_julia_hook(tmp_path)
def test_julia_hook_manifest(tmp_path): def test_julia_hook_manifest(tmp_path):
code = """ code = """