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

Pass linting checks #75

Open
Tracked by #80
ErikSchierboom opened this issue Jan 29, 2021 · 4 comments
Open
Tracked by #80

Pass linting checks #75

ErikSchierboom opened this issue Jan 29, 2021 · 4 comments
Labels
x:action/fix Fix an issue x:knowledge/elementary Little Exercism knowledge required x:size/medium Medium amount of work x:type/content Work on content (e.g. exercises, concepts)

Comments

@ErikSchierboom
Copy link
Member

ErikSchierboom commented Jan 29, 2021

This issue is part of the migration to v3. You can read full details about the various changes here.

The configlet tool has a lint command that checks if a track's configuration files are properly structured - both syntactically and semantically. Misconfigured tracks may not sync correctly, may look wrong on the website, or may present a suboptimal user experience, so configlet's guards play an important part in maintaining the integrity of Exercism.

We're updating configlet to work with v3 tracks, which have a different set of requirements than v2 tracks.

The full list of rules that will be checked by the linter can be found in this spec.

⚠ Note that only a subset of the linting rules has been implemented at this moment. This means that while your track may be passing the checks at this moment, it might fail later. We thus strongly suggest you keep this issue open until we let you know otherwise.

Goal

Ensure that the track passes all the (v3 track) checks defined in configlet lint.

To help verify that the track passes all the linting rules, the v3 preparation PR has added a GitHub Actions workflow that automatically runs configlet lint.

It is also possible to run configlet lint locally by running the ./bin/fetch-configlet (or ./bin/fetch-configlet.ps1) script to download a local copy of the configlet binary. Once downloaded, you can then do ./bin/configlet lint to run the linting on your own machine.

Tracking

exercism/v3-launch#3

@ErikSchierboom
Copy link
Member Author

⚠ The original issue did not explain that currently only a subset of the linting rules have been implemented. This means that while your track may be passing the checks at this moment, it might fail later. We (the Exercism team) thus strongly suggest you keep this issue open until we let you know otherwise. The issue's text has been updated to reflect this.

@booniepepper
Copy link
Contributor

@ErikSchierboom Is it safe to say that if we're passing configlet lint today, that we've addressed everything? Or are there still bits and pieces being implemented and I should take a manual look through the requirements? (Or maybe contribute to the lint itself?)

@ErikSchierboom
Copy link
Member Author

@hiljusti We've not yet implemented all linting rules (see exercism/configlet#249), but we'll get there. We'll regularly release new builds, which will automatically run in GitHub Actions, so you'll notice it when doing PRs.

I'd keep this issue open for now.

@booniepepper
Copy link
Contributor

Wow, that's quite a list!

Thanks, I'll keep this open till exercism/configlet#249 is closed

@ErikSchierboom ErikSchierboom changed the title [v3] Pass linting checks Pass linting checks Aug 17, 2021
@ErikSchierboom ErikSchierboom added x:action/fix Fix an issue x:knowledge/elementary Little Exercism knowledge required x:size/medium Medium amount of work x:type/content Work on content (e.g. exercises, concepts) labels Aug 18, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
x:action/fix Fix an issue x:knowledge/elementary Little Exercism knowledge required x:size/medium Medium amount of work x:type/content Work on content (e.g. exercises, concepts)
Projects
None yet
Development

No branches or pull requests

2 participants