Run ./setup.sh. It will clone all repos and set up the "upstream" and "downstream" remotes.
If you want to also have your own forks as "origin", set it up manually in each created directory (e.g. git remote add origin git@github.com:me/flowlogs-pipeline.git)
If you don't have push access to the downstream openshift/* repositories, use the -p flag on any command. This pushes to your fork and creates a PR instead of pushing directly to downstream:
./set-z.sh -p 2.0.1
./sync.sh -p release-2.1
./new-branches.sh -p release-2.0 release-2.1The scripts will automatically detect your GitHub fork (even if it has a different name than the downstream repo) and create PRs against the appropriate downstream branches.
After a y-stream release, we generally prepare the next y-stream branch. Run with the appropriate arguments (current / next):
./new-branches.sh release-2.0 release-2.1It will create the new branches based on the old ones, and update a few things for the tekton pipeline. It does NOT sync with upstream main (see sync section below).
After any release, we need to bump that existing release branch to the next z-stream version. Run with the appropriate argument (next version):
./set-z.sh 2.0.1It will bump the version env.
To synchronize downstream with upstream, run with the name of the downstream branch that will receive updates:
./sync.sh release-2.1It merges upstream/main into downstream/$target. You may have conflicts during this operation, with warnings displayed such as:
WARNING: Merge failed in "operator", branch "release-2.0"; resolve conflicts, merge and push manually.
You need to resolve them manually, finish the pending merge with git merge --continue, then push with something like git push downstream HEAD:release-2.1.
common.sh— shared definitions (repo arrays, helpers) sourced by all scriptssetup.sh— initial clone and remote setupset-z.sh— bump z-stream version after a releasenew-branches.sh— create new release branchessync.sh— sync downstream from upstream
- GitHub workflows, in
.github/, have been removed from downstream. If they changed upstream, you get a conflict. Just keep deleting those files.