Skip to content

Build SasView using any branch from sibling repositories

Jeff Krzywon edited this page Mar 12, 2024 · 2 revisions

Create a distribution using any branch from any sibling repo

Work-in-progress This procedure is not finalized and is for testing purposes only. Please modify this page as you find issues.

During development of SasView, changes are often made to one of the sibling repositories, which currently include bumps, sasdata, and sasmodels. The ideal method for testing bug fixes and new features is using an installed version that an end-user would see. This procedure allows a developer to generate SasView distributables using branches that have not been merged in sibling repositories.

Checkout the SasView branch you want this feature or bug fix to be included in:

If you have changes made in the sasview repository, checkout your branch, referred to as <new_sasview_branch> and skip the rest of this step. Otherwise, create a new SasView branch based off the branch you want your sibling changes to be incorporated into. This will typically be main​, but could be a specific release branch

git branch <new_sasview_branch>​ <main|release_x.y.z>​; git checkout <new_sasview_branch>

or

git checkout -b <new_sasview_branch>​ <main|release_x.y.z>​

Modify the SasView file .github\workflows\ci.yml

Search the file for Fetch sources of sibling projects​

Change the line git clone --depth=50 --branch=<master|release_x.y.z>​ https://github.com/<bumps|SasView>/<sibling>.git ../<sibling>​ to git clone --depth=50 --branch=<sibling_branch> https://github.com/<bumps|SasView>/<sibling>.git ../<sibling>​ for the sibling repository or repositories you've made changes to.

Commit and push changes

Add your changes

git add ci.yml

Commit your changes with a useful message

git commit -m "Use <sibling> branch <sibling_branch> in CI"

Push your changes to GitHub

git push

Download the installer

Navigate to https://github.com/SasView/sasview/actions

In the Filter workflow runs​ search box, search for branch:<new_sasview_branch>​ with no space between branch and <new_sasview_branch>.

Click on the commit message link, which should be the first column of the table, to get to the summary page for the workflow.

Scroll down to the bottom of the page to find a list of available downloads and download the installer specific to your operating system.

Note - Do ​_NOT_ attempt to install the Debug​ version of the installer. It is for testing purposes only.

Revert the workflow changes

Once your testing is complete and you feel the changes in the sibling repository are working as expected, one of two things needs to happen.

  1. If your SasView branch has no other changes that require a PR, <new_sasview_branch> can be deleted.
  2. If your SasView branch is in the PR stage, all sibling PRs MUST be merged before the SasView PR. As each sibling branch is merged, the SasView workflow should be modified back to the original --branch==<master|release_x.y.z> for that sibling repository.
Clone this wiki locally