Skip to content

Commit a259a63

Browse files
authored
Prepare release 10.3.0 (#928)
* Prepare release 10.3.0 * Update docstring * Add summary * Adjust naming
1 parent 827ac61 commit a259a63

10 files changed

Lines changed: 36 additions & 26 deletions

File tree

‎.github/actions/security-issues/action.yml‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ runs:
3939
- name: Install Python Toolbox / Security tool
4040
shell: bash
4141
run: |
42-
pip install exasol-toolbox==10.2.1
42+
pip install exasol-toolbox==10.3.0
4343
4444
- name: Create Security Issue Report
4545
shell: bash

‎doc/changes/changelog.md‎

Lines changed: 2 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

‎doc/changes/changes_10.3.0.md‎

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
# 10.3.0 - 2026-07-15
2+
3+
## Summary
4+
5+
This minor release extends automatic custom workflow permission extraction for
6+
`github_template_dict.custom_workflows` and removes the deprecated
7+
`lint:dependencies` usage from `report.yml` while adding a deprecation notice.
8+
The `lint:dependencies` will be removed in October 2026.
9+
10+
## Features
11+
12+
* #922: Extended `custom_workflows` of `github_template_dict` for automatic custom workflow permissions extraction
13+
14+
## Refactoring
15+
16+
* #924: Removed `lint:dependencies` usage from `report.yml` and added deprecation notice

‎doc/changes/unreleased.md‎

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,3 @@
11
# Unreleased
22

33
## Summary
4-
5-
## Features
6-
7-
* #922: Extended `custom_workflows` of `github_template_dict` for automatic custom workflow permissions extraction
8-
9-
## Refactoring
10-
11-
* #924: Removed `lint:dependencies` usage from `report.yml` and added deprecation notice

‎exasol/toolbox/util/workflows/templates.py‎

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
from exasol.toolbox.util.workflows.exceptions import InvalidWorkflowNameError
88

99
WORKFLOW_TEMPLATES_DIRECTORY = "exasol.toolbox.templates.github.workflows"
10-
NOT_MAINTAINED_WORKFLOW_NAMES: Final[list[str]] = ["slow-checks"]
10+
CUSTOM_SEEDED_WORKFLOW_NAMES: Final[list[str]] = ["slow-checks"]
1111
DOCUMENTATION_ONLY_WORKFLOW_NAMES: Final[list[str]] = ["gh-pages", "pr-merge"]
1212

1313

@@ -23,18 +23,18 @@ def get_workflow_templates() -> Mapping[str, Path]:
2323
if workflow_path.is_file()
2424
and workflow_path.name.endswith(".yml")
2525
and (workflow_name := workflow_path.name.removesuffix(".yml"))
26-
not in NOT_MAINTAINED_WORKFLOW_NAMES
26+
not in CUSTOM_SEEDED_WORKFLOW_NAMES
2727
}
2828

2929

30-
def get_not_maintained_workflow_templates() -> Mapping[str, Path]:
30+
def get_custom_seeded_workflow_names() -> Mapping[str, Path]:
3131
"""
32-
A mapping of not-maintained workflow template names to paths.
32+
A mapping of custom seeded workflow template names to paths.
3333
"""
3434
package_resources = resources.files(WORKFLOW_TEMPLATES_DIRECTORY)
3535
return {
3636
workflow_name: Path(str(package_resources / f"{workflow_name}.yml"))
37-
for workflow_name in NOT_MAINTAINED_WORKFLOW_NAMES
37+
for workflow_name in CUSTOM_SEEDED_WORKFLOW_NAMES
3838
}
3939

4040

‎exasol/toolbox/util/workflows/workflow_orchestrator.py‎

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@
2626
from exasol.toolbox.util.workflows.templates import (
2727
DOCUMENTATION_ONLY_WORKFLOW_NAMES,
2828
WORKFLOW_TEMPLATE_OPTIONS,
29-
get_not_maintained_workflow_templates,
29+
get_custom_seeded_workflow_names,
3030
)
3131
from exasol.toolbox.util.workflows.workflow import Workflow
3232

@@ -108,8 +108,8 @@ def _load_workflow(
108108

109109
def _skip_workflow(self, workflow_name: str) -> bool:
110110
"""
111-
Return ``True`` if the workflow should be skipped because it is not maintained
112-
by the PTB or not applicable to the current project, otherwise return ``False``.
111+
Return ``True`` if the workflow should be skipped because it is not applicable
112+
to the current project, otherwise return ``False``.
113113
"""
114114
if (
115115
workflow_name in DOCUMENTATION_ONLY_WORKFLOW_NAMES
@@ -127,12 +127,12 @@ def generate_workflows(self) -> None:
127127
"""
128128
Render the selected workflows and write them to disk.
129129
"""
130-
# First, generate not-maintained workflows for a new project.
130+
# First, generate custom seeded workflows for a new project.
131131
# This ensures proper extraction and passing of secrets & permissions
132132
# before parent workflows such as `merge-gate.yml` and
133133
# `periodic-validation.yml` are rendered.
134134
if self._is_new_project() and self.workflow_choice == ALL:
135-
not_maintainted_templates = get_not_maintained_workflow_templates()
135+
not_maintainted_templates = get_custom_seeded_workflow_names()
136136
for workflow in self._iter_workflows(not_maintainted_templates):
137137
workflow.write_to_file()
138138

‎project-template/cookiecutter.json‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
"author_email": "opensource@exasol.com",
1010
"project_short_tag": "",
1111
"python_version_min": "3.10",
12-
"exasol_toolbox_version_range": ">=10.2.1,<11",
12+
"exasol_toolbox_version_range": ">=10.3.0,<11",
1313
"license_year": "{% now 'utc', '%Y' %}",
1414
"__repo_name_slug": "{{cookiecutter.package_name}}",
1515
"__package_name_slug": "{{cookiecutter.package_name}}",

‎pyproject.toml‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[project]
22
name = "exasol-toolbox"
3-
version = "10.2.1"
3+
version = "10.3.0"
44
description = "Your one-stop solution for managing all standard tasks and core workflows of your Python project."
55
authors = [
66
{ name = "Nicola Coretti", email = "nicola.coretti@exasol.com" },

‎test/unit/util/workflows/templates_test.py‎

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

33
from exasol.toolbox.util.workflows.exceptions import InvalidWorkflowNameError
44
from exasol.toolbox.util.workflows.templates import (
5-
NOT_MAINTAINED_WORKFLOW_NAMES,
5+
CUSTOM_SEEDED_WORKFLOW_NAMES,
66
WORKFLOW_TEMPLATE_OPTIONS,
77
get_workflow_templates,
88
validate_workflow_name,
@@ -43,7 +43,7 @@ class TestValidateWorkflowName:
4343
@staticmethod
4444
@pytest.mark.parametrize(
4545
"workflow_name",
46-
WORKFLOW_TEMPLATE_OPTIONS.keys() - set(NOT_MAINTAINED_WORKFLOW_NAMES),
46+
WORKFLOW_TEMPLATE_OPTIONS.keys() - set(CUSTOM_SEEDED_WORKFLOW_NAMES),
4747
)
4848
def test_returns_valid_maintained_names(workflow_name):
4949
name = validate_workflow_name(workflow_name)

‎test/unit/util/workflows/workflow_orchestrator_test.py‎

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -10,8 +10,8 @@
1010
YamlJobValueError,
1111
)
1212
from exasol.toolbox.util.workflows.templates import (
13+
CUSTOM_SEEDED_WORKFLOW_NAMES,
1314
DOCUMENTATION_ONLY_WORKFLOW_NAMES,
14-
NOT_MAINTAINED_WORKFLOW_NAMES,
1515
WORKFLOW_TEMPLATE_OPTIONS,
1616
)
1717
from exasol.toolbox.util.workflows.workflow import Workflow
@@ -222,7 +222,7 @@ def test_writes_all_workflows_on_fresh_project(project_config_without_patcher):
222222
)
223223

224224
@staticmethod
225-
def test_writes_not_maintained_workflows_on_fresh_project(
225+
def test_writes_custom_seeded_workflows_on_fresh_project(
226226
project_config_without_patcher,
227227
):
228228
directory = project_config_without_patcher.github_workflow_directory
@@ -235,7 +235,7 @@ def test_writes_not_maintained_workflows_on_fresh_project(
235235

236236
assert all(
237237
(directory / f"{name}.yml").exists()
238-
for name in NOT_MAINTAINED_WORKFLOW_NAMES
238+
for name in CUSTOM_SEEDED_WORKFLOW_NAMES
239239
)
240240

241241
@staticmethod

0 commit comments

Comments
 (0)