Skip to content
Guillaume Tucker edited this page Oct 9, 2018 · 10 revisions

Changes in kernelci-core are first made in kernelci-core-staging and tested on staging.kernelci.org. Then a PR is made to merge these changes with the production repository kernelci-core which is used directly by Jenkins.

To create a staging -> prod PR

First, create a fork of kernelci-core. Then clone it and add the staging and prod remotes:

git clone [email protected]:<user-name>/kernelci-core.git
cd kernelci-core
git remote add staging [email protected]:kernelci/kernelci-core-staging.git
git remote update staging
git checkout staging/master -b staging-master
git remote add prod [email protected]:kernelci/kernelci-core.git
git remote update prod

Then create a new staging tag (replacing YYYYMMDD with the actual date), start a PR branch from it and rebase all the changes since the previous tag onto prod:

git checkout staging-master
git pull --ff-only
git tag -a staging-YYYYMMDD -m staging-YYYYMMDD
git push staging staging-YYYYMMDD
git checkout -b pr/staging-YYYYMMDD
git remote update prod
git rebase -i staging-<old-tag> --onto=prod/master
git push origin HEAD:staging-YYYYMMDD

Then visit your kernelci-core clone and create a PR as usual from there. Add a description with a summary of the changes in the PR.