-
-
Notifications
You must be signed in to change notification settings - Fork 92
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
[Anatomy] Add configlet documentation #6
Conversation
Maybe move this to |
It should have been. My bad |
I think we should mention that the UUIDs should be valid version 4 UUIDs, and probably with the additional constraint of:
We've had a clear preference towards lowercase-only in the past. |
@ee7 Updated! |
Nice. Another thing about UUIDs: I think we should be more specific than saying a UUID must be "unique". In particular:
If the answer to 1 is yes, then we'll have to fix the already-existing duplicate UUIDs so that
See this gist for a list of UUIDs that are shared between current v2 track repos. And if the answer to 1 is "yes", but we also allow skipping the checks for Exercism-wide uniqueness, then I guess I lean towards "make it hard to misuse". That is, make |
More questions: |
I think there is scope here for us to check that at the database level at sync time, rather than at configlet time. If configlet checks the scope (track config) for uniqueness, the website can check the rest. I think that will keep configlet much lighter (rather than needing to check 52+ different repositories for uuids). We will fix any duplicate uuids during ETL. |
I'm fine with tracks adding track-specific information to the config.json file (or other JSON files), as long as the required keys are there.
Probably. |
Does this mean the best we can do is "don't sync after a bad PR is merged, and automatically open an issue in the offending repo"? If so, I think it's better to catch problems at CI-time when possible. And requiring every track to add a CI check outside The naive "check every repo" approach is indeed wasteful, but it doesn't have to be slow for the end-user. We can do some combination of:
A more sophisticated long-term option is to build an API endpoint that receives a list of UUIDs and returns a list of all that are bad. |
Another question:
|
Personally I think the |
And a question prompted by @iHiD's comment in exercism/problem-specifications#1735 (comment)
I think I lean towards "no". It's tempting to think that it's nice to look at a UUID and know where it comes from. But is that actually useful after we've fixed all the bad UUIDs and added checks so that more can't be added? We'd have to:
Furthermore, I think it doesn't really solve the duplicated UUIDs problem - I'd argue that we shouldn't merge a PR that adds e.g. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Approving this so Erik can merge when y'all ready. I'm not reading the issue, but let me know if I need to :)
I'm gonna merge this and we can update things later. |
No description provided.