Skip to content

Commit c2f7762

Browse files
CI hardening: remove npm-publish.yml, add Python 3.13, persist-credentials, permissions, project.urls
1 parent b304df8 commit c2f7762

3 files changed

Lines changed: 73 additions & 93 deletions

File tree

.github/workflows/ci.yml

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,15 +6,20 @@ on:
66
pull_request:
77
branches: [main]
88

9+
permissions:
10+
contents: read
11+
912
jobs:
1013
test:
1114
runs-on: ubuntu-latest
1215
strategy:
1316
matrix:
14-
python-version: ["3.10", "3.11", "3.12"]
17+
python-version: ["3.10", "3.11", "3.12", "3.13"]
1518

1619
steps:
1720
- uses: actions/checkout@v4
21+
with:
22+
persist-credentials: false
1823

1924
- name: Set up Python ${{ matrix.python-version }}
2025
uses: actions/setup-python@v5
@@ -30,4 +35,3 @@ jobs:
3035
- name: Run tests
3136
run: |
3237
python -m pytest tests/ -v --cov=src --cov-report=term-missing
33-

.github/workflows/npm-publish.yml

Lines changed: 0 additions & 27 deletions
This file was deleted.

pyproject.toml

Lines changed: 67 additions & 64 deletions
Original file line numberDiff line numberDiff line change
@@ -1,65 +1,68 @@
1-
[build-system]
2-
requires = ["setuptools>=68.0", "wheel"]
3-
build-backend = "setuptools.build_meta"
4-
5-
[project]
6-
name = "configdrift"
7-
version = "0.1.0"
8-
description = "CLI tool that detects and fixes configuration file drift across environments (dev/staging/prod). Supports YAML, JSON, TOML, and .env formats."
9-
readme = "README.md"
10-
requires-python = ">=3.10"
11-
license = "MIT"
12-
authors = [{name = "Revenue Holdings"}]
13-
keywords = ["config", "drift", "diff", "env", "devops", "cli"]
14-
classifiers = [
15-
"Development Status :: 4 - Beta",
16-
"Intended Audience :: Developers",
17-
"Topic :: Software Development :: Quality Assurance",
18-
"Topic :: System :: Systems Administration",
19-
"Programming Language :: Python :: 3",
20-
"Programming Language :: Python :: 3.10",
21-
"Programming Language :: Python :: 3.11",
22-
"Programming Language :: Python :: 3.12",
23-
]
24-
dependencies = [
25-
"typer>=0.9.0",
26-
"rich>=13.0.0",
27-
"pyyaml>=6.0",
28-
"tomli>=2.0.0; python_version < '3.11'",
29-
"tomli-w>=1.0.0",
30-
]
31-
32-
[project.optional-dependencies]
33-
license = ["revenueholdings-license>=0.1.0"]
34-
dev = [
35-
"pytest>=7.0.0",
36-
"pytest-cov>=4.0.0",
37-
"ruff>=0.4.0",
38-
]
39-
toml = ["tomli>=2.0.0", "tomli-w>=1.0.0"]
40-
41-
[project.urls]
42-
Homepage = "https://github.com/Coding-Dev-Tools/configdrift"
43-
Repository = "https://github.com/Coding-Dev-Tools/configdrift"
44-
"Issue Tracker" = "https://github.com/Coding-Dev-Tools/configdrift/issues"
45-
46-
[project.scripts]
47-
configdrift = "configdrift.cli:app"
48-
49-
[tool.setuptools.packages.find]
50-
where = ["src"]
51-
52-
[tool.pytest.ini_options]
53-
testpaths = ["tests"]
54-
addopts = "-v --tb=short"
55-
56-
[tool.ruff]
57-
target-version = "py310"
58-
line-length = 120
59-
60-
[tool.ruff.lint]
61-
select = ["E", "F", "W", "I", "UP", "B", "SIM"]
62-
ignore = ["E501"]
63-
64-
[tool.ruff.lint.isort]
1+
[build-system]
2+
requires = ["setuptools>=68.0", "wheel"]
3+
build-backend = "setuptools.build_meta"
4+
5+
[project]
6+
name = "configdrift"
7+
version = "0.1.0"
8+
description = "CLI tool that detects and fixes configuration file drift across environments (dev/staging/prod). Supports YAML, JSON, TOML, and .env formats."
9+
readme = "README.md"
10+
requires-python = ">=3.10"
11+
license = "MIT"
12+
authors = [{name = "Revenue Holdings"}]
13+
keywords = ["config", "drift", "diff", "env", "devops", "cli"]
14+
classifiers = [
15+
"Development Status :: 4 - Beta",
16+
"Intended Audience :: Developers",
17+
"Topic :: Software Development :: Quality Assurance",
18+
"Topic :: System :: Systems Administration",
19+
"Programming Language :: Python :: 3",
20+
"Programming Language :: Python :: 3.10",
21+
"Programming Language :: Python :: 3.11",
22+
"Programming Language :: Python :: 3.12",
23+
"Programming Language :: Python :: 3.13",
24+
]
25+
dependencies = [
26+
"typer>=0.9.0",
27+
"rich>=13.0.0",
28+
"pyyaml>=6.0",
29+
"tomli>=2.0.0; python_version < '3.11'",
30+
"tomli-w>=1.0.0",
31+
]
32+
33+
[project.optional-dependencies]
34+
license = ["revenueholdings-license>=0.1.0"]
35+
dev = [
36+
"pytest>=7.0.0",
37+
"pytest-cov>=4.0.0",
38+
"ruff>=0.4.0",
39+
]
40+
toml = ["tomli>=2.0.0", "tomli-w>=1.0.0"]
41+
42+
[project.urls]
43+
Homepage = "https://github.com/Coding-Dev-Tools/configdrift"
44+
Documentation = "https://coding-dev-tools.github.io/configdrift"
45+
Repository = "https://github.com/Coding-Dev-Tools/configdrift"
46+
Issues = "https://github.com/Coding-Dev-Tools/configdrift/issues"
47+
Changelog = "https://github.com/Coding-Dev-Tools/configdrift/releases"
48+
49+
[project.scripts]
50+
configdrift = "configdrift.cli:app"
51+
52+
[tool.setuptools.packages.find]
53+
where = ["src"]
54+
55+
[tool.pytest.ini_options]
56+
testpaths = ["tests"]
57+
addopts = "-v --tb=short"
58+
59+
[tool.ruff]
60+
target-version = "py310"
61+
line-length = 120
62+
63+
[tool.ruff.lint]
64+
select = ["E", "F", "W", "I", "UP", "B", "SIM"]
65+
ignore = ["E501"]
66+
67+
[tool.ruff.lint.isort]
6568
known-first-party = ["*"]

0 commit comments

Comments
 (0)