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

lint: advise that warnings may not become errors #490

Merged
merged 2 commits into from
Jan 7, 2022

Conversation

ee7
Copy link
Member

@ee7 ee7 commented Dec 19, 2021

We set a deadline of October 2021 for turning these warnings into errors, but we didn't act on it. Quite a few tracks still have some work to do.

Let's give tracks a little more time to address these warnings.


At the time of writing, there are 10 tracks for which configlet lint produces a warning:

csharp
The lint command is under development.
Please re-run this command regularly to see if your track passes the latest linting rules.

Warning: The following concepts exist in the `practices` array of a Practice Exercise in `./csharp/config.json`, but do not exist in the top-level `concepts` array
linq
queues
stacks
multi-dimensional-arrays
streams
lazy-evaluation
recursion
yield
generic-methods
foreach
immutability
higher-order-functions
parallellism
comparing
generic-constraints
globalization
concurrency
big-integers
events

Warning: The following concepts exist in the `prerequisites` array of a Practice Exercise in `./csharp/config.json`, but are not in the `concepts` array of any user-facing Concept Exercise
math-operators
integers
bit-manipulation
enumerables
queues
stacks
multi-dimensional-arrays
streams
generic-methods
lambdas
foreach
immutability
higher-order-functions
parallellism
lazy-evaluation
comparing
generic-constraints
globalization
observables
big-integers
events

Warning: The following concepts exist in the `prerequisites` array of a Practice Exercise in `./csharp/config.json`, but do not exist in the top-level `concepts` array
integers
queues
stacks
multi-dimensional-arrays
streams
generic-methods
foreach
immutability
higher-order-functions
parallellism
lazy-evaluation
comparing
generic-constraints
globalization
observables
big-integers
events

Basic linting finished successfully:
- config.json exists and is valid JSON
- config.json has these valid fields:
language, slug, active, blurb, version, status, online_editor, key_features, tags
- Every concept has the required .md files
- Every concept has a valid links.json file
- Every concept has a valid .meta/config.json file
- Every concept exercise has the required .md files
- Every concept exercise has a valid .meta/config.json file
- Every practice exercise has the required .md files
- Every practice exercise has a valid .meta/config.json file
- Required track docs are present
- Required shared exercise docs are present

Warning: Configlet produced at least one warning.
These warnings will become errors in a future configlet release (at the end of October 2021).
For more information, please see the documentation:
https://github.com/exercism/docs/blob/main/building/configlet/lint.md
factor
The lint command is under development.
Please re-run this command regularly to see if your track passes the latest linting rules.

Warning: The following concepts exist in the `practices` array of a Practice Exercise in `./factor/config.json`, but do not exist in the top-level `concepts` array
word-definition
stack-effect
strings
quotations
conditionals
math
collections
combinators

Warning: The following concepts exist in the `prerequisites` array of a Practice Exercise in `./factor/config.json`, but are not in the `concepts` array of any user-facing Concept Exercise
word-definition
stack-effect
strings
quotations
logical-operators
combinators
collections

Warning: The following concepts exist in the `prerequisites` array of a Practice Exercise in `./factor/config.json`, but do not exist in the top-level `concepts` array
word-definition
stack-effect
strings
quotations
logical-operators
combinators
collections

Basic linting finished successfully:
- config.json exists and is valid JSON
- config.json has these valid fields:
language, slug, active, blurb, version, status, online_editor, key_features, tags
- Every concept has the required .md files
- Every concept has a valid links.json file
- Every concept has a valid .meta/config.json file
- Every concept exercise has the required .md files
- Every concept exercise has a valid .meta/config.json file
- Every practice exercise has the required .md files
- Every practice exercise has a valid .meta/config.json file
- Required track docs are present
- Required shared exercise docs are present

Warning: Configlet produced at least one warning.
These warnings will become errors in a future configlet release (at the end of October 2021).
For more information, please see the documentation:
https://github.com/exercism/docs/blob/main/building/configlet/lint.md
fortran
The lint command is under development.
Please re-run this command regularly to see if your track passes the latest linting rules.

Warning: The following concepts exist in the `practices` array of a Practice Exercise in `./fortran/config.json`, but do not exist in the top-level `concepts` array
equality
conditionals

Warning: The following concepts exist in the `prerequisites` array of a Practice Exercise in `./fortran/config.json`, but are not in the `concepts` array of any user-facing Concept Exercise
equality
conditionals

Warning: The following concepts exist in the `prerequisites` array of a Practice Exercise in `./fortran/config.json`, but do not exist in the top-level `concepts` array
equality
conditionals

Basic linting finished successfully:
- config.json exists and is valid JSON
- config.json has these valid fields:
language, slug, active, blurb, version, status, online_editor, key_features, tags
- Every concept has the required .md files
- Every concept has a valid links.json file
- Every concept has a valid .meta/config.json file
- Every concept exercise has the required .md files
- Every concept exercise has a valid .meta/config.json file
- Every practice exercise has the required .md files
- Every practice exercise has a valid .meta/config.json file
- Required track docs are present
- Required shared exercise docs are present

Warning: Configlet produced at least one warning.
These warnings will become errors in a future configlet release (at the end of October 2021).
For more information, please see the documentation:
https://github.com/exercism/docs/blob/main/building/configlet/lint.md
fsharp
The lint command is under development.
Please re-run this command regularly to see if your track passes the latest linting rules.

Warning: The following concepts exist in the `practices` array of a Practice Exercise in `./fsharp/config.json`, but do not exist in the top-level `concepts` array
string-formatting
generic-functions
ordering
equality
ranges
bit-manipulation
flag-discriminated-unions
regular-expressions
collection-processing
sets
result
members
concurrency
constructors
generic-types
immutability
integral-numbers
math-operators
while-loops
extension-methods
structs
yield
lazy-evaluation
operator-overloading
big-integers
randomness
exceptions
generic-methods
nullability
switch-statements
switch-expressions
globalization
parameters
casting
resource-cleanup
multi-dimensional-arrays
interfaces
parallellism
optional-parameters
for-loops
streams
string-builder
stacks
queues
comparing
generic-constraints
inheritance
events

Warning: The following concepts exist in the `prerequisites` array of a Practice Exercise in `./fsharp/config.json`, but are not in the `concepts` array of any user-facing Concept Exercise
options
generic-functions
higher-order-functions
integral-numbers
ordering
equality
string-formatting
ranges
chars
bit-manipulation
for-loops
result
constructors
members
classes
generic-types
math-operators
while-loops
extension-methods
immutability
structs
operator-overloading
big-integers
randomness
sets
exceptions
generic-methods
nullability
maps
flag-discriminated-unions
globalization
parameters
casting
resource-cleanup
multi-dimensional-arrays
interfaces
parallellism
optional-parameters
collection-processing
streams
stacks
queues
lazy-evaluation
comparing
generic-constraints
observables
inheritance
events

Warning: The following concepts exist in the `prerequisites` array of a Practice Exercise in `./fsharp/config.json`, but do not exist in the top-level `concepts` array
options
generic-functions
integral-numbers
ordering
equality
string-formatting
ranges
chars
bit-manipulation
for-loops
result
constructors
members
generic-types
math-operators
while-loops
extension-methods
immutability
structs
operator-overloading
big-integers
randomness
sets
exceptions
generic-methods
nullability
maps
flag-discriminated-unions
globalization
parameters
casting
resource-cleanup
multi-dimensional-arrays
interfaces
parallellism
optional-parameters
collection-processing
streams
stacks
queues
lazy-evaluation
comparing
generic-constraints
observables
inheritance
events

Basic linting finished successfully:
- config.json exists and is valid JSON
- config.json has these valid fields:
language, slug, active, blurb, version, status, online_editor, key_features, tags
- Every concept has the required .md files
- Every concept has a valid links.json file
- Every concept has a valid .meta/config.json file
- Every concept exercise has the required .md files
- Every concept exercise has a valid .meta/config.json file
- Every practice exercise has the required .md files
- Every practice exercise has a valid .meta/config.json file
- Required track docs are present
- Required shared exercise docs are present

Warning: Configlet produced at least one warning.
These warnings will become errors in a future configlet release (at the end of October 2021).
For more information, please see the documentation:
https://github.com/exercism/docs/blob/main/building/configlet/lint.md
java
The lint command is under development.
Please re-run this command regularly to see if your track passes the latest linting rules.

Warning: The following concepts exist in the `practices` array of a Practice Exercise in `./java/config.json`, but do not exist in the top-level `concepts` array
enums
switch-statements

Warning: The following concepts exist in the `prerequisites` array of a Practice Exercise in `./java/config.json`, but are not in the `concepts` array of any user-facing Concept Exercise
enums
if-statements

Warning: The following concepts exist in the `prerequisites` array of a Practice Exercise in `./java/config.json`, but do not exist in the top-level `concepts` array
enums
if-statements

Basic linting finished successfully:
- config.json exists and is valid JSON
- config.json has these valid fields:
language, slug, active, blurb, version, status, online_editor, key_features, tags
- Every concept has the required .md files
- Every concept has a valid links.json file
- Every concept has a valid .meta/config.json file
- Every concept exercise has the required .md files
- Every concept exercise has a valid .meta/config.json file
- Every practice exercise has the required .md files
- Every practice exercise has a valid .meta/config.json file
- Required track docs are present
- Required shared exercise docs are present

Warning: Configlet produced at least one warning.
These warnings will become errors in a future configlet release (at the end of October 2021).
For more information, please see the documentation:
https://github.com/exercism/docs/blob/main/building/configlet/lint.md
javascript
The lint command is under development.
Please re-run this command regularly to see if your track passes the latest linting rules.

Warning: The following concepts exist in the `prerequisites` array of a Practice Exercise in `./javascript/config.json`, but are not in the `concepts` array of any user-facing Concept Exercise
dates
array-transformations
classes
regular-expressions
recursion
codepoints
randomness
bit-manipulation
math
maps

Warning: The following concepts exist in the `prerequisites` array of a Practice Exercise in `./javascript/config.json`, but do not exist in the top-level `concepts` array
dates
array-transformations
classes
regular-expressions
codepoints
randomness
bit-manipulation
math
maps

Basic linting finished successfully:
- config.json exists and is valid JSON
- config.json has these valid fields:
language, slug, active, blurb, version, status, online_editor, key_features, tags
- Every concept has the required .md files
- Every concept has a valid links.json file
- Every concept has a valid .meta/config.json file
- Every concept exercise has the required .md files
- Every concept exercise has a valid .meta/config.json file
- Every practice exercise has the required .md files
- Every practice exercise has a valid .meta/config.json file
- Required track docs are present
- Required shared exercise docs are present

Warning: Configlet produced at least one warning.
These warnings will become errors in a future configlet release (at the end of October 2021).
For more information, please see the documentation:
https://github.com/exercism/docs/blob/main/building/configlet/lint.md
red
The lint command is under development.
Please re-run this command regularly to see if your track passes the latest linting rules.

Warning: The following concepts exist in the `practices` array of a Practice Exercise in `./red/config.json`, but do not exist in the top-level `concepts` array
series

Warning: The following concepts exist in the `prerequisites` array of a Practice Exercise in `./red/config.json`, but are not in the `concepts` array of any user-facing Concept Exercise
basics
blocks
maths
strings
errors

Basic linting finished successfully:
- config.json exists and is valid JSON
- config.json has these valid fields:
language, slug, active, blurb, version, status, online_editor, key_features, tags
- Every concept has the required .md files
- Every concept has a valid links.json file
- Every concept has a valid .meta/config.json file
- Every concept exercise has the required .md files
- Every concept exercise has a valid .meta/config.json file
- Every practice exercise has the required .md files
- Every practice exercise has a valid .meta/config.json file
- Required track docs are present
- Required shared exercise docs are present

Warning: Configlet produced at least one warning.
These warnings will become errors in a future configlet release (at the end of October 2021).
For more information, please see the documentation:
https://github.com/exercism/docs/blob/main/building/configlet/lint.md
ruby
The lint command is under development.
Please re-run this command regularly to see if your track passes the latest linting rules.

Warning: The following concepts exist in the `practices` array of a Practice Exercise in `./ruby/config.json`, but do not exist in the top-level `concepts` array
regular-expressions
ordering
classes
hashes
casting
sets
equality
time
math-operators
enumerable
recursion
integral-numbers
constructors
lambdas
higher-order-functions
lazy-evaluation
stacks
bit-manipulation
symbols
parameters
randomness
queues
immutability
structs
dates
string-formatting

Warning: The Concept `strings` appears 21 times in the `practices` arrays of user-facing Practice Exercises, but can only appear at most 10 times:
./ruby/config.json

Warning: The following concepts exist in the `prerequisites` array of a Practice Exercise in `./ruby/config.json`, but are not in the `concepts` array of any user-facing Concept Exercise
constructors
ordering
classes
hashes
casting
equality
time
integers
math-operators
enumerable
integral-numbers
generic-methods
lambdas
higher-order-functions
symbols
lazy-evaluation
stacks
bit-manipulation
parameters
randomness
queues
immutability
sets
structs
dates
string-formatting

Warning: The following concepts exist in the `prerequisites` array of a Practice Exercise in `./ruby/config.json`, but do not exist in the top-level `concepts` array
constructors
ordering
classes
hashes
casting
equality
time
integers
math-operators
enumerable
integral-numbers
generic-methods
lambdas
higher-order-functions
symbols
lazy-evaluation
stacks
bit-manipulation
parameters
randomness
queues
immutability
sets
structs
dates
string-formatting

Basic linting finished successfully:
- config.json exists and is valid JSON
- config.json has these valid fields:
language, slug, active, blurb, version, status, online_editor, key_features, tags
- Every concept has the required .md files
- Every concept has a valid links.json file
- Every concept has a valid .meta/config.json file
- Every concept exercise has the required .md files
- Every concept exercise has a valid .meta/config.json file
- Every practice exercise has the required .md files
- Every practice exercise has a valid .meta/config.json file
- Required track docs are present
- Required shared exercise docs are present

Warning: Configlet produced at least one warning.
These warnings will become errors in a future configlet release (at the end of October 2021).
For more information, please see the documentation:
https://github.com/exercism/docs/blob/main/building/configlet/lint.md
vbnet
The lint command is under development.
Please re-run this command regularly to see if your track passes the latest linting rules.

Warning: The following concepts exist in the `practices` array of a Practice Exercise in `./vbnet/config.json`, but do not exist in the top-level `concepts` array
optional-parameters
string-interpolation
yield
lambdas
foreach
arrays
linq
if-statements
for-loops
lists
ordering
stacks
numbers

Warning: The following concepts exist in the `prerequisites` array of a Practice Exercise in `./vbnet/config.json`, but are not in the `concepts` array of any user-facing Concept Exercise
optional-parameters
string-interpolation
lambdas
extension-methods
generic-types
enumerables
foreach
arrays
strings
integers
if-statements
for-loops
numbers
lists
constructors
ordering
chars
stacks
booleans
exceptions
enums

Warning: The following concepts exist in the `prerequisites` array of a Practice Exercise in `./vbnet/config.json`, but do not exist in the top-level `concepts` array
optional-parameters
string-interpolation
lambdas
extension-methods
generic-types
enumerables
foreach
arrays
strings
integers
if-statements
for-loops
numbers
lists
constructors
ordering
chars
stacks
booleans
exceptions
enums

Basic linting finished successfully:
- config.json exists and is valid JSON
- config.json has these valid fields:
language, slug, active, blurb, version, status, online_editor, key_features, tags
- Every concept has the required .md files
- Every concept has a valid links.json file
- Every concept has a valid .meta/config.json file
- Every concept exercise has the required .md files
- Every concept exercise has a valid .meta/config.json file
- Every practice exercise has the required .md files
- Every practice exercise has a valid .meta/config.json file
- Required track docs are present
- Required shared exercise docs are present

Warning: Configlet produced at least one warning.
These warnings will become errors in a future configlet release (at the end of October 2021).
For more information, please see the documentation:
https://github.com/exercism/docs/blob/main/building/configlet/lint.md
wren
The lint command is under development.
Please re-run this command regularly to see if your track passes the latest linting rules.

Warning: The following concepts exist in the `practices` array of a Practice Exercise in `./wren/config.json`, but do not exist in the top-level `concepts` array
strings
text-formatting
optional-values
lists
maps
enumeration
exceptions
numbers
loops
recursion
getters
fields
classes
sequences
operator-overloading
match
math

Warning: The Concept `strings` appears 20 times in the `practices` arrays of user-facing Practice Exercises, but can only appear at most 10 times:
./wren/config.json

Basic linting finished successfully:
- config.json exists and is valid JSON
- config.json has these valid fields:
language, slug, active, blurb, version, status, online_editor, key_features, tags
- Every concept has the required .md files
- Every concept has a valid links.json file
- Every concept has a valid .meta/config.json file
- Every concept exercise has the required .md files
- Every concept exercise has a valid .meta/config.json file
- Every practice exercise has the required .md files
- Every practice exercise has a valid .meta/config.json file
- Required track docs are present
- Required shared exercise docs are present

Warning: Configlet produced at least one warning.
These warnings will become errors in a future configlet release (at the end of October 2021).
For more information, please see the documentation:
https://github.com/exercism/docs/blob/main/building/configlet/lint.md

Let's give tracks a little more time to address these warnings.
@ErikSchierboom
Copy link
Member

We've updated the website to gracefully handle these cases, so there is no need to rush right now. It should still be a warning, but I'm not sure it needs to become an error anymore. 🤷

src/lint/lint.nim Outdated Show resolved Hide resolved
Co-authored-by: ee7 <45465154+ee7@users.noreply.github.com>
@ee7 ee7 merged commit 816a118 into exercism:main Jan 7, 2022
@ee7 ee7 deleted the lint-extend-deadline-warnings branch January 7, 2022 10:28
@ee7 ee7 changed the title lint: extend deadline for turning warnings into errors lint: advise that warnings may not become errors Jan 7, 2022
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

Successfully merging this pull request may close these issues.

2 participants