Back to home page

EIC code displayed by LXR

 
 

    


Warning, /EICrecon/docs/tutorial/05-contributing.md is written in an unsupported language. File is not indexed.

0001 
0002 
0003 | title                                               | teaching | exercises | questions                                                                                                                                                      | objectives                                                                                           | keypoints                                                                                                                                           |
0004 |-----------------------------------------------------|----------|-----------|----------------------------------------------------------------------------------------------------------------------------------------------------------------|------------------------------------------------------------------------------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------|
0005 | Contributing code changes to the EICrecon repository | 10       | 10        | How do I submit code to the EICrecon repository? Understand naming conventions for EICrecon <br/><br/>Submitting a Pull Request for a contribution to EICrecon | Use eicrecon executable to run reconstruction on a podio input file and to create podio output file. | Write code in a style consistent with the rest of the repository.<br/><br/> Contributions should be made through the GitHub Pull Request mechanism. |
0006 
0007 
0008 
0009 ## Repository
0010 
0011 We use GitHub as the main code repository tool. The repositories are located:
0012 
0013 - [EICrecon][eicrecon] - EIC reconstruction algorithms and EIC-related code for JANA framework
0014 - [JANA2][jana2] - The core framework
0015 
0016 If you hesitate where to file an issue or a question, then the most probably it should be done in EICrecon project. There are [EICrecon issues][eicrecon-issues] and [discussions](https://github.com/eic/EICrecon/discussions)
0017 
0018 There is also [EICrecon project board][eicrecon-project] where one can see what issues are in work and what could be picked up.
0019 
0020 #### Exercise:
0021 
0022 - Go to [EICrecon project board][eicrecon-project] and see what tickets are marked as "TODO"
0023 
0024 
0025 
0026 ## Contributing workflow
0027 
0028 - A workflow starts from creating an issue with a bug report or a feature request. It is important to create an issue even if the subject was discussed on a meeting, personally, etc.
0029 
0030 - Then create a branch out of the issue.
0031 
0032    ![Create branch from issue](img/create_branch_1.png)
0033 
0034    ![Create branch from issue](img/create_branch_2.png)
0035 
0036 - After you commit and push changes to the branch, create a pull request (PR). As soon as PR is created a continuous integration (CI) system will run to test the project compiles and runs on EIC environment. Any further push to this branch will trigger CI rerun the tests and check if merge is ready to be done. PRs are also a good place do discuss changes and code with collaborators. So it might be reasonable to create a PR even if not all work on issue is done. In this case create a Draft PR.
0037 
0038    ![Create branch from issue](img/create_branch_3.png)
0039 
0040    ![Create branch from issue](img/create_branch_4.png)
0041 
0042    To summarize:
0043 
0044    - Create PR
0045    - Fill the information
0046    - Use "Draft PR" if the work is not done
0047    - Assign a reviewer
0048 
0049 - Before accepting the Pull Request code goes through a code review by one of the core developers. If you need someone particular to review your changes - select the reviewer from the menu. Otherwise one of the developers will review the code and accept the PR.
0050 
0051 More on the EIC contribution guide is in [this tutorial][eic-environment-tutorial], [video][eic-environment-youtube]
0052 
0053 ## Coding style
0054 
0055 One can find coding style and other contributions policies at [CONTRIBUTING.md](https://github.com/eic/EICrecon/blob/main/CONTRIBUTING.md). It is yet to be finished but one can find current decisions on coding style there
0056 
0057 
0058 ## References
0059 
0060 - [EICrecon][eicrecon]
0061 - [EICrecon-project][eicrecon-project]
0062 - [EICrecon-issues][eicrecon-issues]
0063 - [EICrecon-discussions][eicrecon-discussions]
0064 - [jana2][jana2]
0065 - [EIC environment - youtube][eic-environment-youtube]
0066 - [EIC environment - tutorial][eic-environment-tutorial]
0067 
0068 [eicrecon]: https://github.com/eic/EICrecon
0069 [eicrecon-project]: https://github.com/orgs/eic/projects/6/views/1
0070 [eicrecon-issues]: https://github.com/eic/EICrecon/issues
0071 [eicrecon-discussions]: https://github.com/eic/EICrecon/discussions
0072 [jana2]: https://github.com/JeffersonLab/JANA2
0073 [eic-environment-youtube]: https://youtu.be/Y0Mg24XLomY?list=PLui8F4uNCFWm3M3g3LG2cOledhI7IvTAJ
0074 [eic-environment-tutorial]: https://eic.github.io/tutorial-setting-up-environment/
0075 
0076 [EICrecon project on GitHub]()
0077 
0078 {% include links.md %}