summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--.github/workflows/languages.yaml2
-rw-r--r--.github/workflows/main.yml2
-rw-r--r--.pre-commit-config.yaml6
-rw-r--r--CHANGELOG.md8
-rw-r--r--pre_commit/languages/ruby.py4
-rw-r--r--setup.cfg4
-rw-r--r--testing/zipapp/Dockerfile4
-rwxr-xr-xtesting/zipapp/make16
8 files changed, 32 insertions, 14 deletions
diff --git a/.github/workflows/languages.yaml b/.github/workflows/languages.yaml
index 57a1c0c..7e97158 100644
--- a/.github/workflows/languages.yaml
+++ b/.github/workflows/languages.yaml
@@ -3,7 +3,7 @@ name: languages
on:
push:
branches: [main, test-me-*]
- tags:
+ tags: '*'
pull_request:
concurrency:
diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml
index f281dcf..903d247 100644
--- a/.github/workflows/main.yml
+++ b/.github/workflows/main.yml
@@ -3,7 +3,7 @@ name: main
on:
push:
branches: [main, test-me-*]
- tags:
+ tags: '*'
pull_request:
concurrency:
diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml
index cb03c75..7810d22 100644
--- a/.pre-commit-config.yaml
+++ b/.pre-commit-config.yaml
@@ -10,7 +10,7 @@ repos:
- id: name-tests-test
- id: requirements-txt-fixer
- repo: https://github.com/asottile/setup-cfg-fmt
- rev: v2.2.0
+ rev: v2.3.0
hooks:
- id: setup-cfg-fmt
- repo: https://github.com/asottile/reorder-python-imports
@@ -20,12 +20,12 @@ repos:
exclude: ^(pre_commit/resources/|testing/resources/python3_hooks_repo/)
args: [--py38-plus, --add-import, 'from __future__ import annotations']
- repo: https://github.com/asottile/add-trailing-comma
- rev: v2.4.0
+ rev: v2.5.1
hooks:
- id: add-trailing-comma
args: [--py36-plus]
- repo: https://github.com/asottile/pyupgrade
- rev: v3.4.0
+ rev: v3.6.0
hooks:
- id: pyupgrade
args: [--py38-plus]
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 4256c6a..722e8ff 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,3 +1,11 @@
+3.3.3 - 2023-06-13
+==================
+
+### Fixes
+- Work around OS packagers setting `--install-dir` / `--bin-dir` in gem settings.
+ - #2905 PR by @jaysoffian.
+ - #2799 issue by @lmilbaum.
+
3.3.2 - 2023-05-17
==================
diff --git a/pre_commit/languages/ruby.py b/pre_commit/languages/ruby.py
index 76631f2..c88269f 100644
--- a/pre_commit/languages/ruby.py
+++ b/pre_commit/languages/ruby.py
@@ -114,6 +114,8 @@ def _install_ruby(
def install_environment(
prefix: Prefix, version: str, additional_dependencies: Sequence[str],
) -> None:
+ envdir = lang_base.environment_dir(prefix, ENVIRONMENT_DIR, version)
+
if version != 'system': # pragma: win32 no cover
_install_rbenv(prefix, version)
with in_env(prefix, version):
@@ -135,6 +137,8 @@ def install_environment(
'gem', 'install',
'--no-document', '--no-format-executable',
'--no-user-install',
+ '--install-dir', os.path.join(envdir, 'gems'),
+ '--bindir', os.path.join(envdir, 'gems', 'bin'),
*prefix.star('.gem'), *additional_dependencies,
),
)
diff --git a/setup.cfg b/setup.cfg
index b2c268b..88302e7 100644
--- a/setup.cfg
+++ b/setup.cfg
@@ -1,6 +1,6 @@
[metadata]
name = pre_commit
-version = 3.3.2
+version = 3.3.3
description = A framework for managing and maintaining multi-language pre-commit hooks.
long_description = file: README.md
long_description_content_type = text/markdown
@@ -8,7 +8,7 @@ url = https://github.com/pre-commit/pre-commit
author = Anthony Sottile
author_email = asottile@umich.edu
license = MIT
-license_file = LICENSE
+license_files = LICENSE
classifiers =
License :: OSI Approved :: MIT License
Programming Language :: Python :: 3
diff --git a/testing/zipapp/Dockerfile b/testing/zipapp/Dockerfile
index 7c74c1b..ea967e3 100644
--- a/testing/zipapp/Dockerfile
+++ b/testing/zipapp/Dockerfile
@@ -1,4 +1,4 @@
-FROM ubuntu:focal
+FROM ubuntu:jammy
RUN : \
&& apt-get update \
&& DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \
@@ -11,4 +11,4 @@ RUN : \
ENV LANG=C.UTF-8 PATH=/venv/bin:$PATH
RUN : \
&& python3 -mvenv /venv \
- && pip install --no-cache-dir pip setuptools wheel no-manylinux --upgrade
+ && pip install --no-cache-dir pip distlib no-manylinux --upgrade
diff --git a/testing/zipapp/make b/testing/zipapp/make
index 37b5c35..165046f 100755
--- a/testing/zipapp/make
+++ b/testing/zipapp/make
@@ -4,7 +4,6 @@ from __future__ import annotations
import argparse
import base64
import hashlib
-import importlib.resources
import io
import os.path
import shutil
@@ -42,10 +41,17 @@ def _add_shim(dest: str) -> None:
with zipfile.ZipFile(bio, 'w') as zipf:
zipf.write(shim, arcname='__main__.py')
- with open(os.path.join(dest, 'python.exe'), 'wb') as f:
- f.write(importlib.resources.read_binary('distlib', 't32.exe'))
- f.write(b'#!py.exe -3\n')
- f.write(bio.getvalue())
+ with tempfile.TemporaryDirectory() as tmpdir:
+ _exit_if_retv(
+ 'podman', 'run', '--rm', '--volume', f'{tmpdir}:/out:rw', IMG,
+ 'cp', '/venv/lib/python3.10/site-packages/distlib/t32.exe', '/out',
+ )
+
+ with open(os.path.join(dest, 'python.exe'), 'wb') as f:
+ with open(os.path.join(tmpdir, 't32.exe'), 'rb') as t32:
+ f.write(t32.read())
+ f.write(b'#!py.exe -3\n')
+ f.write(bio.getvalue())
def _write_cache_key(version: str, wheeldir: str, dest: str) -> None: