keepachangelog-manager-fork 5.0.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- keepachangelog_manager_fork-5.0.0/.github/dependabot.yml +21 -0
- keepachangelog_manager_fork-5.0.0/.github/workflows/build_and_test.yml +123 -0
- keepachangelog_manager_fork-5.0.0/.github/workflows/create_draft_release.yml +53 -0
- keepachangelog_manager_fork-5.0.0/.github/workflows/quality_checks.yml +61 -0
- keepachangelog_manager_fork-5.0.0/.github/workflows/release.yml +124 -0
- keepachangelog_manager_fork-5.0.0/.github/workflows/zizmor.yml +36 -0
- keepachangelog_manager_fork-5.0.0/.github_old/publish_to_pypi.yml +54 -0
- keepachangelog_manager_fork-5.0.0/.gitignore +132 -0
- keepachangelog_manager_fork-5.0.0/.pre-commit-config.yaml +12 -0
- keepachangelog_manager_fork-5.0.0/.readthedocs.yaml +22 -0
- keepachangelog_manager_fork-5.0.0/CHANGELOG.json +22 -0
- keepachangelog_manager_fork-5.0.0/CHANGELOG.md +155 -0
- keepachangelog_manager_fork-5.0.0/CODE_OF_CONDUCT.md +36 -0
- keepachangelog_manager_fork-5.0.0/CONTRIBUTING.md +25 -0
- keepachangelog_manager_fork-5.0.0/LICENSE.md +194 -0
- keepachangelog_manager_fork-5.0.0/Makefile +94 -0
- keepachangelog_manager_fork-5.0.0/PKG-INFO +179 -0
- keepachangelog_manager_fork-5.0.0/README.md +159 -0
- keepachangelog_manager_fork-5.0.0/SECURITY.md +54 -0
- keepachangelog_manager_fork-5.0.0/changelogmanager/__init__.py +1 -0
- keepachangelog_manager_fork-5.0.0/changelogmanager/__main__.py +17 -0
- keepachangelog_manager_fork-5.0.0/changelogmanager/_llvm_diagnostics/LICENSE.md +194 -0
- keepachangelog_manager_fork-5.0.0/changelogmanager/_llvm_diagnostics/__init__.py +14 -0
- keepachangelog_manager_fork-5.0.0/changelogmanager/_llvm_diagnostics/formatters.py +133 -0
- keepachangelog_manager_fork-5.0.0/changelogmanager/_llvm_diagnostics/messages.py +68 -0
- keepachangelog_manager_fork-5.0.0/changelogmanager/_llvm_diagnostics/parser.py +59 -0
- keepachangelog_manager_fork-5.0.0/changelogmanager/_llvm_diagnostics/utils.py +38 -0
- keepachangelog_manager_fork-5.0.0/changelogmanager/change_types.py +44 -0
- keepachangelog_manager_fork-5.0.0/changelogmanager/changelog.py +520 -0
- keepachangelog_manager_fork-5.0.0/changelogmanager/changelog_reader.py +526 -0
- keepachangelog_manager_fork-5.0.0/changelogmanager/cli.py +1519 -0
- keepachangelog_manager_fork-5.0.0/changelogmanager/config.py +417 -0
- keepachangelog_manager_fork-5.0.0/changelogmanager/github.py +177 -0
- keepachangelog_manager_fork-5.0.0/changelogmanager/gui.py +560 -0
- keepachangelog_manager_fork-5.0.0/changelogmanager/py.typed +1 -0
- keepachangelog_manager_fork-5.0.0/changelogmanager/runtime_logging.py +104 -0
- keepachangelog_manager_fork-5.0.0/changelogmanager/skill_bundle.py +86 -0
- keepachangelog_manager_fork-5.0.0/changelogmanager/skills/__init__.py +3 -0
- keepachangelog_manager_fork-5.0.0/changelogmanager/skills/keepachangelog-manager-cli/SKILL.md +43 -0
- keepachangelog_manager_fork-5.0.0/docs/CI.md +136 -0
- keepachangelog_manager_fork-5.0.0/docs/cli.md +347 -0
- keepachangelog_manager_fork-5.0.0/docs/contributing.md +49 -0
- keepachangelog_manager_fork-5.0.0/docs/gui.md +70 -0
- keepachangelog_manager_fork-5.0.0/docs/index.md +41 -0
- keepachangelog_manager_fork-5.0.0/docs/installation.md +39 -0
- keepachangelog_manager_fork-5.0.0/docs/quickstart.md +125 -0
- keepachangelog_manager_fork-5.0.0/docs/requirements.txt +4 -0
- keepachangelog_manager_fork-5.0.0/docs/workflows.md +382 -0
- keepachangelog_manager_fork-5.0.0/mkdocs.yml +27 -0
- keepachangelog_manager_fork-5.0.0/pyproject.toml +136 -0
- keepachangelog_manager_fork-5.0.0/resources/draft_example.png +0 -0
- keepachangelog_manager_fork-5.0.0/resources/usage.gif +0 -0
- keepachangelog_manager_fork-5.0.0/resources/validate_action_example.png +0 -0
- keepachangelog_manager_fork-5.0.0/scripts/basic_integration_tests.sh +82 -0
- keepachangelog_manager_fork-5.0.0/scripts/basic_tests.sh +97 -0
- keepachangelog_manager_fork-5.0.0/scripts/fixtures/component-config.template.yml +4 -0
- keepachangelog_manager_fork-5.0.0/scripts/fixtures/sample-changelog.md +27 -0
- keepachangelog_manager_fork-5.0.0/tests/__init__.py +13 -0
- keepachangelog_manager_fork-5.0.0/tests/changelog_test.py +386 -0
- keepachangelog_manager_fork-5.0.0/tests/cli_test.py +417 -0
- keepachangelog_manager_fork-5.0.0/tests/test_basic/test_change_types_and_config.py +129 -0
- keepachangelog_manager_fork-5.0.0/tests/test_basic/test_changelog.py +232 -0
- keepachangelog_manager_fork-5.0.0/tests/test_basic/test_changelog_reader.py +100 -0
- keepachangelog_manager_fork-5.0.0/tests/test_basic/test_cli.py +403 -0
- keepachangelog_manager_fork-5.0.0/tests/test_basic/test_github.py +115 -0
- keepachangelog_manager_fork-5.0.0/tests/test_basic/test_llvm_diagnostics.py +95 -0
- keepachangelog_manager_fork-5.0.0/tests/test_basic/test_main.py +14 -0
- keepachangelog_manager_fork-5.0.0/tests/test_basic/test_skill_bundle.py +20 -0
- keepachangelog_manager_fork-5.0.0/tests/test_hypothesis/__init__.py +0 -0
- keepachangelog_manager_fork-5.0.0/tests/test_hypothesis/test_change_types_properties.py +57 -0
- keepachangelog_manager_fork-5.0.0/tests/test_hypothesis/test_changelog_properties.py +448 -0
- keepachangelog_manager_fork-5.0.0/tests/test_hypothesis/test_config_properties.py +99 -0
- keepachangelog_manager_fork-5.0.0/tests/test_llvm_diagnostics/__init__.py +1 -0
- keepachangelog_manager_fork-5.0.0/tests/test_llvm_diagnostics/resources/own.out +11 -0
- keepachangelog_manager_fork-5.0.0/tests/test_llvm_diagnostics/resources/test.out +50 -0
- keepachangelog_manager_fork-5.0.0/tests/test_llvm_diagnostics/test_messages.py +84 -0
- keepachangelog_manager_fork-5.0.0/tests/test_llvm_diagnostics/test_parser.py +98 -0
- keepachangelog_manager_fork-5.0.0/tests/tests_bug_search_suite/__init__.py +0 -0
- keepachangelog_manager_fork-5.0.0/tests/tests_bug_search_suite/test_changelog_core.py +514 -0
- keepachangelog_manager_fork-5.0.0/tests/tests_bug_search_suite/test_changelog_reader.py +315 -0
- keepachangelog_manager_fork-5.0.0/tests/tests_bug_search_suite/test_cli_integration.py +378 -0
- keepachangelog_manager_fork-5.0.0/tests/tests_bug_search_suite/test_config.py +157 -0
- keepachangelog_manager_fork-5.0.0/tests/tests_bug_search_suite/test_edge_cases.py +309 -0
- keepachangelog_manager_fork-5.0.0/tests/tests_bug_search_suite/test_new_features.py +389 -0
- keepachangelog_manager_fork-5.0.0/tests/utils.py +190 -0
- keepachangelog_manager_fork-5.0.0/tox.ini +27 -0
- keepachangelog_manager_fork-5.0.0/uv.lock +1784 -0
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
# To get started with Dependabot version updates, you'll need to specify which
|
|
2
|
+
# package ecosystems to update and where the package manifests are located.
|
|
3
|
+
# Please see the documentation for all configuration options:
|
|
4
|
+
# https://docs.github.com/github/administering-a-repository/configuration-options-for-dependency-updates
|
|
5
|
+
|
|
6
|
+
version: 2
|
|
7
|
+
updates:
|
|
8
|
+
- package-ecosystem: "pip"
|
|
9
|
+
directory: "/"
|
|
10
|
+
schedule:
|
|
11
|
+
interval: "quarterly"
|
|
12
|
+
cooldown:
|
|
13
|
+
default-days: 7
|
|
14
|
+
|
|
15
|
+
- package-ecosystem: "github-actions"
|
|
16
|
+
directory: "/"
|
|
17
|
+
schedule:
|
|
18
|
+
interval: "quarterly"
|
|
19
|
+
cooldown:
|
|
20
|
+
default-days: 7
|
|
21
|
+
|
|
@@ -0,0 +1,123 @@
|
|
|
1
|
+
# Copyright (c) 2022 - 2022 TomTom N.V.
|
|
2
|
+
#
|
|
3
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
4
|
+
# you may not use this file except in compliance with the License.
|
|
5
|
+
# You may obtain a copy of the License at
|
|
6
|
+
#
|
|
7
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
|
8
|
+
#
|
|
9
|
+
# Unless required by applicable law or agreed to in writing, software
|
|
10
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
11
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
12
|
+
# See the License for the specific language governing permissions and
|
|
13
|
+
# limitations under the License.
|
|
14
|
+
|
|
15
|
+
---
|
|
16
|
+
name: Build
|
|
17
|
+
|
|
18
|
+
on:
|
|
19
|
+
push:
|
|
20
|
+
branches:
|
|
21
|
+
- main
|
|
22
|
+
pull_request:
|
|
23
|
+
workflow_dispatch:
|
|
24
|
+
|
|
25
|
+
permissions:
|
|
26
|
+
contents: read
|
|
27
|
+
|
|
28
|
+
jobs:
|
|
29
|
+
pytest:
|
|
30
|
+
runs-on: ubuntu-latest
|
|
31
|
+
|
|
32
|
+
steps:
|
|
33
|
+
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
|
|
34
|
+
with:
|
|
35
|
+
persist-credentials: false
|
|
36
|
+
|
|
37
|
+
- name: Set up Python 3.14
|
|
38
|
+
uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6.2.0
|
|
39
|
+
with:
|
|
40
|
+
python-version: 3.14
|
|
41
|
+
|
|
42
|
+
- name: Set up uv
|
|
43
|
+
uses: astral-sh/setup-uv@08807647e7069bb48b6ef5acd8ec9567f424441b # v8.1.0
|
|
44
|
+
with:
|
|
45
|
+
enable-cache: true
|
|
46
|
+
|
|
47
|
+
- name: Sync dependencies
|
|
48
|
+
run: uv sync --frozen
|
|
49
|
+
|
|
50
|
+
- name: Run PyTest
|
|
51
|
+
run: make test
|
|
52
|
+
|
|
53
|
+
flake8:
|
|
54
|
+
runs-on: ubuntu-latest
|
|
55
|
+
|
|
56
|
+
steps:
|
|
57
|
+
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
|
|
58
|
+
with:
|
|
59
|
+
persist-credentials: false
|
|
60
|
+
|
|
61
|
+
- name: Set up Python 3.14
|
|
62
|
+
uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6.2.0
|
|
63
|
+
with:
|
|
64
|
+
python-version: 3.14
|
|
65
|
+
|
|
66
|
+
- name: Set up uv
|
|
67
|
+
uses: astral-sh/setup-uv@08807647e7069bb48b6ef5acd8ec9567f424441b # v8.1.0
|
|
68
|
+
with:
|
|
69
|
+
enable-cache: true
|
|
70
|
+
|
|
71
|
+
- name: Sync dependencies
|
|
72
|
+
run: uv sync --frozen
|
|
73
|
+
|
|
74
|
+
- name: Run Flake8
|
|
75
|
+
run: make flake8
|
|
76
|
+
|
|
77
|
+
pylint:
|
|
78
|
+
runs-on: ubuntu-latest
|
|
79
|
+
|
|
80
|
+
steps:
|
|
81
|
+
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
|
|
82
|
+
with:
|
|
83
|
+
persist-credentials: false
|
|
84
|
+
|
|
85
|
+
- name: Set up Python 3.14
|
|
86
|
+
uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6.2.0
|
|
87
|
+
with:
|
|
88
|
+
python-version: 3.14
|
|
89
|
+
|
|
90
|
+
- name: Set up uv
|
|
91
|
+
uses: astral-sh/setup-uv@08807647e7069bb48b6ef5acd8ec9567f424441b # v8.1.0
|
|
92
|
+
with:
|
|
93
|
+
enable-cache: true
|
|
94
|
+
|
|
95
|
+
- name: Sync dependencies
|
|
96
|
+
run: uv sync --frozen
|
|
97
|
+
|
|
98
|
+
- name: Run Pylint
|
|
99
|
+
run: make pylint
|
|
100
|
+
|
|
101
|
+
bandit:
|
|
102
|
+
runs-on: ubuntu-latest
|
|
103
|
+
|
|
104
|
+
steps:
|
|
105
|
+
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
|
|
106
|
+
with:
|
|
107
|
+
persist-credentials: false
|
|
108
|
+
|
|
109
|
+
- name: Set up Python 3.14
|
|
110
|
+
uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6.2.0
|
|
111
|
+
with:
|
|
112
|
+
python-version: 3.14
|
|
113
|
+
|
|
114
|
+
- name: Set up uv
|
|
115
|
+
uses: astral-sh/setup-uv@08807647e7069bb48b6ef5acd8ec9567f424441b # v8.1.0
|
|
116
|
+
with:
|
|
117
|
+
enable-cache: true
|
|
118
|
+
|
|
119
|
+
- name: Sync dependencies
|
|
120
|
+
run: uv sync --frozen
|
|
121
|
+
|
|
122
|
+
- name: Run Bandit
|
|
123
|
+
run: make bandit
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
# Copyright (c) 2022 - 2022 TomTom N.V.
|
|
2
|
+
#
|
|
3
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
4
|
+
# you may not use this file except in compliance with the License.
|
|
5
|
+
# You may obtain a copy of the License at
|
|
6
|
+
#
|
|
7
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
|
8
|
+
#
|
|
9
|
+
# Unless required by applicable law or agreed to in writing, software
|
|
10
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
11
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
12
|
+
# See the License for the specific language governing permissions and
|
|
13
|
+
# limitations under the License.
|
|
14
|
+
|
|
15
|
+
---
|
|
16
|
+
name: Create Draft Release
|
|
17
|
+
|
|
18
|
+
concurrency: changelog
|
|
19
|
+
|
|
20
|
+
on:
|
|
21
|
+
push:
|
|
22
|
+
branches:
|
|
23
|
+
- main
|
|
24
|
+
|
|
25
|
+
permissions:
|
|
26
|
+
contents: write
|
|
27
|
+
|
|
28
|
+
jobs:
|
|
29
|
+
release:
|
|
30
|
+
runs-on: ubuntu-latest
|
|
31
|
+
|
|
32
|
+
steps:
|
|
33
|
+
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
|
|
34
|
+
with:
|
|
35
|
+
fetch-depth: 0
|
|
36
|
+
persist-credentials: false
|
|
37
|
+
|
|
38
|
+
- name: Setup Python 3.14
|
|
39
|
+
uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6.2.0
|
|
40
|
+
with: { python-version: '3.14' }
|
|
41
|
+
|
|
42
|
+
- name: Set up uv
|
|
43
|
+
uses: astral-sh/setup-uv@08807647e7069bb48b6ef5acd8ec9567f424441b # v8.1.0
|
|
44
|
+
with:
|
|
45
|
+
enable-cache: true
|
|
46
|
+
|
|
47
|
+
- name: Sync dependencies
|
|
48
|
+
run: uv sync --frozen
|
|
49
|
+
|
|
50
|
+
- name: Creating Draft release
|
|
51
|
+
env:
|
|
52
|
+
GITHUB_TOKEN: ${{ github.token }}
|
|
53
|
+
run: uv run changelogmanager github-release --repository ${{ github.repository }}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
# Copyright (c) 2022 - 2022 TomTom N.V.
|
|
2
|
+
#
|
|
3
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
4
|
+
# you may not use this file except in compliance with the License.
|
|
5
|
+
# You may obtain a copy of the License at
|
|
6
|
+
#
|
|
7
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
|
8
|
+
#
|
|
9
|
+
# Unless required by applicable law or agreed to in writing, software
|
|
10
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
11
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
12
|
+
# See the License for the specific language governing permissions and
|
|
13
|
+
# limitations under the License.
|
|
14
|
+
|
|
15
|
+
---
|
|
16
|
+
name: Verify Pull Request
|
|
17
|
+
|
|
18
|
+
on:
|
|
19
|
+
pull_request:
|
|
20
|
+
types:
|
|
21
|
+
- opened
|
|
22
|
+
- reopened
|
|
23
|
+
- edited
|
|
24
|
+
- synchronize
|
|
25
|
+
workflow_dispatch:
|
|
26
|
+
|
|
27
|
+
permissions:
|
|
28
|
+
contents: read
|
|
29
|
+
|
|
30
|
+
jobs:
|
|
31
|
+
# conventional-commits:
|
|
32
|
+
# runs-on: ubuntu-latest
|
|
33
|
+
#
|
|
34
|
+
# steps:
|
|
35
|
+
# - name: Commisery
|
|
36
|
+
# uses: tomtom-international/commisery-action@bc4dbb43a159cc94986c104655153711eaeb8eb0 # v5.0.0
|
|
37
|
+
# with:
|
|
38
|
+
# token: ${{ github.token }}
|
|
39
|
+
|
|
40
|
+
keepachangelog:
|
|
41
|
+
runs-on: ubuntu-latest
|
|
42
|
+
|
|
43
|
+
steps:
|
|
44
|
+
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
|
|
45
|
+
with:
|
|
46
|
+
persist-credentials: false
|
|
47
|
+
|
|
48
|
+
- name: Setup Python 3.14
|
|
49
|
+
uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6.2.0
|
|
50
|
+
with: { python-version: '3.14' }
|
|
51
|
+
|
|
52
|
+
- name: Set up uv
|
|
53
|
+
uses: astral-sh/setup-uv@08807647e7069bb48b6ef5acd8ec9567f424441b # v8.1.0
|
|
54
|
+
with:
|
|
55
|
+
enable-cache: true
|
|
56
|
+
|
|
57
|
+
- name: Sync dependencies
|
|
58
|
+
run: uv sync --frozen
|
|
59
|
+
|
|
60
|
+
- name: Creating Draft release
|
|
61
|
+
run: make validate
|
|
@@ -0,0 +1,124 @@
|
|
|
1
|
+
# Copyright (c) 2022 - 2022 TomTom N.V.
|
|
2
|
+
#
|
|
3
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
4
|
+
# you may not use this file except in compliance with the License.
|
|
5
|
+
# You may obtain a copy of the License at
|
|
6
|
+
#
|
|
7
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
|
8
|
+
#
|
|
9
|
+
# Unless required by applicable law or agreed to in writing, software
|
|
10
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
11
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
12
|
+
# See the License for the specific language governing permissions and
|
|
13
|
+
# limitations under the License.
|
|
14
|
+
|
|
15
|
+
---
|
|
16
|
+
name: Release
|
|
17
|
+
|
|
18
|
+
concurrency: changelog
|
|
19
|
+
|
|
20
|
+
on:
|
|
21
|
+
release:
|
|
22
|
+
types: [released]
|
|
23
|
+
|
|
24
|
+
permissions:
|
|
25
|
+
contents: read
|
|
26
|
+
|
|
27
|
+
jobs:
|
|
28
|
+
build:
|
|
29
|
+
runs-on: ubuntu-latest
|
|
30
|
+
|
|
31
|
+
steps:
|
|
32
|
+
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
|
|
33
|
+
with:
|
|
34
|
+
ref: refs/tags/${{ github.event.release.tag_name }}
|
|
35
|
+
fetch-depth: 0
|
|
36
|
+
persist-credentials: false
|
|
37
|
+
|
|
38
|
+
- name: Set up Python 3.14
|
|
39
|
+
uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6.2.0
|
|
40
|
+
with: { python-version: 3.14 }
|
|
41
|
+
|
|
42
|
+
- name: Set up uv
|
|
43
|
+
uses: astral-sh/setup-uv@08807647e7069bb48b6ef5acd8ec9567f424441b # v8.1.0
|
|
44
|
+
with:
|
|
45
|
+
enable-cache: true
|
|
46
|
+
|
|
47
|
+
- name: Sync dependencies
|
|
48
|
+
run: uv sync --frozen
|
|
49
|
+
|
|
50
|
+
- name: Build (Keep a) Changelog Manager
|
|
51
|
+
run: uv build --no-sources
|
|
52
|
+
|
|
53
|
+
- name: Upload artifact
|
|
54
|
+
uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1
|
|
55
|
+
with:
|
|
56
|
+
name: packages
|
|
57
|
+
path: dist/
|
|
58
|
+
if-no-files-found: error
|
|
59
|
+
retention-days: 1
|
|
60
|
+
|
|
61
|
+
deploy:
|
|
62
|
+
runs-on: ubuntu-latest
|
|
63
|
+
needs: build
|
|
64
|
+
permissions:
|
|
65
|
+
id-token: write
|
|
66
|
+
|
|
67
|
+
steps:
|
|
68
|
+
- name: Download artifact
|
|
69
|
+
uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1
|
|
70
|
+
with:
|
|
71
|
+
name: packages
|
|
72
|
+
path: dist/
|
|
73
|
+
|
|
74
|
+
- name: Publish (Keep a) Changelog Manager
|
|
75
|
+
uses: pypa/gh-action-pypi-publish@cef221092ed1bacb1cc03d23a2d87d1d172e277b # v1.14.0
|
|
76
|
+
with:
|
|
77
|
+
verbose: 'true'
|
|
78
|
+
|
|
79
|
+
changelog:
|
|
80
|
+
runs-on: ubuntu-latest
|
|
81
|
+
needs: deploy
|
|
82
|
+
permissions:
|
|
83
|
+
contents: write
|
|
84
|
+
pull-requests: write
|
|
85
|
+
environment:
|
|
86
|
+
name: pypi
|
|
87
|
+
url: https://pypi.org/p/keepachangelog-manager-fork
|
|
88
|
+
steps:
|
|
89
|
+
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
|
|
90
|
+
with:
|
|
91
|
+
ref: ${{ github.event.release.target_commitish }}
|
|
92
|
+
fetch-depth: 0
|
|
93
|
+
persist-credentials: false
|
|
94
|
+
|
|
95
|
+
- name: Setup Python 3.14
|
|
96
|
+
uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6.2.0
|
|
97
|
+
with: { python-version: '3.14' }
|
|
98
|
+
|
|
99
|
+
- name: Set up uv
|
|
100
|
+
uses: astral-sh/setup-uv@08807647e7069bb48b6ef5acd8ec9567f424441b # v8.1.0
|
|
101
|
+
with:
|
|
102
|
+
enable-cache: true
|
|
103
|
+
|
|
104
|
+
- name: Sync dependencies
|
|
105
|
+
run: uv sync --frozen
|
|
106
|
+
|
|
107
|
+
- name: Update changelog for release
|
|
108
|
+
env:
|
|
109
|
+
RELEASE_VERSION: ${{ github.event.release.tag_name }}
|
|
110
|
+
run: uv run changelogmanager release --override-version "$RELEASE_VERSION"
|
|
111
|
+
|
|
112
|
+
- name: Create Pull Request
|
|
113
|
+
uses: peter-evans/create-pull-request@5f6978faf089d4d20b00c7766989d076bb2fc7f1 # v8.1.1
|
|
114
|
+
with:
|
|
115
|
+
add-paths: ./CHANGELOG.md
|
|
116
|
+
delete-branch: true
|
|
117
|
+
branch: docs/changelog-release-${{ github.event.release.id }}
|
|
118
|
+
base: ${{ github.event.release.target_commitish }}
|
|
119
|
+
# commit-message: "docs: update CHANGELOG.md for release ${{ github.event.release.tag_name }}"
|
|
120
|
+
# title: "docs: update CHANGELOG.md for release ${{ github.event.release.tag_name }}"
|
|
121
|
+
# body: "Update `CHANGELOG.md` for the `${{ github.event.release.tag_name }}` release."
|
|
122
|
+
commit-message: "docs: update CHANGELOG.md for release ${{ github.event.release.id }}"
|
|
123
|
+
title: "docs: update CHANGELOG.md for release ${{ github.event.release.id }}"
|
|
124
|
+
body: "Update `CHANGELOG.md` for the release ${{ github.event.release.id }}."
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
---
|
|
2
|
+
# https://github.com/woodruffw/zizmor
|
|
3
|
+
name: Zizmor
|
|
4
|
+
on:
|
|
5
|
+
push:
|
|
6
|
+
paths: [.github/**]
|
|
7
|
+
branches: [main]
|
|
8
|
+
pull_request:
|
|
9
|
+
paths: [.github/**]
|
|
10
|
+
branches: ['*']
|
|
11
|
+
permissions:
|
|
12
|
+
contents: read
|
|
13
|
+
jobs:
|
|
14
|
+
zizmor:
|
|
15
|
+
name: Zizmor via PyPI
|
|
16
|
+
runs-on: ubuntu-latest
|
|
17
|
+
permissions:
|
|
18
|
+
security-events: write
|
|
19
|
+
steps:
|
|
20
|
+
- name: Checkout repository
|
|
21
|
+
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
|
|
22
|
+
with:
|
|
23
|
+
persist-credentials: false
|
|
24
|
+
- uses: hynek/setup-cached-uv@4300ec2180bc77d705e626a34e381b81a4772c51 # v2.5.0
|
|
25
|
+
- name: Run zizmor 🌈
|
|
26
|
+
run: uvx zizmor --format sarif . > results.sarif
|
|
27
|
+
env:
|
|
28
|
+
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
29
|
+
- name: Upload SARIF file
|
|
30
|
+
uses: github/codeql-action/upload-sarif@e46ed2cbd01164d986452f91f178727624ae40d7 # v4.35.3
|
|
31
|
+
with:
|
|
32
|
+
# Path to SARIF file relative to the root of the repository
|
|
33
|
+
sarif_file: results.sarif
|
|
34
|
+
# Optional category for the results
|
|
35
|
+
# Used to differentiate multiple results for one commit
|
|
36
|
+
category: zizmor
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: Publish pathkeeper to PyPI
|
|
3
|
+
on:
|
|
4
|
+
workflow_dispatch:
|
|
5
|
+
permissions:
|
|
6
|
+
contents: read
|
|
7
|
+
jobs:
|
|
8
|
+
build:
|
|
9
|
+
runs-on: ubuntu-latest
|
|
10
|
+
steps:
|
|
11
|
+
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
|
|
12
|
+
with:
|
|
13
|
+
persist-credentials: false
|
|
14
|
+
- uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6.2.0
|
|
15
|
+
with:
|
|
16
|
+
python-version: '3.14'
|
|
17
|
+
- uses: hynek/setup-cached-uv@4300ec2180bc77d705e626a34e381b81a4772c51 # v2.5.0
|
|
18
|
+
- name: Install dependencies
|
|
19
|
+
run: uv sync --all-extras
|
|
20
|
+
- name: Run quality gates
|
|
21
|
+
run: uv run make check
|
|
22
|
+
- name: Build package
|
|
23
|
+
run: uv build
|
|
24
|
+
- name: Upload artifact
|
|
25
|
+
uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1
|
|
26
|
+
with:
|
|
27
|
+
name: packages
|
|
28
|
+
path: dist/
|
|
29
|
+
if-no-files-found: error
|
|
30
|
+
retention-days: 1
|
|
31
|
+
pypi-publish:
|
|
32
|
+
name: Upload release to PyPI
|
|
33
|
+
runs-on: ubuntu-latest
|
|
34
|
+
environment:
|
|
35
|
+
name: pypi
|
|
36
|
+
url: https://pypi.org/p/keepachangelog-manager-fork
|
|
37
|
+
permissions:
|
|
38
|
+
id-token: write
|
|
39
|
+
needs: build
|
|
40
|
+
steps:
|
|
41
|
+
- name: Fail if branch is not main
|
|
42
|
+
if: github.event_name == 'workflow_dispatch' && github.ref != 'refs/heads/main'
|
|
43
|
+
run: |
|
|
44
|
+
echo "This workflow should not be triggered with workflow_dispatch on a branch other than main"
|
|
45
|
+
exit 1
|
|
46
|
+
- name: Download artifact
|
|
47
|
+
uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1
|
|
48
|
+
with:
|
|
49
|
+
name: packages
|
|
50
|
+
path: dist/
|
|
51
|
+
- name: Publish to PyPI
|
|
52
|
+
uses: pypa/gh-action-pypi-publish@cef221092ed1bacb1cc03d23a2d87d1d172e277b # v1.14.0
|
|
53
|
+
with:
|
|
54
|
+
verbose: 'true'
|
|
@@ -0,0 +1,132 @@
|
|
|
1
|
+
# Byte-compiled / optimized / DLL files
|
|
2
|
+
__pycache__/
|
|
3
|
+
*.py[cod]
|
|
4
|
+
*$py.class
|
|
5
|
+
|
|
6
|
+
# C extensions
|
|
7
|
+
*.so
|
|
8
|
+
|
|
9
|
+
# Distribution / packaging
|
|
10
|
+
.Python
|
|
11
|
+
build/
|
|
12
|
+
develop-eggs/
|
|
13
|
+
dist/
|
|
14
|
+
downloads/
|
|
15
|
+
eggs/
|
|
16
|
+
.eggs/
|
|
17
|
+
lib/
|
|
18
|
+
lib64/
|
|
19
|
+
parts/
|
|
20
|
+
sdist/
|
|
21
|
+
var/
|
|
22
|
+
wheels/
|
|
23
|
+
pip-wheel-metadata/
|
|
24
|
+
share/python-wheels/
|
|
25
|
+
*.egg-info/
|
|
26
|
+
.installed.cfg
|
|
27
|
+
*.egg
|
|
28
|
+
MANIFEST
|
|
29
|
+
|
|
30
|
+
# PyInstaller
|
|
31
|
+
# Usually these files are written by a python script from a template
|
|
32
|
+
# before PyInstaller builds the exe, so as to inject date/other infos into it.
|
|
33
|
+
*.manifest
|
|
34
|
+
*.spec
|
|
35
|
+
|
|
36
|
+
# Installer logs
|
|
37
|
+
pip-log.txt
|
|
38
|
+
pip-delete-this-directory.txt
|
|
39
|
+
|
|
40
|
+
# Unit test / coverage reports
|
|
41
|
+
htmlcov/
|
|
42
|
+
.tox/
|
|
43
|
+
.nox/
|
|
44
|
+
.coverage
|
|
45
|
+
.coverage.*
|
|
46
|
+
.cache
|
|
47
|
+
nosetests.xml
|
|
48
|
+
coverage.xml
|
|
49
|
+
*.cover
|
|
50
|
+
*.py,cover
|
|
51
|
+
.hypothesis/
|
|
52
|
+
.pytest_cache/
|
|
53
|
+
|
|
54
|
+
# Translations
|
|
55
|
+
*.mo
|
|
56
|
+
*.pot
|
|
57
|
+
|
|
58
|
+
# Django stuff:
|
|
59
|
+
*.log
|
|
60
|
+
local_settings.py
|
|
61
|
+
db.sqlite3
|
|
62
|
+
db.sqlite3-journal
|
|
63
|
+
|
|
64
|
+
# Flask stuff:
|
|
65
|
+
instance/
|
|
66
|
+
.webassets-cache
|
|
67
|
+
|
|
68
|
+
# Scrapy stuff:
|
|
69
|
+
.scrapy
|
|
70
|
+
|
|
71
|
+
# Sphinx documentation
|
|
72
|
+
docs/_build/
|
|
73
|
+
|
|
74
|
+
# PyBuilder
|
|
75
|
+
target/
|
|
76
|
+
|
|
77
|
+
# Jupyter Notebook
|
|
78
|
+
.ipynb_checkpoints
|
|
79
|
+
|
|
80
|
+
# IPython
|
|
81
|
+
profile_default/
|
|
82
|
+
ipython_config.py
|
|
83
|
+
|
|
84
|
+
# pyenv
|
|
85
|
+
.python-version
|
|
86
|
+
|
|
87
|
+
# pipenv
|
|
88
|
+
# According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control.
|
|
89
|
+
# However, in case of collaboration, if having platform-specific dependencies or dependencies
|
|
90
|
+
# having no cross-platform support, pipenv may install dependencies that don't work, or not
|
|
91
|
+
# install all needed dependencies.
|
|
92
|
+
#Pipfile.lock
|
|
93
|
+
|
|
94
|
+
# PEP 582; used by e.g. github.com/David-OConnor/pyflow
|
|
95
|
+
__pypackages__/
|
|
96
|
+
|
|
97
|
+
# Celery stuff
|
|
98
|
+
celerybeat-schedule
|
|
99
|
+
celerybeat.pid
|
|
100
|
+
|
|
101
|
+
# SageMath parsed files
|
|
102
|
+
*.sage.py
|
|
103
|
+
|
|
104
|
+
# Environments
|
|
105
|
+
.env
|
|
106
|
+
.venv
|
|
107
|
+
env/
|
|
108
|
+
venv/
|
|
109
|
+
ENV/
|
|
110
|
+
env.bak/
|
|
111
|
+
venv.bak/
|
|
112
|
+
|
|
113
|
+
# Spyder project settings
|
|
114
|
+
.spyderproject
|
|
115
|
+
.spyproject
|
|
116
|
+
|
|
117
|
+
# Rope project settings
|
|
118
|
+
.ropeproject
|
|
119
|
+
|
|
120
|
+
# mkdocs documentation
|
|
121
|
+
/site
|
|
122
|
+
|
|
123
|
+
# mypy
|
|
124
|
+
.mypy_cache/
|
|
125
|
+
.dmypy.json
|
|
126
|
+
dmypy.json
|
|
127
|
+
|
|
128
|
+
# Pyre type checker
|
|
129
|
+
.pyre/
|
|
130
|
+
|
|
131
|
+
.DS_Store
|
|
132
|
+
.idea
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
# Read the Docs configuration file
|
|
2
|
+
# See https://docs.readthedocs.io/en/stable/config-file/v2.html for details
|
|
3
|
+
|
|
4
|
+
# Required
|
|
5
|
+
version: 2
|
|
6
|
+
|
|
7
|
+
# Set the OS, Python version, and other tools you might need
|
|
8
|
+
build:
|
|
9
|
+
os: ubuntu-24.04
|
|
10
|
+
tools:
|
|
11
|
+
python: "3.14"
|
|
12
|
+
|
|
13
|
+
# Build documentation with Mkdocs
|
|
14
|
+
mkdocs:
|
|
15
|
+
configuration: mkdocs.yml
|
|
16
|
+
|
|
17
|
+
# Optionally, but recommended,
|
|
18
|
+
# declare the Python requirements required to build your documentation
|
|
19
|
+
# See https://docs.readthedocs.io/en/stable/guides/reproducible-builds.html
|
|
20
|
+
python:
|
|
21
|
+
install:
|
|
22
|
+
- requirements: docs/requirements.txt
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
[
|
|
2
|
+
{
|
|
3
|
+
"metadata": {
|
|
4
|
+
"version": "1.20.0",
|
|
5
|
+
"release_date": "2026-04-18",
|
|
6
|
+
"semantic_version": {
|
|
7
|
+
"major": 1,
|
|
8
|
+
"minor": 20,
|
|
9
|
+
"patch": 0,
|
|
10
|
+
"prerelease": null,
|
|
11
|
+
"buildmetadata": null
|
|
12
|
+
}
|
|
13
|
+
},
|
|
14
|
+
"added": [
|
|
15
|
+
"In session macros",
|
|
16
|
+
"Slop docs"
|
|
17
|
+
],
|
|
18
|
+
"removed": [
|
|
19
|
+
"AI feature removed."
|
|
20
|
+
]
|
|
21
|
+
}
|
|
22
|
+
]
|