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

[v3] Pass linting checks #472

Closed
Tracked by #477
ErikSchierboom opened this issue Jan 29, 2021 · 3 comments
Closed
Tracked by #477

[v3] Pass linting checks #472

ErikSchierboom opened this issue Jan 29, 2021 · 3 comments

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

@glennj
Copy link
Contributor

glennj commented Jan 29, 2021

Lint checks pass:

$ bin/fetch_configlet
$ bin/configlet  --version
4.0.0-alpha.1
$ bin/configlet lint
The lint command is under development.
Please re-run this command regularly to see if your track passes the latest linting rules.

Basic linting finished successfully:
- config.json exists and is valid JSON
- Every concept exercise has the required .md files and a .meta/config.json file

@glennj glennj closed this as completed Jan 29, 2021
@ErikSchierboom
Copy link
Member Author

Closing this is fine, but do note that we've only implemented a couple of linting rules and that it might fail later on :)

@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 re-open this issue until we let you know otherwise. The issue's text has been updated to reflect this.

Sorry for the inconvenience.

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