Two new repositories will be created within the EDC GitHub organization:
.github
repository for common files that are the same for all components,- dedicated template repositories for files that must be adapted/modified by each component.
Currently, general documents like the pr_etiquette.md
or CONTRIBUTING.md
are located in the Connector repository, although they apply to all repositories in the scope of the
EDC project. In addition, resources like style files or issue/pr templates are duplicated across
repositories and, with this, are not up-to-date, as most of the changes to those documents are made
in the Connector repo and are not replicated across the other component repos.
The reasoning for moving these documents out to separate repositories is as follows:
- simplify maintenance of files
- facilitate the onboarding for new community members
- improve automation of GitHub processes
- harmonize creation process of new EDC repositories
At the time of this writing, two repositories can be identified:
.github
template-basic
We need to identify "common" and "repository-specific" documents. In addition, we need to test how the
.github
repo and the repositories' .github
folders relate to each other.
Suggested structure for .github
repository:
.github/
:- ISSUE_TEMPLATE and PULL_REQUEST_TEMPLATE.md
- generic workflows, e.g.
- scan-pull-request.yaml,
- first-interaction.yml,
- close-inactive-issues.yml
release-<COMPONENT>.yml
- ...
contributing/
:docs/
: same as for every repodeveloper/
: generic documentation files from docs/developerdecision-records/
: those that cover the EDC project from docs/developer/decision-records
legal/
: files from docs/legaltemplates/
: files from docs/templates- ...
profile/README.md
: provide a welcome pageresources/
: move files like edc-checkstyle-config.xmlREADME.md
- ...
Impacts on component repositories:
- remove generic workflow files
- remove listed contributing files
- remove decision records that affect the general EDC project, e.g., org-wide release process
- remove generic resources
- keep component-specific decision records in component repositories
Suggested basic structure for new repositories:
.github/
: e.g., dependabot.yml (to be identified, as mentioned above)docs/developer/decision-records/README.md
(empty list)- .gitattributes
- .gitignore (empty)
- CODEOWNERS (empty list)
- LICENSE
- NOTICE.md (empty list)
Repositories that could be identified in the future:
template-gradle
With additional files (matching Java/Gradle)