Introduction to collaboration and automation tools - Getting the most out of the git ecosystem
Creators: name: Sprenger, Julia
Publisher: name: NEA DB
Year: 2024
Subjects: Version Control
Exfor
NRDC

description: Introduction to collaboration and automation tools

Getting the most out of the git ecosystem


This presentation provides a comprehensive overview of the collaboration and automation tools within the Git ecosystem, designed to enhance the efficiency and sustainability of team-based development projects. The slides detail the fundamental version control functions of Git, such as commits and branches, and demonstrate their importance for tracking changes and supporting parallel development. They explore key collaborative features of GitHub, including Issues, Forks, Pull Requests, and Projects, highlighting their roles in issue management, feedback integration, code reviews, and project organization. The session also underscores the value of collaborative documentation and GitHub's integrated tools like Wikis and Notifications for maintaining transparency and effective communication. Furthermore, the presentation delves into automation practices, emphasizing the advantages of automating repetitive tasks, such as testing and scheduled updates, with GitHub Actions. These automation workflows support the reproducibility of processes, the execution of reliable tests, and the streamlined publishing of projects. Practical examples from repositories like IAEA-NDS/open-benchmarks,  IAEA-NDS/endf-parserpy, brown170/x4i and NEA Gitlab EXFOR illustrate how these features are employed in real-world scenarios, i.e. package building and publication to Zenodo including DOI registration. The presentation concludes by prompting discussions on potential software and projects that could benefit from adopting Git-based collaboration and automation strategies.


This abstract has been partially created by [ChatGPT 4o mini](https://chatgpt.com/).
description: Summary and Conclusions of the follow-up discussion



The presentation and demonstration of Git and related platforms generated an engaged discussion among workshop participants. 




It was recognized that the established workflow and tools established in NRDC enable the currently contributing compilers working together with NRDC in a satisfactory way. Also, a custom system for tracing changes and the visualization of changes is in place. For future developments, it is important to ensure that existing contributors can continue to contribute to NRDCs compilation efforts efficiently and in a way that feels familiar to them. However, while it is important to provide a familiar/efficient workflow to currently active compilers, future-proofing is an important aspect to consider. Future-proofing is understood in two ways: 1) ensure that future compilers will be able to learn as quickly as possible the required technology and skills to make meaningful contributions 2) ensure that the technology stack will be maintainable in the future. The value proposition of adopting Git addresses both points. Git is widely adopted world-wide, maintained by thousands of people and is extensively documented. Git solves the problem of tracking changes. It is not a web service (even though it can be integrated into one, such as GitLab or GitHub). It offers the possibility to use custom tools for visualizing differences, and therefore can possibly be linked to existing tools for displaying differences across file versions. 




Mainly two perspectives emerged during the discussion. One in favour of rapid adoption of Git and Git-based workflows along with associated tools, whereas the second argues for a careful consideration before adoption, primarily due to the following concerns regarding the impact on the current compilation process: 






The user-friendliness of the git-based system must be improved to accommodate non-experts, particularly those who contribute infrequently as human compilers

Potential accidental publication of private communications (e.g. excerpts of email communications) must be prevented

It must be demonstrated that the benefits of adopting Git outweigh the implementation effort of the new workflow

The unintended publication of non-finalized data 





In conclusion, the compilers will look for further development by NEA DB towards git-based workflows for compilation purposes and provide feedback. Besides the compilation aspect, git-based workflows in combination with tools tailored for interaction with Exfor formats may make working with Exfor more inclusive in the future, potentially lowering the entrance barrier for new compilers and other project contributors. I will be beneficial to explore this possibility together with the NRDC and human compilers.