Skip to content
peter-t-fox edited this page Feb 1, 2022 · 1 revision

Introduction

This repository is a UKAEA fork of the Fusion for Energy MARTe2 project. MARTe2 is maintained primarily at the F4E GitLab, mirrored nightly to GitHub.

This purpose of the UKAEA fork of MARTe2 is to make available updates and contributions from UKAEA to the wider MARTe2 community.

Note that UKAEA additionally maintains a fork of the MARTe2-components project, which can be found here. The development guidelines described below apply equally to MARTe2-components.

Development guidelines

In order to maintain the quality of the UKAEA contributions to MARTe2, please adhere to the following development guidelines:

  • If an issue for your contribution does not exist then create one on the Issues page; otherwise either refer to one that has been assigned to you or assign yourself to an open one.
  • Clone the repository to your development machine (if you haven't already). Create a branch from master with the following naming scheme: ukaea/${developer_name}/${issue_number}_${short_issue_description}. ${developer_name} can be any identifier, but for clarity please choose your GitHub username (note that ${developer_name} can be omitted if you expect more than one developer to contribute significantly to the issue). ${issue_number} is just the issue number (without any leading #). Please keep ${short_issue_description} brief but clear to avoid excessively long branch names.
  • Develop and implement the feature on this new branch and check that it works. Write the appropriate tests for the new feature and check that the new tests and the existing tests all pass.
  • Pull from the remote master to your local master branch and merge any updates into your local feature branch before pushing your feature branch to remote. This ensures that any merge conflicts can be handled before the pull request is created. (Remember to push the feature branch regularly to the remote repo to act as a backup and prevent a loss of code locally).
  • Once the issue has been addressed and the remote version of the feature branch is up-to-date with the local version, create a pull request (PR). Mention the issue number (with #) in the PR description to link the pull request to the issue so that the issue can be closed when the pull request is merged.
  • The options on the PR (delete the source branch and/or squash the commits upon merging) should be decided on a per-case basis. In general, in the case where the feature branch has many intermediate commits, it is best to squash the commits to preserve a clean commit history in the repository.
  • Assign the review to the MARTe2-admins team to review and merge the PR.
Clone this wiki locally