Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

NetObserv syncing scripts

Initial setup

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)

Non-admin users (PR mode)

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.1

The 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.

Create new release branch

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.1

It 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).

Bump next z-stream

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.1

It will bump the version env.

Sync with upstream

To synchronize downstream with upstream, run with the name of the downstream branch that will receive updates:

./sync.sh release-2.1

It 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.

Project structure

  • common.sh — shared definitions (repo arrays, helpers) sourced by all scripts
  • setup.sh — initial clone and remote setup
  • set-z.sh — bump z-stream version after a release
  • new-branches.sh — create new release branches
  • sync.sh — sync downstream from upstream

Common conflicts

  • GitHub workflows, in .github/, have been removed from downstream. If they changed upstream, you get a conflict. Just keep deleting those files.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages