Skip to content

Commit

Permalink
Update issue templates
Browse files Browse the repository at this point in the history
  • Loading branch information
israel-hdez authored Sep 20, 2023
1 parent caea0d6 commit e9c073a
Show file tree
Hide file tree
Showing 2 changed files with 47 additions and 1 deletion.
2 changes: 1 addition & 1 deletion .github/ISSUE_TEMPLATE/bug_report.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
name: Bug report
about: Tell us about a problem you are experiencing
title: ''
labels: kind/bug
labels: ''
assignees: ''

---
Expand Down
46 changes: 46 additions & 0 deletions .github/ISSUE_TEMPLATE/upstream-sync.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
---
name: Upstream sync
about: Outlines the process to synchonize ODH fork with upstream KServe repositories
title: Synchronization with upstream repositories
labels: ''
assignees: ''

---

This repository is configured with a GitHub App that automatically creates pull requests to incorporate upstream changes into ODH's fork. Because of adaptations to enhance UX with OpenShift, changes need to be reviewed carefully. The most notable points of conflict are:

* ODH fork removes `ClusterServingRuntime` CRD. If new upstream development includes changes that involve this CRD, the code needs to be adapted.
* ODH fork uses OpenShift's Serving Certificates, instead of relying on cert-manager. If new upstream development includes changes that involve cert-manager, the code needs to be adapted.
* Files related to GitHub Actions have some changes because of ODH tooling.

It is important to note that the synchronization should be done both for the `master` branch, and also for `release-*` branches (this ticket should be used to cover both). At the time of writing, only `release-v0.11` was an active release branch.

To synchronize ODH's KServe fork with upstream, do the following steps:

1. Search for automatic synchronization pull requests. You can use [this link](https://github.com/opendatahub-io/kserve/pulls/app%2Fpull).
1. If there are no PRs, no synchronization should be needed.
1. Open the pull request. Go to the bottom of the page, where the "Merge pull request" button is located. If you see the "This branch has conflicts that must be resolved" message, you will need to do the synchronization manually (skip to the following set of steps).
1. Verify is there is any failing check. You may need to approve running checks. Trigger re-tests if needed.
1. If some check is giving a true positive, you will need to do a manual sync (as that typically needs code changes/adaptations).
1. Carefully review the new changes, to make sure that no unwanted logic is included (typically, it would be around `ClusterServingRuntimes` and cert-manager stuff).
1. If there are unwanted changes, you will need to do a manual sync (as that typically needs code changes/adaptations).
1. If everything is good. Approve the PR and let openshift-ci to merge it.
1. You can either use GitHub's review/approval feature, or you can leave a comment with both `/approve` and `/lgtm` commands.

If you need to syncrhonize manually, do the following steps:

1. If you haven't done so, create your own fork of ODH's KServe: https://github.com/opendatahub-io/kserve/fork
1. If you haven't done so, checkout your fork of KServe: `git clone git@github.com:{$YOUR_GITHUB_USER}/kserve.git`
1. If you already forked ODH's KServe, make sure you fetch the latest code from ODH repositories. Fetch the relevant branch you want to synchronize.
1. Checkout to the branch you want to synchronize.
1. e.g. If you want to synchronize `release-v0.11`, do `git branch release-v0.11-sync origin/release-v0.11 && git checkout release-v0.11-sync`.
1. If you haven't done so, add upstream as a remote: `git remote add kserve git@github.com:kserve/kserve.git`
1. Fetch latest code from upstream KServe: `git fetch kserve`
1. Do the sync as a merge.
1. e.g. If you want to synchronize `release-v0.11`, do `git merge kserve/release-0.11`.
1. If there are any conflicts, or there are any adaptations that need to be done, do them now.
1. Commit any changes to your local branch.
1. Push the local branch to your fork: `git push origin release-v0.11-sync`.
1. Open a pull request.
1. You will need help from one of your peers. Ask somebody to carefully review your synchronization PR and approve it.
1. Once your PR is merged, you can close the automatic PR that the GitHub App created.

0 comments on commit e9c073a

Please sign in to comment.