External Contribution Workflow
We should define, implement and document the process for external contributions to PeTrack.
Because of Git LFS and the shared runners (without limit of minutes), we will stay on JuGit. But since JuGit does not allow the creation of projects by external accounts, we will use GitHub for external contributions.
On the technical side, this process should be supported by automatically mirroring the branches from GitHub to GitLab using the following GitHub action: https://github.com/jakob-fritz/github2lab_action (mode: 'mirror'; we do not un-protect master, since GitLab is our single source of truth)
Then a contribution is made as a PR on GitHub. To mirror to GitLab a maintainer needs to run the workflow (since an external could run arbitary code, including code exposing the credentials for GitLab). To not miss any contributions, we will probably let the petrack mirroring account (connected to the petrack mail adress) watch the repo for new PRs and stuff like that.
Then the mirrored PR will have a CI run on GitLab and can finally be merged on GitLab as well. Since the external contributor will work on GitHub, review should happen on GitHub.
The GitHub action is implemented. Still ToDo:
-
Watch the repo with ped-dyn-emp account -
Document the contribution workflow in official documentation and with a TLDR and a link inside a CONTRIBUTING.md -
This includes documenting what the current maintainer of PeTrack needs to do!
-