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 #288

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

Pass linting checks #288

ErikSchierboom opened this issue Jan 29, 2021 · 3 comments
Labels
v3 Preparing for Exercism 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

@Stargator Stargator added the v3 Preparing for Exercism label Feb 7, 2021
@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.

@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
@Stargator
Copy link
Contributor

Stargator commented Oct 16, 2021

@exercism/dart
Just a note I enabled the Configlet CI workflow, I think I was the one that disabled it in the spring of 2021 because it was failing and preventing PRs from passing CI checks. There wasn't an obvious issue.

I enabled it just a few minutes ago to see if I could reproduce the error, but everything passed. So I am leaving the Configlet CI workflow enabled.

@Stargator
Copy link
Contributor

@ErikSchierboom and @kytrinyx I am closing this since the Configlet workflow is using the configlet action in exercism/github-actions, which does run configlet lint.

Please correct me if there is still work to be done.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
v3 Preparing for Exercism 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