Skip to content

Commit 11ce1e2

Browse files
Merge remote-tracking branch 'skeleton/main' into 67_dedup_issue
Signed-off-by: Ayan Sinha Mahapatra <asmahapatra@aboutcode.org>
2 parents abf9ebb + c9cb5a9 commit 11ce1e2

9 files changed

Lines changed: 55 additions & 26 deletions

File tree

.github/workflows/docs-ci.yml

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ name: CI Documentation
22

33
on: [push, pull_request]
44

5+
permissions: {}
56
jobs:
67
build:
78
runs-on: ubuntu-24.04
@@ -13,10 +14,12 @@ jobs:
1314

1415
steps:
1516
- name: Checkout code
16-
uses: actions/checkout@v4
17+
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd
18+
with:
19+
persist-credentials: false
1720

1821
- name: Set up Python ${{ matrix.python-version }}
19-
uses: actions/setup-python@v5
22+
uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405
2023
with:
2124
python-version: ${{ matrix.python-version }}
2225

.github/workflows/pypi-release.yml

Lines changed: 13 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -18,15 +18,18 @@ on:
1818
tags:
1919
- "v*.*.*"
2020

21+
permissions: {}
2122
jobs:
2223
build-pypi-distribs:
2324
name: Build and publish library to PyPI
2425
runs-on: ubuntu-24.04
2526

2627
steps:
27-
- uses: actions/checkout@v4
28+
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd
29+
with:
30+
persist-credentials: false
2831
- name: Set up Python
29-
uses: actions/setup-python@v5
32+
uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405
3033
with:
3134
python-version: 3.13
3235

@@ -40,7 +43,7 @@ jobs:
4043
run: python -m twine check dist/*
4144

4245
- name: Upload built archives
43-
uses: actions/upload-artifact@v4
46+
uses: actions/upload-artifact@b7c566a772e6b6bfb58ed0dc250532a479d7789f
4447
with:
4548
name: pypi_archives
4649
path: dist/*
@@ -57,13 +60,13 @@ jobs:
5760

5861
steps:
5962
- name: Download built archives
60-
uses: actions/download-artifact@v4
63+
uses: actions/download-artifact@37930b1c2abaa49bbe596cd826c3c89aef350131
6164
with:
6265
name: pypi_archives
6366
path: dist
6467

6568
- name: Create GH release
66-
uses: softprops/action-gh-release@v2
69+
uses: softprops/action-gh-release@b4309332981a82ec1c5618f44dd2e27cc8bfbfda
6770
with:
6871
draft: true
6972
files: dist/*
@@ -74,16 +77,17 @@ jobs:
7477
needs:
7578
- create-gh-release
7679
runs-on: ubuntu-24.04
80+
environment: pypi-publish
81+
permissions:
82+
id-token: write
7783

7884
steps:
7985
- name: Download built archives
80-
uses: actions/download-artifact@v4
86+
uses: actions/download-artifact@37930b1c2abaa49bbe596cd826c3c89aef350131
8187
with:
8288
name: pypi_archives
8389
path: dist
8490

8591
- name: Publish to PyPI
8692
if: startsWith(github.ref, 'refs/tags')
87-
uses: pypa/gh-action-pypi-publish@release/v1
88-
with:
89-
password: ${{ secrets.PYPI_API_TOKEN }}
93+
uses: pypa/gh-action-pypi-publish@cef221092ed1bacb1cc03d23a2d87d1d172e277b

.github/workflows/zizmor.yml

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
name: GitHub Actions Security Analysis with zizmor 🌈
2+
3+
on:
4+
push:
5+
branches: ["main"]
6+
pull_request:
7+
branches: ["**"]
8+
9+
permissions: {}
10+
11+
jobs:
12+
zizmor:
13+
name: Run zizmor 🌈
14+
runs-on: ubuntu-latest
15+
permissions:
16+
security-events: write # Required for upload-sarif (used by zizmor-action) to upload SARIF files.
17+
steps:
18+
- name: Checkout repository
19+
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
20+
with:
21+
persist-credentials: false
22+
23+
- name: Run zizmor 🌈
24+
uses: zizmorcore/zizmor-action@b1d7e1fb5de872772f31590499237e7cce841e8e # v0.5.3

.readthedocs.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,9 +7,9 @@ version: 2
77

88
# Build in latest ubuntu/python
99
build:
10-
os: ubuntu-22.04
10+
os: ubuntu-24.04
1111
tools:
12-
python: "3.11"
12+
python: "3.13"
1313

1414
# Build PDF & ePub
1515
formats:

azure-pipelines.yml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -47,16 +47,16 @@ jobs:
4747

4848
- template: etc/ci/azure-win.yml
4949
parameters:
50-
job_name: win2025_cpython
51-
image_name: windows-2025
50+
job_name: win2022_cpython
51+
image_name: windows-2022
5252
python_versions: ["3.10", "3.11", "3.12", "3.13", "3.14"]
5353
test_suites:
5454
all: venv\Scripts\pytest -n 2 -vvs
5555

5656
- template: etc/ci/azure-win.yml
5757
parameters:
58-
job_name: win2022_cpython
59-
image_name: windows-2022
58+
job_name: win2025_cpython
59+
image_name: windows-2025
6060
python_versions: ["3.10", "3.11", "3.12", "3.13", "3.14"]
6161
test_suites:
6262
all: venv\Scripts\pytest -n 2 -vvs

etc/scripts/utils_requirements.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@
1515
"""
1616
Utilities to manage requirements files and call pip.
1717
NOTE: this should use ONLY the standard library and not import anything else
18-
because this is used for boostrapping with no requirements installed.
18+
because this is used for bootstrapping with no requirements installed.
1919
"""
2020

2121

@@ -31,7 +31,7 @@ def load_requirements(requirements_file="requirements.txt", with_unpinned=False)
3131

3232
def get_required_name_versions(requirement_lines, with_unpinned=False):
3333
"""
34-
Yield required (name, version) tuples given a`requirement_lines` iterable of
34+
Yield required (name, version) tuples given a `requirement_lines` iterable of
3535
requirement text lines. Only accept requirements pinned to an exact version.
3636
"""
3737

@@ -47,7 +47,7 @@ def get_required_name_versions(requirement_lines, with_unpinned=False):
4747

4848
def get_required_name_version(requirement, with_unpinned=False):
4949
"""
50-
Return a (name, version) tuple given a`requirement` specifier string.
50+
Return a (name, version) tuple given a `requirement` specifier string.
5151
Requirement version must be pinned. If ``with_unpinned`` is True, unpinned
5252
requirements are accepted and only the name portion is returned.
5353

etc/scripts/utils_thirdparty.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -115,14 +115,14 @@
115115
TRACE_ULTRA_DEEP = False
116116

117117
# Supported environments
118-
PYTHON_VERSIONS = "39", "310", "311", "312", "313"
118+
PYTHON_VERSIONS = "310", "311", "312", "313", "314"
119119

120120
PYTHON_DOT_VERSIONS_BY_VER = {
121-
"39": "3.9",
122121
"310": "3.10",
123122
"311": "3.11",
124123
"312": "3.12",
125124
"313": "3.13",
125+
"314": "3.14",
126126
}
127127

128128

@@ -134,11 +134,11 @@ def get_python_dot_version(version):
134134

135135

136136
ABIS_BY_PYTHON_VERSION = {
137-
"39": ["cp39", "cp39m", "abi3"],
138137
"310": ["cp310", "cp310m", "abi3"],
139138
"311": ["cp311", "cp311m", "abi3"],
140139
"312": ["cp312", "cp312m", "abi3"],
141140
"313": ["cp313", "cp313m", "abi3"],
141+
"314": ["cp314", "cp314m", "abi3"],
142142
}
143143

144144
PLATFORMS_BY_OS = {

pyproject.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
[build-system]
2-
requires = ["setuptools >= 50", "wheel", "setuptools_scm[toml] >= 6"]
2+
requires = ["setuptools >= 50", "wheel"]
33
build-backend = "setuptools.build_meta"
44

55
[tool.setuptools_scm]

setup.cfg

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -48,8 +48,6 @@ packages = find:
4848
include_package_data = true
4949
zip_safe = false
5050

51-
setup_requires = setuptools_scm[toml] >= 4
52-
5351
install_requires =
5452
boolean.py >= 4.0
5553

0 commit comments

Comments
 (0)