Skip to content
This repository has been archived by the owner on Mar 22, 2022. It is now read-only.

lint: Check that UUIDs are valid #168

Open
wants to merge 1 commit into
base: main
Choose a base branch
from

Conversation

petertseng
Copy link
Member

all tests that involve lint are hereby updated to do one of the two:

  1. have valid UUIDs
  2. keep their invalid UUIDs, and expect that an error for them is shown.

Closes exercism/configlet#99

@petertseng
Copy link
Member Author

Note this list of exercises and their associated tracks that currently have invalid UUIDs:

invalid elm isogram: 5f540090-061e-2f80-40a8-d9782700ed2efdf8965: invalid UUID length: 43
invalid elisp pangram: 28aea3bc-0ca0-4af9-868a-02e71c3d996: invalid UUID length: 35
invalid cpp all-your-base: 0a3220c6-07a9-ed80-4d2d-1fc65de969b771a46d5: invalid UUID length: 43
invalid bash queen-attack: text_formatting: invalid UUID length: 15
invalid python custom-set: bb07c236-062c-2980-483a-a221e4724445dcd6f32: invalid UUID length: 43
invalid plsql hello-world: 53156fc9-0945-f080-08a9-ce269bfc9121a5d2c5c: invalid UUID length: 43
invalid clojure spiral-matrix: d42g42d7-21b1-4daf-8ddc-a2ab9ee07c98: invalid UUID format
invalid r diamond: 7cad82d6-0db6-d680-4133-81d850d6e7a925454a0: invalid UUID length: 43
invalid haxe leap: d30952cf-0b7d-a980-9351-caedebfed16362c6a7a: invalid UUID length: 43

all tests that involve lint are hereby updated to do one of the two:
1. have valid UUIDs
2. keep their invalid UUIDs, and expect that an error for them is shown.

Closes exercism/configlet#99
@kytrinyx
Copy link
Member

We need to figure out what would have to happen in the database to change UUIDs to be valid, where they are not. Currently, fixing invalid UUIDs breaks the site pretty badly.

@petertseng
Copy link
Member Author

petertseng commented Aug 30, 2019

It looks like this PR will have to wait until those issues are solved.

I sympathise with this plight - it means that it would currently be unwise to release a configlet with this change - affected tracks' configlet lint would break, and you've indicated that fixing their UUIDs is not the way to go. It would be frustrating to be in that situation with no way out.

The motivation for having this PR is to prevent any additional invalid UUIDs from being added. Since we see that configlet currently can't be the place where this is enforced, I will do so in individual tracks' CI of tracks I maintain. Thus achieving the original motivation without causing trouble for all tracks and the website.

When the above issues are solved and configlet is able to enforce this, then it will be a good time to revisit this PR and remove the checks from individual tracks.

petertseng referenced this pull request in petertseng/exercism-ceylon Aug 30, 2019
Want to prevent any invalid UUIDs from being entered.

Want to put this in configlet lint, but can't:
exercism/configlet#99
exercism/configlet#168
So it will go in individual tracks' .travis.yml for now.

It appears that the site will accept pretty much arbitrary strings as
UUIDs for now, but we want to make less work for ourselves when valid
UUIDs are required.
petertseng referenced this pull request in petertseng/exercism-ceylon Aug 30, 2019
Want to prevent any invalid UUIDs from being entered.

Want to put this in configlet lint, but can't:
exercism/configlet#99
exercism/configlet#168
So it will go in individual tracks' .travis.yml for now.

It appears that the site will accept pretty much arbitrary strings as
UUIDs for now, but we want to make less work for ourselves when valid
UUIDs are required.
petertseng referenced this pull request in petertseng/exercism-ceylon Aug 30, 2019
Want to prevent any invalid UUIDs from being entered.

Want to put this in configlet lint, but can't:
exercism/configlet#99
exercism/configlet#168
So it will go in individual tracks' .travis.yml for now.

It appears that the site will accept pretty much arbitrary strings as
UUIDs for now, but we want to make less work for ourselves when valid
UUIDs are required.
petertseng referenced this pull request in petertseng/exercism-ceylon Aug 30, 2019
Want to prevent any invalid UUIDs from being entered.

Want to put this in configlet lint, but can't:
exercism/configlet#99
exercism/configlet#168
So it will go in individual tracks' .travis.yml for now.

It appears that the site will accept pretty much arbitrary strings as
UUIDs for now, but we want to make less work for ourselves when valid
UUIDs are required.
petertseng referenced this pull request in exercism/ceylon Aug 30, 2019
Want to prevent any invalid UUIDs from being entered.

Want to put this in configlet lint, but can't:
exercism/configlet#99
exercism/configlet#168
So it will go in individual tracks' .travis.yml for now.

It appears that the site will accept pretty much arbitrary strings as
UUIDs for now, but we want to make less work for ourselves when valid
UUIDs are required.
petertseng referenced this pull request in exercism/rust Aug 31, 2019
Want to prevent any invalid UUIDs from being entered.

Want to put this in configlet lint, but can't:
exercism/configlet#99
exercism/configlet#168
So it will go in individual tracks' .travis.yml for now.

It appears that the site will accept pretty much arbitrary strings as
UUIDs for now, but we want to make less work for ourselves when valid
UUIDs are required.
sshine referenced this pull request in exercism/haskell Sep 3, 2019
* travis: reject invalid UUIDs

Want to prevent any invalid UUIDs from being entered.

Want to put this in configlet lint, but can't:
exercism/configlet#99
exercism/configlet#168
So it will go in individual tracks' .travis.yml for now.

It appears that the site will accept pretty much arbitrary strings as
UUIDs for now, but we want to make less work for ourselves when valid
UUIDs are required.
Base automatically changed from master to main January 28, 2021 22:38
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

configlet lint: Should check whether UUIDs are valid.
2 participants