Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add automated update step for component metadata file in workflow #650

Open
wants to merge 1 commit into
base: main
Choose a base branch
from
Open
Changes from all commits
Commits
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
26 changes: 26 additions & 0 deletions .github/workflows/project-codeflare-release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -165,3 +165,29 @@ jobs:
echo "Kueue release with version ${{ github.event.inputs.kueue-version }} does not exist. Please select an existing version."
exit 1
fi

generate-component-metadata:
needs: [check-appwrapper-version, check-kuberay-version, check-kueue-version]
runs-on: ubuntu-latest

steps:
- name: Generate component_metadata.yaml
run: |
cat <<EOL > config/component_metadata.yaml
Copy link
Contributor

Choose a reason for hiding this comment

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

I fail to see how this can update the files in the corresponding repositories. Am I missing it?

Also it does not cover the training operator right?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

There is currently no way to fully automate updating the files in the corresponding repositories. The version of the component can only be updated during the rebase/sync process. The purpose of this PR is to autogenerate the component_metadata file as part of the release process, ensuring all versions are accurately captured from the input fields before the release.

I haven’t included the training operator because it is not part of our release parameters

releases:
Copy link
Contributor

Choose a reason for hiding this comment

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

As far as I know we should just include the components that are referenced in the DSC resource, so codeflare, ray, kueue and training operator. We need to update separate files in separate repos for each.
We need to add training operator but as it is not GA we don't want to include it in the stack compatibility matrix in the readme yet.
I wonder if a separate workflow that is called in the release workflow would work better.

- name: CodeFlare SDK
version: ${{ github.event.inputs.codeflare-sdk-version }}
repoUrl: https://github.com/project-codeflare/codeflare-sdk
- name: AppWrapper
version: ${{ github.event.inputs.appwrapper-version }}
repoUrl: https://github.com/project-codeflare/appwrapper
- name: KubeRay
version: ${{ github.event.inputs.kuberay-version }}
repoUrl: https://github.com/ray-project/kuberay
- name: Kueue
version: ${{ github.event.inputs.kueue-version }}
repoUrl: https://github.com/kubernetes-sigs/kueue
EOL

- name: Verify generated file
run: cat config/component_metadata.yaml
Loading