Skip to content

Update README.md with release steps #118

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

Merged
Merged
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
33 changes: 33 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,3 +10,36 @@ CodeFlare Stack Compatibility Matrix
| CodeFlare-SDK | v0.4.4 |
| InstaScale | v0.0.4 |
| KubeRay | v0.5.0 |

## Release process

Prerequisite:
- Build and release [MCAD](https://github.com/project-codeflare/multi-cluster-app-dispatcher)
- Build and release [InstaScale](https://github.com/project-codeflare/instascale)
- Build and release [CodeFlare-SDK](https://github.com/project-codeflare/codeflare-sdk)

Copy link
Collaborator

Choose a reason for hiding this comment

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

I think there's a step missing here which is something along the lines of updating the values of MCAD and InstaScale where necessary.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Well, I haven't found any direct dependency on MCAD or InstaScale code apart from an image declaration in https://github.com/project-codeflare/codeflare-operator/blob/main/controllers/defaults.go .

I mentioned these repositories as prerequisites because I consider operator as a "main" repo, handling other components, so to build it as last.

Copy link
Collaborator

Choose a reason for hiding this comment

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

INSTASCALE_VERSION ?= v0.0.4

This value needs to be updated and the new defaults file must be generated if we are targeting a new release of InstaScale with the new CodeFlare operator release. The MCAD_VERSION variable will also need to be updated once @astefanutti 's PR with an MCAD version/custom image support is merged.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

@KPostOffice readme adjusted to contain also version changes in files across repository.

Release steps:
1. Invoke [tag-and-build.yml](https://github.com/project-codeflare/codeflare-operator/actions/workflows/tag-and-build.yml) GitHub action, this action will create a repository tag, build and push operator image.

2. Check result of [tag-and-build.yml](https://github.com/project-codeflare/codeflare-operator/actions/workflows/tag-and-build.yml) GitHub action, it should pass.

3. Update CodeFlare Stack Compatibility Matrix in operator README.

4. Update InstaScale and MCAD versions:
- in [Makefile](https://github.com/project-codeflare/codeflare-operator/blob/02e14b535b4f7172b0b809bcae4025008a1a968b/Makefile#L12-L16).
- in [mcad/deployment.yaml.tmpl](https://github.com/project-codeflare/codeflare-operator/blob/main/config/internal/mcad/deployment.yaml.tmpl#L28)
- in [controllers/defaults.go](https://github.com/project-codeflare/codeflare-operator/blob/main/controllers/defaults.go) by running `make defaults`
Copy link
Contributor

Choose a reason for hiding this comment

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

I don't think that's needed, as it's done when running make build as part of the release workflow.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

I mention it here because the change needs to be merged, so it is good to merge it together with other version changes in one commit.

Comment on lines +29 to +31
Copy link
Collaborator

Choose a reason for hiding this comment

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

I think that this should be the first step shouldn't it?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

It doesn't have to be, the Tag and Release GitHub action anyway replace this value when building the image.

- in [controllers/testdata/instascale_test_results/case_1/deployment.yaml](https://github.com/project-codeflare/codeflare-operator/blob/main/controllers/testdata/instascale_test_results/case_1/deployment.yaml) and [controllers/testdata/instascale_test_results/case_2/deployment.yaml](https://github.com/project-codeflare/codeflare-operator/blob/main/controllers/testdata/instascale_test_results/case_2/deployment.yaml)

5. Create a release in CodeFlare operator repository, release notes should include new support matrix.

6. Open a pull request to OpenShift community operators repository with latest bundle using make command, check that the created PR has proper content.
```
make openshift-community-operator-release
```

7. Once merged, update component stable tags to point at the latest image release.

8. Announce the new release in slack and mail lists, if any.

9. Update the Distributed Workloads component in ODH (also copy/update the compatibility matrix).