Skip to content
Closed
Show file tree
Hide file tree
Changes from 1 commit
Commits
Show all changes
45 commits
Select commit Hold shift + click to select a range
388b0c3
chore(changelog) : Replace Python script with git-cliff for Changelog…
rohansaibuddhi Oct 2, 2025
159c500
chore(changelog) : Modifications to git-cliff script
rohansaibuddhi Oct 6, 2025
f7ca988
fix(ci): Fix first-time PR welcome workflow (#117)
kramaranya Oct 9, 2025
45d5d55
feat(docs): KEP-46-Hyperparameter Optimization in Kubeflow SDK (#123)
kramaranya Oct 13, 2025
f58e03a
feat: Support LoraConfig in TorchTune BuiltinTrainer (#102)
Electronic-Waste Oct 15, 2025
30158c1
feat(trainer): KEP-2655: Support provisioning of cache with Kubeflow …
akshaychitneni Oct 20, 2025
0561182
chore(docs): added AGENTS.MD (#106)
hawkaii Oct 27, 2025
713853f
feat: Hyperparameter Optimization APIs in Kubeflow SDK (#124)
andreyvelich Oct 31, 2025
6f4b178
feat(trainer): Add CustomTrainerContainer to create TrainJobs from im…
andreyvelich Oct 31, 2025
30d0e7c
feat(ci): add workflow to approve ok-to-test label (#138)
aniketpati1121 Nov 1, 2025
5735eb7
feat(trainer): add s3 initializers, add `ignore_patterns` to hf initi…
rudeigerc Nov 1, 2025
8edf8e0
chore(ci): Add pre-commit configuration and CI workflow (#134)
aniketpati1121 Nov 3, 2025
0a778a7
feat: Add ContainerBackend with Docker and Podman (#119)
Fiona-Waters Nov 3, 2025
35b9037
fix: add --user when install python packages (#136)
briangallagher Nov 4, 2025
798a3e3
fix: Support custom images in ClusterTrainingRuntime for container ba…
Fiona-Waters Nov 4, 2025
872e6ac
feat: Implement Training Options pattern for flexible TrainJob custom…
abhijeet-dhumal Nov 5, 2025
4ad764b
fix(trainer): Fix S3 initializer implementation (#144)
andreyvelich Nov 5, 2025
8cde610
chore: Add HPO support to readme and SDK diagram (#141)
kramaranya Nov 5, 2025
b7af971
feat(optimizer): Add wait_for_job_status and get_best_trial APIs to O…
kramaranya Nov 5, 2025
77ebef5
fix: Update Kubeflow SDK diagram (#146)
kramaranya Nov 5, 2025
81fd3d6
fix(trainer): Fix empty image for Runtime trainer (#143)
andreyvelich Nov 5, 2025
b56e272
fix(trainer): Remove --user flag from packages install in local subpr…
andreyvelich Nov 5, 2025
e6b61d7
feat(optimizer): Add get_job_logs API to OptimizerClient (#148)
kramaranya Nov 6, 2025
e237e75
feat(trainer): Add local notebook examples to E2E (#149)
Fiona-Waters Nov 6, 2025
446092d
fix(ci): Update url for installing docker for use with local notebook…
Fiona-Waters Nov 6, 2025
fcb90b4
feat(optimizer): Add get_best_results API to OptimizerClient (#152)
kramaranya Nov 6, 2025
2996f64
Kubeflow SDK Official Release 0.2.0 (#150)
kramaranya Nov 6, 2025
4cbc2fe
fix(trainer): Fix listing containers with Podman backend (#154)
astefanutti Nov 7, 2025
7875f01
feat(docs): Update README with announcement blog post (#157)
andreyvelich Nov 10, 2025
94c415a
fix(trainer): Use PyTorch static rendezvous in container backend (#168)
astefanutti Nov 18, 2025
732a188
fix(trainer): Remove namespace from ClusterTrainingRuntime exception …
astefanutti Nov 18, 2025
d07899f
fix: pip install with --user argument fails with image running in pyt…
briangallagher Nov 25, 2025
e979d76
fix(ci): Move permissions to the workflow root (#177)
kramaranya Nov 25, 2025
7529e77
Kubeflow SDK Official Release 0.2.1 (#180)
kramaranya Nov 25, 2025
701b38b
fix: update permissions for welcome workflow to avoid 403 error (#181)
aniketpati1121 Nov 26, 2025
8ecc995
fix(trainer): expose CustomTrainerContainer for import (#185)
AndEsterson Dec 1, 2025
b3687e8
chore(docs): Add new items to the roadmap (#187)
kramaranya Dec 4, 2025
aecc06a
fix: Upgrade urllib3 to v2.6.1 (#193)
Fiona-Waters Dec 9, 2025
3aea40c
feat: Add dependabot to Kubeflow SDK (#194)
kramaranya Dec 10, 2025
a39e24c
chore(ci): bump actions/checkout from 4 to 6 (#202)
dependabot[bot] Dec 11, 2025
493ff7f
chore(ci): bump actions/setup-python from 5 to 6 (#198)
dependabot[bot] Dec 11, 2025
d94eb70
chore(ci): bump actions/stale from 5 to 10 (#199)
dependabot[bot] Dec 11, 2025
df2f130
chore(ci): bump actions/download-artifact from 4 to 6 (#200)
dependabot[bot] Dec 11, 2025
60bdc7f
chore(ci): bump actions/github-script from 7 to 8 (#201)
dependabot[bot] Dec 11, 2025
0077e21
chore(changelog) : Replace Python script with git-cliff for Changelog…
rohansaibuddhi Oct 2, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,6 @@ __pycache__/

.coverage
bin

.env
coverage.xml
htmlcov/
10 changes: 9 additions & 1 deletion Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -71,7 +71,15 @@ release: install-dev
@V_NO_V=$(VERSION); \
sed -i.bak "s/^__version__ = \".*\"/__version__ = \"$$V_NO_V\"/" kubeflow/__init__.py && \
rm -f kubeflow/__init__.py.bak
@uv run python scripts/gen-changelog.py --token=$${GITHUB_TOKEN} --version=$(VERSION)
@PREV_TAG=$$(git tag -l --sort=-creatordate | head -1); \
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What if the last tag was 0.2.1rc1, the new release 0.2.1 will only show changes since the RC, not since 0.2.0, right? Could you update it so that for stable releases we compute the previous tag from the last stable tag?

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Makes sense. This will lead to duplication of commits between the last stable tag and 0.2.1rc1, considering we do generate changelog for RCs, would that behavior be okay?

In case there is no last stable commit, it would take all commits since the first commit. Is that expected behavior? I know we do not have to deal with this edge case since we already have 0.1.0, but wanted to confirm.

CHANGELOG_FILE=CHANGELOG/CHANGELOG-$$(echo $(VERSION) | cut -d. -f1-2).md; \
if [ -z "$$PREV_TAG" ]; then \
GITHUB_TOKEN=$${GITHUB_TOKEN} git-cliff --tag $(VERSION) -o $$CHANGELOG_FILE; \
elif [ -f "$$CHANGELOG_FILE" ]; then \
GITHUB_TOKEN=$${GITHUB_TOKEN} git-cliff $$PREV_TAG..HEAD --tag $(VERSION) --prepend $$CHANGELOG_FILE; \
else \
GITHUB_TOKEN=$${GITHUB_TOKEN} git-cliff $$PREV_TAG..HEAD --tag $(VERSION) -o $$CHANGELOG_FILE; \
fi
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This will generate chnagelog for RCs, could we skip it in this case since we decided that we'll provide changelogs for stable versions only?
cc @andreyvelich


# make test-python will produce html coverage by default. Run with `make test-python report=xml` to produce xml report.
.PHONY: test-python
Expand Down
56 changes: 56 additions & 0 deletions cliff.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,56 @@
# git-cliff ~ configuration file
# https://git-cliff.org/docs/configuration

[changelog]
# Template for the changelog body
body = """
{% if version %}\
# [{{ version | trim_start_matches(pat="v") }}](https://github.com/kubeflow/sdk/releases/tag/{{ version | trim_start_matches(pat="v") }}) ({{ timestamp | date(format="%Y-%m-%d") }})
{% else %}\
# [unreleased]
{% endif %}\
{% for group, commits in commits | group_by(attribute="group") %}
## {{ group | striptags | trim | upper_first }}

{% for commit in commits -%}
- {{ commit.message | split(pat="(#") | first | trim }}{% if commit.breaking %} [**breaking**]{% endif %}{% for link in commit.links %} ([{{ link.text }}]({{ link.href }})){% endfor %}{% if commit.github.username %} by @{{ commit.github.username }}{% endif %}
{% endfor -%}
{% endfor %}
"""
trim = true
render_always = true
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why do we want to render always?

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

should we just skip rendering the 'Changelog [version] (date)' in the case there are no changes since the last release?


[git]
conventional_commits = false
filter_unconventional = false
require_conventional = false
split_commits = false
commit_preprocessors = []
protect_breaking_commits = false
commit_parsers = [
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can we also skip commits for Kubeflow SDK releases, like this 46b42d0?

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

would we want this to be an exact match like '^Kubeflow SDK Official Release' or something more flexible like ".*Release [0-9]". If it is the former, we should probably add the convention to RELEASE.md as well, let me know what you think.

{ message = "^feat", group = "New Features" },
{ message = "^fix", group = "Bug Fixes" },
{ message = "^doc", group = "Documentation" },
{ message = "^perf", group = "Performance" },
{ message = "^refactor", group = "Refactor" },
{ message = "^style", group = "Styling" },
{ message = "^test", group = "Testing" },
{ message = "^chore\\(release\\)", skip = true },
{ message = "^chore\\(deps\\)", skip = true },
{ message = "^chore", group = "Maintenance" },
{ message = "^ci", group = "Maintenance" },
{ body = ".*security", group = "Security" },
{ message = "^revert", group = "Reverts" },
{ message = ".*", group = "Other Changes" },
]
filter_commits = false
link_parsers = [
{ pattern = '\(#(\d+)\)', href = "https://github.com/kubeflow/sdk/pull/$1", text = "#$1" },
]
use_branch_tags = false
topo_order = false
sort_commits = "oldest"

[remote.github]
owner = "kubeflow"
repo = "sdk"
1 change: 1 addition & 0 deletions pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -41,6 +41,7 @@ dev = [
"ruff>=0.12.2",
"pre-commit>=4.2.0",
"PyGithub>=2.7.0",
"git-cliff>=2.0.0",
]

[project.urls]
Expand Down
Loading
Loading