Skip to content

Commit 6305a0c

Browse files
authored
Merge branch 'main' into all-repos_autofix_all-repos-sed
2 parents 5e6332e + 9cfb4a6 commit 6305a0c

19 files changed

+130
-52
lines changed

.github/workflows/bump-changelog.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,9 +24,9 @@ jobs:
2424
pull-requests: write
2525
steps:
2626
- name: Checkout ${{ github.ref }}
27-
uses: actions/checkout@v4
27+
uses: actions/checkout@v6
2828
- name: Set up Python ${{ env.default-python }}
29-
uses: actions/setup-python@v5
29+
uses: actions/setup-python@v6
3030
with:
3131
python-version: ${{ env.default-python }}
3232
cache: "pip"

.github/workflows/create_tests_package_lists.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -18,9 +18,9 @@ jobs:
1818
- os: windows-latest
1919
python-version: "3.13"
2020
steps:
21-
- uses: actions/checkout@v4
21+
- uses: actions/checkout@v6
2222
- name: Set up Python ${{ matrix.python-version }}
23-
uses: actions/setup-python@v5
23+
uses: actions/setup-python@v6
2424
with:
2525
python-version: ${{ matrix.python-version }}
2626
cache: "pip"
@@ -30,7 +30,7 @@ jobs:
3030
run:
3131
nox --non-interactive --session create_test_package_list-${{ matrix.python-version }} -- ./new_tests_packages
3232
- name: Store reports as artifacts
33-
uses: actions/upload-artifact@v4
33+
uses: actions/upload-artifact@v6
3434
with:
3535
name: lists-${{ matrix.os }}-${{ matrix.python-version }}
3636
path: ./new_tests_packages

.github/workflows/exhaustive_package_test.yml

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -15,9 +15,9 @@ jobs:
1515
python-version: ["3.12", "3.11", "3.10", "3.9"]
1616

1717
steps:
18-
- uses: actions/checkout@v4
18+
- uses: actions/checkout@v6
1919
- name: Set up Python ${{ matrix.python-version }}
20-
uses: actions/setup-python@v5
20+
uses: actions/setup-python@v6
2121
with:
2222
python-version: ${{ matrix.python-version }}
2323
cache: "pip"
@@ -27,7 +27,7 @@ jobs:
2727
continue-on-error: true
2828
run: nox --non-interactive --session test_all_packages-${{ matrix.python-version }}
2929
- name: Store reports as artifacts
30-
uses: actions/upload-artifact@v4
30+
uses: actions/upload-artifact@v6
3131
with:
3232
name: reports-raw-${{ matrix.os }}-${{ matrix.python-version }}
3333
path: reports
@@ -39,7 +39,7 @@ jobs:
3939

4040
steps:
4141
- name: Get report artifacts
42-
uses: actions/download-artifact@v4
42+
uses: actions/download-artifact@v7
4343
with:
4444
pattern: reports-raw-*
4545
merge-multiple: true
@@ -58,7 +58,7 @@ jobs:
5858
cat all_packages_deps_errors_* > all_deps_errors_lf.txt
5959
tr -d '\r' < all_deps_errors_lf.txt > reports/all_deps_errors.txt
6060
- name: Store collated and raw reports as artifacts
61-
uses: actions/upload-artifact@v4
61+
uses: actions/upload-artifact@v6
6262
with:
6363
name: reports-final
6464
path: reports

.github/workflows/release.yml

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ jobs:
3131
permissions:
3232
contents: write
3333
steps:
34-
- uses: actions/checkout@v4
34+
- uses: actions/checkout@v6
3535
- name: Extract version to be released
3636
id: get-version
3737
env:
@@ -60,11 +60,11 @@ jobs:
6060
id-token: write
6161
steps:
6262
- name: Checkout ${{ needs.create-tag.outputs.release-tag }}
63-
uses: actions/checkout@v4
63+
uses: actions/checkout@v6
6464
with:
6565
ref: "${{ needs.create-tag.outputs.release-tag }}"
6666
- name: Set up Python ${{ env.default-python }}
67-
uses: actions/setup-python@v5
67+
uses: actions/setup-python@v6
6868
with:
6969
python-version: ${{ env.default-python }}
7070
cache: "pip"
@@ -82,7 +82,7 @@ jobs:
8282
permissions:
8383
contents: write
8484
steps:
85-
- uses: actions/checkout@v4
85+
- uses: actions/checkout@v6
8686
- name: Create release
8787
uses: softprops/action-gh-release@v2
8888
with:
@@ -97,11 +97,11 @@ jobs:
9797
contents: write
9898
steps:
9999
- name: Checkout ${{ needs.create-tag.outputs.release-tag }}
100-
uses: actions/checkout@v4
100+
uses: actions/checkout@v6
101101
with:
102102
ref: "${{ needs.create-tag.outputs.release-tag }}"
103103
- name: Set up Python ${{ env.minimum-supported-python }}
104-
uses: actions/setup-python@v5
104+
uses: actions/setup-python@v6
105105
with:
106106
python-version: ${{ env.minimum-supported-python }}
107107
cache: "pip"

.github/workflows/tests.yml

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -31,14 +31,14 @@ jobs:
3131
python-version: "3.13"
3232

3333
steps:
34-
- uses: actions/checkout@v4
34+
- uses: actions/checkout@v6
3535
- name: Set up Python ${{ matrix.python-version }}
36-
uses: actions/setup-python@v5
36+
uses: actions/setup-python@v6
3737
with:
3838
python-version: ${{ matrix.python-version }}
3939
cache: "pip"
4040
- name: Persistent .pipx_tests/package_cache
41-
uses: actions/cache@v4
41+
uses: actions/cache@v5
4242
with:
4343
path: ${{ github.workspace }}/.pipx_tests/package_cache/${{ matrix.python-version }}
4444
key: pipx-tests-package-cache-${{ runner.os }}-${{ matrix.python-version }}
@@ -50,9 +50,9 @@ jobs:
5050
name: Build man page
5151
runs-on: ubuntu-latest
5252
steps:
53-
- uses: actions/checkout@v4
53+
- uses: actions/checkout@v6
5454
- name: Set up Python ${{ env.default-python }}
55-
uses: actions/setup-python@v5
55+
uses: actions/setup-python@v6
5656
with:
5757
python-version: ${{ env.default-python }}
5858
cache: "pip"
@@ -68,9 +68,9 @@ jobs:
6868
runs-on: ubuntu-latest
6969
steps:
7070
- name: Checkout ${{ github.ref }}
71-
uses: actions/checkout@v4
71+
uses: actions/checkout@v6
7272
- name: Set up Python ${{ env.minimum-supported-python }}
73-
uses: actions/setup-python@v5
73+
uses: actions/setup-python@v6
7474
with:
7575
python-version: ${{ env.minimum-supported-python }}
7676
cache: "pip"
@@ -80,7 +80,7 @@ jobs:
8080
run: nox --error-on-missing-interpreters --non-interactive --session zipapp
8181
- name: Test zipapp by installing black
8282
run: python ./pipx.pyz install black
83-
- uses: actions/upload-artifact@v4
83+
- uses: actions/upload-artifact@v6
8484
with:
8585
name: pipx.pyz
8686
path: pipx.pyz

.pre-commit-config.yaml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,13 @@
11
repos:
22
- repo: https://github.com/pre-commit/pre-commit-hooks
3-
rev: v5.0.0
3+
rev: v6.0.0
44
hooks:
55
- id: end-of-file-fixer
66
- id: check-added-large-files
77
- id: trailing-whitespace
88
- id: check-yaml
99
- repo: https://github.com/tox-dev/pyproject-fmt
10-
rev: v2.6.0
10+
rev: v2.7.0
1111
hooks:
1212
- id: pyproject-fmt
1313
- repo: https://github.com/astral-sh/ruff-pre-commit
@@ -17,7 +17,7 @@ repos:
1717
args: [ "--fix", "--unsafe-fixes", "--show-fixes", "--exit-non-zero-on-fix"]
1818
- id: ruff-format
1919
- repo: https://github.com/pre-commit/mirrors-mypy
20-
rev: v1.14.1
20+
rev: v1.19.1
2121
hooks:
2222
- id: mypy
2323
args: ['--warn-unused-ignores', '--strict-equality','--no-implicit-optional', '--check-untyped-defs']
@@ -30,7 +30,7 @@ repos:
3030
- "tomli; python_version < '3.11'"
3131
# Configuration for codespell is in pyproject.toml
3232
- repo: https://github.com/codespell-project/codespell
33-
rev: v2.3.0
33+
rev: v2.4.1
3434
hooks:
3535
- id: codespell
3636
additional_dependencies:

changelog.d/1498.feature.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
Add completion choices for `pipx environment --value`.

changelog.d/1592.bugfix.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
Ignore recursive symlink loops in PIPX_BIN_DIR.

changelog.d/1709.bugfix.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
Stop `pipx run` from leaving bad temporary venvs when first installation was unsuccessful.

src/pipx/commands/common.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -135,7 +135,7 @@ def _symlink_package_resource(
135135
logger.info(f"Force is true. Removing {symlink_path!s}.")
136136
try:
137137
symlink_path.unlink()
138-
except FileNotFoundError:
138+
except (FileNotFoundError, RuntimeError):
139139
pass
140140
except IsADirectoryError:
141141
rmdir(symlink_path)
@@ -307,7 +307,7 @@ def get_exposed_paths_for_package(
307307
if is_same_file:
308308
symlinks.add(b)
309309

310-
except FileNotFoundError:
310+
except (FileNotFoundError, RuntimeError):
311311
pass
312312
return symlinks
313313

@@ -352,13 +352,13 @@ def _get_list_output(
352352
)
353353

354354
if new_install and (exposed_binary_names or unavailable_binary_names):
355-
output.append(" These apps are now globally available")
355+
output.append(" These apps are now available")
356356
output.extend(f" - {name}" for name in exposed_binary_names)
357357
output.extend(
358358
f" - {red(name)} (symlink missing or pointing to unexpected location)" for name in unavailable_binary_names
359359
)
360360
if new_install and (exposed_man_pages or unavailable_man_pages):
361-
output.append(" These manual pages are now globally available")
361+
output.append(" These manual pages are now available")
362362
output.extend(f" - {name}" for name in exposed_man_pages)
363363
output.extend(
364364
f" - {red(name)} (symlink missing or pointing to unexpected location)" for name in unavailable_man_pages

0 commit comments

Comments
 (0)