Skip to content
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

consider removing exercism-tooling topic exercism-wide #206

Open
ee7 opened this issue Apr 29, 2022 · 3 comments
Open

consider removing exercism-tooling topic exercism-wide #206

ee7 opened this issue Apr 29, 2022 · 3 comments

Comments

@ee7
Copy link
Member

ee7 commented Apr 29, 2022

It seems that the set of repos with the exercism-tooling topic is exactly the set of repos with exercism-test-runner or exercism-representer or exercism-analyzer.

So would it be better to remove exercism-tooling everywhere, and check one of those other topics is present?

Pros that I can see:

  1. It would prevent the two sets from drifting apart, which might cause e.g. some repo to be omitted by some change. Evidence that topics are somewhat error-prone already: I mentioned to Erik that exercism/abap-test-runner was missing its topics.
  2. exercism-tooling is an unclear name: to an outsider, it is not obvious which repos should have the exercism-tooling topic. Someone might wonder why it's missing from, say, exercism/org-wide-files, exercism/github-actions, or exercism/configlet. We can't add it, because then @exercism-bot will create PRs that add deploy.yml.
  3. It would help the problem in Build: remove AWS from deploy targets nim-docker-base#12. A base docker image that is used by a test-runner is "exercism tooling", but it shouldn't currently have the exercism-tooling topic.
  4. We could then more reasonably add a new topic to group "tooling repos" that are not test runners, representers, or analyzers, which currently do not have a topic.

Cons that I can see:

  1. Somebody can't go to https://github.com/search?q=org%3Aexercism+topic%3Aexercism-tooling to see every test runner, representer, and analyzer repo (assuming that the topic is correctly applied).
  2. Time to implement.

It looks like the exercism-tooling topic is only referenced in workflows in org-wide-files, and some local scripts on the machines of people who would be notified of this issue. So maybe it's worth removing it.

@SaschaMann
Copy link
Contributor

The topics have been appropriated for the use in the org-wide-files flows. I'd argue we should lean towards changing org-wide-files rather than changing the topic. That said, I'm not sure if anyone uses topics for anything else so it might not be a problem.

@ee7
Copy link
Member Author

ee7 commented Apr 29, 2022

I'd argue we should lean towards changing org-wide-files rather than changing the topic.

I didn't understand this. Could you rephrase?

My suggestion was to remove the exercism-tooling topic from every repo, and make the below lines check for either exercism-test-runner, exercism-representer, or exercism-analyzer:

const toolingRepos = (await github.paginate(github.rest.search.repos, {
q: 'org:exercism+topic:exercism-tooling+is:public+archived:false'
})).flatMap(({ full_name }) => [full_name])

return repoTopics[0].names.includes('exercism-tooling')

const trackRepos = await github.paginate(github.rest.search.repos, {
q: 'org:exercism+topic:exercism-tooling+is:public+archived:false'
})

Tooling and track repos are determined by their `exercism-tooling` and `exercism-track` topic.

I'm not sure if anyone uses topics for anything else so it might not be a problem.

Erik said that he'd have to update some of his own scripts. But if you don't have local scripts that use exercism-tooling, there might not be anywhere else.

@SaschaMann
Copy link
Contributor

SaschaMann commented Apr 29, 2022

I didn't understand this. Could you rephrase?

I meant to say that if the way org-wide-files interprets that topic prevents the topic from being applied to a repo, e.g. nim-docker-base, we should change org-wide-files.


I don't have any local scripts.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants