forked from kubernetes-retired/service-catalog
-
Notifications
You must be signed in to change notification settings - Fork 16
Rebase instructions for versions 3.11
Jay Boyd edited this page Dec 19, 2018
·
2 revisions
Use UPSTREAM-MERGE.sh to do an automated merge. Details follow.
Assumes repo configuration such as:
$ git remote -v
jboyd01 git@github.com:jboyd01/service-catalog.git (fetch)
jboyd01 git@github.com:jboyd01/service-catalog.git (push)
origin git@github.com:openshift/service-catalog.git (fetch)
origin git@github.com:openshift/service-catalog.git (push)
upstream https://github.com/kubernetes-incubator/service-catalog (fetch)
upstream https://github.com/kubernetes-incubator/service-catalog (push)
$ git checkout master
$ git fetch -q --prune --tags origin
$ git fetch -q --prune --tags upstream
$ ./UPSTREAM-MERGE.sh v0.1.27
Expect an interactive merge for any conflicts. Answer n to the changes around .scBuildImage
in Makefile:
@@ -200,8 +200,8 @@ $(BINDIR):
.scBuildImage: build/build-image/Dockerfile
mkdir -p .cache
mkdir -p .pkg
- sed -i "s/GO_VERSION/$(GO_VERSION)/g" build/build-image/Dockerfile
- docker build -t scbuildimage -f build/build-image/Dockerfile .
+ sed "s/GO_VERSION/$(GO_VERSION)/g" < build/build-image/Dockerfile | \
+ docker build -t scbuildimage -f - .
touch $@
Stage this hunk [y,n,q,a,d,/,j,J,g,e,?]? n
[v0.1.27-rebase 14d889e5a] Merge upstream tag v0.1.27
** Upstream merge complete! **
View the above incoming commits to verify all is well
(mirrors the commit listing the PR will show)
Now make a pull request, after it's LGTMed make the tag:
$ git checkout master
$ git pull
$ git tag <origin version>-v0.1.27
$ git push origin <origin version>-v0.1.27
At this point build the openshift/service-catalog image:
$ hack/env make build-images
You may get errors about the source image, if so you may need either of these:
$ go get -u github.com/openshift/imagebuilder/cmd/imagebuilder
$ hack/build-source-image.sh
You should be able to verify with oc cluster up
.
Build SC E2E tests:
$ OS_BUILD_ENV_PRESERVE=bin/ hack/env NO_DOCKER=1 make -f Makefile.sc bin/e2e.test
Run E2E test:
$ export KUBECONFIG=/home/jaboyd/go/src/github.com/openshift/origin/.kubeconfig
$ export SERVICECATALOGCONFIG=$KUBECONFIG
$ bin/e2e.test -v 10 -alsologtostderr
# to run specific tests:
$ bin/e2e.test -v 10 -alsologtostderr -ginkgo.focus=ServiceBroker
$ bin/e2e.test -v 10 -alsologtostderr -ginkgo.focus=walkthrough
$ bin/e2e.test -v 10 -alsologtostderr -ginkgo.focus=ServiceInstance
The changes are in a commit but need to be pushed and create a PR:
$ git push jboyd01 v0.1.27-rebase-master
Create a PR, ensure the service-catalog tests run (add a /test service-catalog if necessary).
Once reviewed and merged, add the tag:
$ git checkout master
$ git pull
$ git tag v3.11.0-0.1.27
$ git push origin v3.11.0-0.1.27
- Get latest code to merge from upstream (kubernetes-incubator)
$ git checkout -b v0.1.25-rebase
$ git fetch upstream
$ git fetch -t upstream
$ cp OWNERS OWNERS.RH
$ git merge v0.1.25
handle conflicts
- Update renamed Makefile
$ git reset Makefile
$ git checkout Makefile
$ git log Makefile.sc #(for noticing potential additional patches (uncommon))
$ git show tags/v0.1.25:Makefile > Makefile.sc
- Manually reapply build patch. There's probably a better way...
find . -name OWNERS -exec git rm -f '{}' +
mv OWNERS.RH OWNERS
-
Bump UPSTREAM-VERSION file
-
Make pull request
$ git commit
$ git push
$ hub pull-request -b openshift:master (make pull request)
-
Have PR merged via /lgtm
-
After merging, push release tag.
$ git checkout master
$ git pull
$ git tag v3.11.0-0.1.25
$ git push origin v3.11.0-0.1.25