Skip to content

feat: Add script for updating the base of all charms to Ubuntu 24.04#6

Open
mvlassis wants to merge 6 commits intodeusebio:mainfrom
mvlassis:update-base
Open

feat: Add script for updating the base of all charms to Ubuntu 24.04#6
mvlassis wants to merge 6 commits intodeusebio:mainfrom
mvlassis:update-base

Conversation

@mvlassis
Copy link

@mvlassis mvlassis commented Jun 26, 2025

This PR contains a new folder, named kf7415-update-base, which contains a Python script for updating the on all charmed kubeflow repos.

Specifically, all repos that needed an upgrade were concatenated to a new preset (under presets) named kubeflow-full.yaml.

The script clones each repo, and opens a new PR after doing the following:

  • Calling update-deps.sh which updates the dependencies with pip-compile.
  • Replaces the old charmcraft.yaml file with a new one that has 24.04 as a base.
  • Removes contraints.txt
  • Removes the setup-python block from all CI files

@deusebio deusebio self-requested a review July 7, 2025 07:20
Copy link
Owner

@deusebio deusebio left a comment

Choose a reason for hiding this comment

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

Looks good! I would just use the argsparse or leave the base path empty with ... such that in main people are prompted to set this

Approving anyway since these are not super critical items

Copy link
Owner

Choose a reason for hiding this comment

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

Why not changing the kubeflow-repos.yaml? My idea was to have one file that we could re-use with all of the repositories

Copy link
Owner

Choose a reason for hiding this comment

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

I would skip these honestly. I suppose it is easy (and custom to the user case) select from the full list depending on the confidence we have on the modification and which modifications. I would nudge against having too many files in the presets, but just what would get used the most.

If we want to say that the process we have ALWAYS goes through the same repo first, and then roll out to the rest, that's fine (but at least for the rest I would use the kubeflow-full)

with open("./credentials.json", "r") as fid:
credentials = GitCredentials(**json.loads(fid.read()))

tmp_folder = f"/home/ubuntu/tmp/kfcicli/charm_repos"
Copy link
Owner

Choose a reason for hiding this comment

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

todo Could you just use the same args parsing as here?

)

with open("body.md", "r") as f:
pr_body = f.read()
Copy link
Owner

Choose a reason for hiding this comment

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

praise good idea! well done!

@deusebio
Copy link
Owner

deusebio commented Jul 7, 2025

By the way, @mvlassis, I should close the other PR #4 right?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants