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.
Files changed (87) hide show
  1. keepachangelog_manager_fork-5.0.0/.github/dependabot.yml +21 -0
  2. keepachangelog_manager_fork-5.0.0/.github/workflows/build_and_test.yml +123 -0
  3. keepachangelog_manager_fork-5.0.0/.github/workflows/create_draft_release.yml +53 -0
  4. keepachangelog_manager_fork-5.0.0/.github/workflows/quality_checks.yml +61 -0
  5. keepachangelog_manager_fork-5.0.0/.github/workflows/release.yml +124 -0
  6. keepachangelog_manager_fork-5.0.0/.github/workflows/zizmor.yml +36 -0
  7. keepachangelog_manager_fork-5.0.0/.github_old/publish_to_pypi.yml +54 -0
  8. keepachangelog_manager_fork-5.0.0/.gitignore +132 -0
  9. keepachangelog_manager_fork-5.0.0/.pre-commit-config.yaml +12 -0
  10. keepachangelog_manager_fork-5.0.0/.readthedocs.yaml +22 -0
  11. keepachangelog_manager_fork-5.0.0/CHANGELOG.json +22 -0
  12. keepachangelog_manager_fork-5.0.0/CHANGELOG.md +155 -0
  13. keepachangelog_manager_fork-5.0.0/CODE_OF_CONDUCT.md +36 -0
  14. keepachangelog_manager_fork-5.0.0/CONTRIBUTING.md +25 -0
  15. keepachangelog_manager_fork-5.0.0/LICENSE.md +194 -0
  16. keepachangelog_manager_fork-5.0.0/Makefile +94 -0
  17. keepachangelog_manager_fork-5.0.0/PKG-INFO +179 -0
  18. keepachangelog_manager_fork-5.0.0/README.md +159 -0
  19. keepachangelog_manager_fork-5.0.0/SECURITY.md +54 -0
  20. keepachangelog_manager_fork-5.0.0/changelogmanager/__init__.py +1 -0
  21. keepachangelog_manager_fork-5.0.0/changelogmanager/__main__.py +17 -0
  22. keepachangelog_manager_fork-5.0.0/changelogmanager/_llvm_diagnostics/LICENSE.md +194 -0
  23. keepachangelog_manager_fork-5.0.0/changelogmanager/_llvm_diagnostics/__init__.py +14 -0
  24. keepachangelog_manager_fork-5.0.0/changelogmanager/_llvm_diagnostics/formatters.py +133 -0
  25. keepachangelog_manager_fork-5.0.0/changelogmanager/_llvm_diagnostics/messages.py +68 -0
  26. keepachangelog_manager_fork-5.0.0/changelogmanager/_llvm_diagnostics/parser.py +59 -0
  27. keepachangelog_manager_fork-5.0.0/changelogmanager/_llvm_diagnostics/utils.py +38 -0
  28. keepachangelog_manager_fork-5.0.0/changelogmanager/change_types.py +44 -0
  29. keepachangelog_manager_fork-5.0.0/changelogmanager/changelog.py +520 -0
  30. keepachangelog_manager_fork-5.0.0/changelogmanager/changelog_reader.py +526 -0
  31. keepachangelog_manager_fork-5.0.0/changelogmanager/cli.py +1519 -0
  32. keepachangelog_manager_fork-5.0.0/changelogmanager/config.py +417 -0
  33. keepachangelog_manager_fork-5.0.0/changelogmanager/github.py +177 -0
  34. keepachangelog_manager_fork-5.0.0/changelogmanager/gui.py +560 -0
  35. keepachangelog_manager_fork-5.0.0/changelogmanager/py.typed +1 -0
  36. keepachangelog_manager_fork-5.0.0/changelogmanager/runtime_logging.py +104 -0
  37. keepachangelog_manager_fork-5.0.0/changelogmanager/skill_bundle.py +86 -0
  38. keepachangelog_manager_fork-5.0.0/changelogmanager/skills/__init__.py +3 -0
  39. keepachangelog_manager_fork-5.0.0/changelogmanager/skills/keepachangelog-manager-cli/SKILL.md +43 -0
  40. keepachangelog_manager_fork-5.0.0/docs/CI.md +136 -0
  41. keepachangelog_manager_fork-5.0.0/docs/cli.md +347 -0
  42. keepachangelog_manager_fork-5.0.0/docs/contributing.md +49 -0
  43. keepachangelog_manager_fork-5.0.0/docs/gui.md +70 -0
  44. keepachangelog_manager_fork-5.0.0/docs/index.md +41 -0
  45. keepachangelog_manager_fork-5.0.0/docs/installation.md +39 -0
  46. keepachangelog_manager_fork-5.0.0/docs/quickstart.md +125 -0
  47. keepachangelog_manager_fork-5.0.0/docs/requirements.txt +4 -0
  48. keepachangelog_manager_fork-5.0.0/docs/workflows.md +382 -0
  49. keepachangelog_manager_fork-5.0.0/mkdocs.yml +27 -0
  50. keepachangelog_manager_fork-5.0.0/pyproject.toml +136 -0
  51. keepachangelog_manager_fork-5.0.0/resources/draft_example.png +0 -0
  52. keepachangelog_manager_fork-5.0.0/resources/usage.gif +0 -0
  53. keepachangelog_manager_fork-5.0.0/resources/validate_action_example.png +0 -0
  54. keepachangelog_manager_fork-5.0.0/scripts/basic_integration_tests.sh +82 -0
  55. keepachangelog_manager_fork-5.0.0/scripts/basic_tests.sh +97 -0
  56. keepachangelog_manager_fork-5.0.0/scripts/fixtures/component-config.template.yml +4 -0
  57. keepachangelog_manager_fork-5.0.0/scripts/fixtures/sample-changelog.md +27 -0
  58. keepachangelog_manager_fork-5.0.0/tests/__init__.py +13 -0
  59. keepachangelog_manager_fork-5.0.0/tests/changelog_test.py +386 -0
  60. keepachangelog_manager_fork-5.0.0/tests/cli_test.py +417 -0
  61. keepachangelog_manager_fork-5.0.0/tests/test_basic/test_change_types_and_config.py +129 -0
  62. keepachangelog_manager_fork-5.0.0/tests/test_basic/test_changelog.py +232 -0
  63. keepachangelog_manager_fork-5.0.0/tests/test_basic/test_changelog_reader.py +100 -0
  64. keepachangelog_manager_fork-5.0.0/tests/test_basic/test_cli.py +403 -0
  65. keepachangelog_manager_fork-5.0.0/tests/test_basic/test_github.py +115 -0
  66. keepachangelog_manager_fork-5.0.0/tests/test_basic/test_llvm_diagnostics.py +95 -0
  67. keepachangelog_manager_fork-5.0.0/tests/test_basic/test_main.py +14 -0
  68. keepachangelog_manager_fork-5.0.0/tests/test_basic/test_skill_bundle.py +20 -0
  69. keepachangelog_manager_fork-5.0.0/tests/test_hypothesis/__init__.py +0 -0
  70. keepachangelog_manager_fork-5.0.0/tests/test_hypothesis/test_change_types_properties.py +57 -0
  71. keepachangelog_manager_fork-5.0.0/tests/test_hypothesis/test_changelog_properties.py +448 -0
  72. keepachangelog_manager_fork-5.0.0/tests/test_hypothesis/test_config_properties.py +99 -0
  73. keepachangelog_manager_fork-5.0.0/tests/test_llvm_diagnostics/__init__.py +1 -0
  74. keepachangelog_manager_fork-5.0.0/tests/test_llvm_diagnostics/resources/own.out +11 -0
  75. keepachangelog_manager_fork-5.0.0/tests/test_llvm_diagnostics/resources/test.out +50 -0
  76. keepachangelog_manager_fork-5.0.0/tests/test_llvm_diagnostics/test_messages.py +84 -0
  77. keepachangelog_manager_fork-5.0.0/tests/test_llvm_diagnostics/test_parser.py +98 -0
  78. keepachangelog_manager_fork-5.0.0/tests/tests_bug_search_suite/__init__.py +0 -0
  79. keepachangelog_manager_fork-5.0.0/tests/tests_bug_search_suite/test_changelog_core.py +514 -0
  80. keepachangelog_manager_fork-5.0.0/tests/tests_bug_search_suite/test_changelog_reader.py +315 -0
  81. keepachangelog_manager_fork-5.0.0/tests/tests_bug_search_suite/test_cli_integration.py +378 -0
  82. keepachangelog_manager_fork-5.0.0/tests/tests_bug_search_suite/test_config.py +157 -0
  83. keepachangelog_manager_fork-5.0.0/tests/tests_bug_search_suite/test_edge_cases.py +309 -0
  84. keepachangelog_manager_fork-5.0.0/tests/tests_bug_search_suite/test_new_features.py +389 -0
  85. keepachangelog_manager_fork-5.0.0/tests/utils.py +190 -0
  86. keepachangelog_manager_fork-5.0.0/tox.ini +27 -0
  87. 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,12 @@
1
+ ---
2
+ ci:
3
+ autoupdate_schedule: quarterly
4
+ repos:
5
+ - repo: local
6
+ hooks:
7
+ - id: check
8
+ name: make validate
9
+ language: system
10
+ entry: uv run make validate
11
+ pass_filenames: false
12
+ always_run: true
@@ -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
+ ]