Skip to content
MajoBerger edited this page Mar 16, 2023 · 2 revisions

Why this exists

When pushing our code to customer, we don't want some of our files (scripts, custom github actions) to be pushed. Specific examples in this tutorial are from pushing our changes to ufal. If you are merging for another client, you have to replace ufal accordingly (but you can still use branch prep-ufal-upstream if you see fit)

Overview

There is special branch for this purpose prep-ufal-upstream. After finishing changes we PR it there, then edit it to either remove some files or take them from customer repo. After this, we make actual upstream PR from our branch prep-ufal-upstream to customer.

Steps

PR from dtq-dev to prep-ufal-upstream

Make the PR, accept it immediately. Code is already in dtq-dev, so it is checked and approved.

changes in prep-ufal-upstream

This step is done in CLI locally. Work is started while in branch prep-ufal-upstream

First, we take .github folder from client and merge it to this branch. It is necessary to have ufal remote in git remotes. It can be checked by issuing command git remote -v if no lines similar to

ufal    git@github.com:ufal/clarin-dspace.git (fetch)
ufal    git@github.com:ufal/clarin-dspace.git (push)

are present, they need to be added by: git remote add ufal git@github.com:ufal/clarin-dspace.git

Then we checkout .github folder from ufal repo by git checkout ufal/upgrade_to_7 .github

Optionally we can delete some folders, for example scripts.

Commit must be made now.

PR to customer

Now pull request can be made to customer from branch prep-ufal-upstream.

Any subsequent changes must be made first do dtq-dev the normal way (new branch, PR, approve...) and then PR to prep-ufal-upstream thru PR or otherwise. This is a bit cumbersome but this is the way.

Clone this wiki locally