Contributing to Bison

Make an Issue

Make an issue by clicking 'Issues' on https://hpcgitlab.inl.gov/idaholab/bison with a problem or feature that you are working on.

If you are making an issue about a bug or new feature that you would like, please write details. For example:

I received this error: {description of error, include Bison and MOOSE error messages}.

I am running Bison version {version}. I am using a {machine}.

I have already tried {description of attempts to run}.

Complete the issue by filling in the sections in curly braces ({}) with the specific details of your bug and/or new desired feature.

Working in Branches

Branches are an efficient way to organize and keep track of your work. Begin by updating your version of Bison.

Create a new branch in your personal repository to work in. We suggest naming it with the issue number that you just made as in the following:


git checkout -b <feature_name_issue_number>

Immediately set your origin branch to track the idaholab/devel upstream branch


git branch --set-upstream-to=upstream/devel

and verify that your origin branch is tracking the upstream repository with


git branch -vv

Complete your development work in this newly created branch.

The hpcgitlab testing system pretests will look at such things as no trailing whitespace and no tabs. There is a tool in the moose directory to remove them before you commit the code.


./moose/scripts/delete_trailing_whitespace.sh

Add the work to be committed. There are a couple ways to add these files:


git add <filename>

or, with an interactive window, which is useful for picking among multiple files to add


git add -i

Check that only the files you intended to add in this commit are added and staged


git status

then commit the added files


git commit

This command will open a vi window (or your editor based on the environment variable EDITOR) where you will make a commit message that references the issue number. You can also commit and enter a message in one line.


git commit -m 'commit_message, Refs #<issue_number>'
note

When referencing the issue number you need to have #<your_number> with no spaces. The testing system will fail you otherwise. Example: #12 -> Good, # 12 -> Bad.

Update Bison to the current idaholab/devel version following the instructions in the Updating Bison section.

Push your commit to your bison fork with the following:


git push origin <your_branch_name>

Create a HPC Merge Request

First check to see if your new branch was added to your repository on GitLab. Once you've verified that your new branch appears on your repository, create a merge request on hpcgitlab. Verify that the changes you are making are the changes that you intended to make.

  • Unfortunately due to user restrictions, outside users are not allowed to assign their merge requests to anyone. The Bison members do check the merge requests, but if yours has not been looked at in a timely manner, you can either email a Bison team member or ping us by typing '@' in the merge request comments and then use the autocomplete to pick a member.

Testing System Permissions

Before you submit your first merge request, you need to give the automatic moose testing system (Civet) permission to access your branch:

  • Go to your forked Bison project on hpcgitlab,

  • Under Settings (look for the gear icon), select Members,

  • Give the account @moosetest Developer permissions to your bison repository as shown in Figure 1

Figure 1: Give the @moosetest account developer permissions to enable automatic Civet testing of Bison merge requests.

Stay Involved

This guide was made to help you get started, but there is much more to learn about Git. A much more complete guide to Git is at https://git-scm.com/doc.

Consider Joining the User Lists

  • You can join the MOOSE user lists at mooseframework.org

  • Join the bison-users list by emailing the Bison staff. Many questions can be or already have been answered there, and you can interact with the Bison community through the list.