-
Notifications
You must be signed in to change notification settings - Fork 5
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Build automation to verify/manage drift across repositories #64
Comments
Hi @dblock, I had some solution in mind but I forgot to post over here last month. I will try to explain it in different steps. The implementation of the below explanation should go in the opensearch-project/.github repository.
- opensearch:
- name: "OpenSearch"
- maintainers:
- name: "dblock"
- name: "CEHENKLE"
- opensearch-py:
- name: "opensearch-py"
- maintainers:
- name: "rushiagr"
This would target this problem. We can extend this a bit to target the second problem. (optional)
The implementation of the below explanation should go in the all the individual repositories (example opensearch-project/opensearch-py).
Sorry, but I haven't worked on the whole solution. These are mere hacks when I was thinking about the issue. There might be some barriers which I might have missed. Please let me know what do you all think. I'm willing to work if someone is willing to help/guide and reviewing the PRs along the way. Thanks. Best, |
The .github repo seems right, however it's also a template repo, so I think we don't want it to inherit the check jobs every time someone creates a repo in the org. My preference would be to put this in https://github.com/opensearch-project/project-meta which was created for exactly the purpose of manipulating all repos. I would just kick off the workflow on a cron from project-meta, matrix-spawn jobs to check each repo after enumerating them like here and then performing the checks. I don't think we need to care about details such as assigning maintainers. Seems involved. As long as we open issues in the right repos with an Interesting you mention https://github.com/JasonEtco/create-an-issue, I just made 2 PRs into it to support opensearch-project/opensearch-build#531 (JasonEtco/create-an-issue#112 and JasonEtco/create-an-issue#111). The code is pretty straightforward so we can keep extending. At the very least do open feature requests in that repo so we don't lose track. I think it'd be great to start with something super simple like "repo has a README" and "repo has the correct SVG in the README". We could start authoring these checks in dumb bash or, probably better, Python. Are you planning to take a stab at this? I would be more than happy to review PRs and help out! |
Moving this to metrics repo categorizing it under project health. |
@dblock is this issue still valid, do we need to create a tool similar to audit ? |
We can use the automation app to handle a lot of these comparisons over time. |
Is your feature request related to a problem? Please describe.
We currently rely on opening GitHub issues and manual intervention to align repositories across this organization for such things as copyright notices. When these change, such as in opensearch-project/.github#24, there are no guarantees that everybody applies the changes in a timely manner.
Describe the solution you'd like
A mechanism that evaluates drift across repositories for such things as common files and opens GitHub issues automatically. This mechanism would support common types of things: files must match 100% (e.g. code of conduct), files must contain text (e.g. copyright notice as is), files must be present (e.g. developer_guide), TOC must be present in README, etc.
The text was updated successfully, but these errors were encountered: