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

Added Super /Mega Linter #1

Closed
wants to merge 57 commits into from
Closed
Show file tree
Hide file tree
Changes from 22 commits
Commits
Show all changes
57 commits
Select commit Hold shift + click to select a range
8cfff98
Added Super Linter
ScottGibb Nov 20, 2024
182aa29
added Linting badge
ScottGibb Nov 20, 2024
59f25af
Added Markdownlint settings
ScottGibb Nov 20, 2024
e32a1b1
Turning on linters for all file types present in repo
ScottGibb Nov 20, 2024
02ca4ac
disabling on push trigger
ScottGibb Nov 20, 2024
8b80603
added Rust linting
ScottGibb Nov 20, 2024
97f0d3c
changed markdownlint from json to yaml
ScottGibb Nov 20, 2024
9e1acb2
Fixed Markdown linting issues
ScottGibb Nov 20, 2024
1a2f1b9
updated all ReadMe Violations
ScottGibb Nov 20, 2024
2b5a2aa
Adding lint fixing
ScottGibb Nov 20, 2024
f45055a
Added fmt stage
ScottGibb Nov 20, 2024
5740033
Added .gitignore
ScottGibb Nov 20, 2024
1c44ac3
Updated linting and formatting
ScottGibb Nov 20, 2024
e275a84
Added Checkout Code Stage
ScottGibb Nov 20, 2024
e405099
Added Clippy and fmt into workflow
ScottGibb Nov 20, 2024
502d2b9
Updating src fmt
ScottGibb Nov 20, 2024
a703659
Fixed clippy issue
ScottGibb Nov 22, 2024
7818031
Added comment about issue
ScottGibb Nov 22, 2024
e7bee80
Added linting rules
ScottGibb Nov 22, 2024
44e0667
Added todo
ScottGibb Nov 22, 2024
54c84f9
Fixed script formatting
ScottGibb Nov 22, 2024
593a20f
Fixed badge
ScottGibb Nov 22, 2024
4a2d876
Added some new linters
ScottGibb Nov 22, 2024
604f94f
using ` instead of ```
ScottGibb Nov 22, 2024
265842c
removed "such as baremetal"
ScottGibb Nov 22, 2024
1c5c78c
Adding markdown glob that should catch all files now
ScottGibb Nov 22, 2024
2b7061e
Fixed README docs
ScottGibb Nov 22, 2024
b534acf
Adding Lint Fixing Workflow
ScottGibb Nov 22, 2024
3239bbe
added Textlint rules
ScottGibb Nov 22, 2024
b66f400
removed extra spaces
ScottGibb Nov 22, 2024
cfce6f6
Updated README
ScottGibb Nov 22, 2024
96529fe
Attempting to fix linter fix stage
ScottGibb Nov 22, 2024
9a1d28e
Attempt at fixing linter
ScottGibb Nov 22, 2024
04b7d8d
test
ScottGibb Nov 22, 2024
eb57892
Added Fix Flow
ScottGibb Nov 22, 2024
2773558
Fixed util readme issues
ScottGibb Nov 22, 2024
a5989fe
Attempt at using megalinter
ScottGibb Nov 22, 2024
1fe2957
added permissions
ScottGibb Nov 22, 2024
9d873f5
restructuring permissions
ScottGibb Nov 22, 2024
d86dd57
mega linter settings
ScottGibb Nov 22, 2024
e6ae701
removed the 'the'
ScottGibb Nov 25, 2024
9183a4c
configured megalinter
ScottGibb Nov 25, 2024
570d002
created two markdown errors
ScottGibb Nov 25, 2024
9bd1558
Messing around with CI configuration
ScottGibb Nov 25, 2024
653ba86
testing
ScottGibb Nov 25, 2024
2f2ee60
added MegaLinter
ScottGibb Nov 25, 2024
45c7284
updated linter
ScottGibb Nov 25, 2024
aedae88
fixed env variable
ScottGibb Nov 25, 2024
d36dfdb
possivble syntax error
ScottGibb Nov 25, 2024
5033865
reformatting
ScottGibb Nov 25, 2024
1246eee
test
ScottGibb Nov 25, 2024
9b5f461
attempting to fix the aply fix stage
ScottGibb Nov 25, 2024
87fde33
further testing
ScottGibb Nov 25, 2024
836dafa
ovveride
ScottGibb Nov 25, 2024
e8abc7f
reset workflow
ScottGibb Nov 25, 2024
e3d8e0e
Added more markdown lints
ScottGibb Nov 25, 2024
259dad2
Updated Megalinter settings
ScottGibb Nov 25, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
70 changes: 70 additions & 0 deletions .github/workflows/Linting.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,70 @@
---
name: Linting

on: # yamllint disable-line rule:truthy
# push: null
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is this line required still?

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think we will be moving away from this actually after finding MegaLinter
https://megalinter.io/v8/
It handles the analysis slightly differently.

pull_request: null

permissions: {}

jobs:
Super_Linter:
name: Super Linter
runs-on: ubuntu-latest

permissions:
contents: read
packages: read
# To report GitHub Actions status checks
statuses: write

steps:
- name: Checkout code
uses: actions/checkout@v4
with:
# super-linter needs the full git history to get the
# list of files that changed across commits
fetch-depth: 0

- name: Super-linter
uses: super-linter/super-linter@v7.2.0 # x-release-please-version
env:
# Linters
VALIDATE_MARKDOWN: true
# VALIDATE_RUST_CLIPPY: true # Cant Use as the version is not at 1.81 yet in the linter
VALIDATE_YAML: true
# Auto Fix the files
# FIX_RUST_CLIPPY: true # Cant Use as the version is not at 1.81 yet in the linter
FIX_MARKDOWN: true
ENABLE_GITHUB_ACTIONS_STEP_SUMMARY: true
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

# Remove this section when Super Linter is updated (https://github.com/dysonltd/tmag5273/issues/3)
Clippy:
name: Clippy
Copy link
Collaborator

@petekubiak petekubiak Nov 22, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

With a little jiggery-pokery it's possible to run clippy on doc examples too

Info can be found here - the bits you need are kind of dotted about but if you think it's worth implementing I've got a working example I was using on one of our other repos

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think this would be good to add. Especially since the Super Linter isnt upgraded yet for the latest rust version (#3). Are you able to share here and il add it in?

runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Clippy check on src
run: cargo clippy --manifest-path Cargo.toml -- -D warnings
- name: Clippy check on utils
run: cargo clippy --manifest-path utils/Cargo.toml -- -D warnings
- name: Clippy check on esp32 example
run: |
cd examples/esp32-c3
cargo clippy --manifest-path ./Cargo.toml -- -D warnings
# Had to run in the esp32c3 directory to get rid of <https://github.com/taiki-e/portable-atomic/issues/148>

Formatter:
name: Cargo Formatter
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Rustfmt check on src
run: cargo fmt --manifest-path Cargo.toml -- --check
- name: Rustfmt check on utils
run: cargo fmt --manifest-path utils/Cargo.toml -- --check
- name: Rustfmt check on esp32 example
run: cargo fmt --manifest-path examples/esp32-c3/Cargo.toml -- --check
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
# Compiled files
/target/
utils/target/

# Dependency directories
Cargo.lock
Expand Down
7 changes: 0 additions & 7 deletions .markdownlint.json

This file was deleted.

277 changes: 277 additions & 0 deletions .markdownlint.yaml
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is it possible to inherit a lint standard for markdown instead of having a long file of custom configuration like this?

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

So you can run markdownlint with the standard and we would need to apply two settings around line length. This is how it was originally and was in json, but then SuperLinter needed a yaml file as it wasnt reading the json for some reason....

We should be able to solve this by moving to MegaLinter

Original file line number Diff line number Diff line change
@@ -0,0 +1,277 @@
# Example markdownlint configuration with all properties set to their default value

# Default state for all rules
default: true

# Path to configuration file to extend
extends: null

# MD001/heading-increment : Heading levels should only increment by one level at a time : https://github.com/DavidAnson/markdownlint/blob/v0.36.1/doc/md001.md
MD001: true

# MD003/heading-style : Heading style : https://github.com/DavidAnson/markdownlint/blob/v0.36.1/doc/md003.md
MD003:
# Heading style
style: "consistent"

# MD004/ul-style : Unordered list style : https://github.com/DavidAnson/markdownlint/blob/v0.36.1/doc/md004.md
MD004:
# List style
style: "consistent"

# MD005/list-indent : Inconsistent indentation for list items at the same level : https://github.com/DavidAnson/markdownlint/blob/v0.36.1/doc/md005.md
MD005: true

# MD007/ul-indent : Unordered list indentation : https://github.com/DavidAnson/markdownlint/blob/v0.36.1/doc/md007.md
MD007:
# Spaces for indent
indent: 2
# Whether to indent the first level of the list
start_indented: false
# Spaces for first level indent (when start_indented is set)
start_indent: 2

# MD009/no-trailing-spaces : Trailing spaces : https://github.com/DavidAnson/markdownlint/blob/v0.36.1/doc/md009.md
MD009:
# Spaces for line break
br_spaces: 2
# Allow spaces for empty lines in list items
list_item_empty_lines: false
# Include unnecessary breaks
strict: false

# MD010/no-hard-tabs : Hard tabs : https://github.com/DavidAnson/markdownlint/blob/v0.36.1/doc/md010.md
MD010:
# Include code blocks
code_blocks: true
# Fenced code languages to ignore
ignore_code_languages: []
# Number of spaces for each hard tab
spaces_per_tab: 1

# MD011/no-reversed-links : Reversed link syntax : https://github.com/DavidAnson/markdownlint/blob/v0.36.1/doc/md011.md
MD011: true

# MD012/no-multiple-blanks : Multiple consecutive blank lines : https://github.com/DavidAnson/markdownlint/blob/v0.36.1/doc/md012.md
MD012:
# Consecutive blank lines
maximum: 1

# MD013/line-length : Line length : https://github.com/DavidAnson/markdownlint/blob/v0.36.1/doc/md013.md
MD013:
# Number of characters
line_length: 80
# Number of characters for headings
heading_line_length: 80
# Number of characters for code blocks
code_block_line_length: 200
# Include code blocks
code_blocks: true
# Include tables
tables: true
# Include headings
headings: true
# Strict length checking
strict: false
# Stern length checking
stern: false

# MD014/commands-show-output : Dollar signs used before commands without showing output : https://github.com/DavidAnson/markdownlint/blob/v0.36.1/doc/md014.md
MD014: true

# MD018/no-missing-space-atx : No space after hash on atx style heading : https://github.com/DavidAnson/markdownlint/blob/v0.36.1/doc/md018.md
MD018: true

# MD019/no-multiple-space-atx : Multiple spaces after hash on atx style heading : https://github.com/DavidAnson/markdownlint/blob/v0.36.1/doc/md019.md
MD019: true

# MD020/no-missing-space-closed-atx : No space inside hashes on closed atx style heading : https://github.com/DavidAnson/markdownlint/blob/v0.36.1/doc/md020.md
MD020: true

# MD021/no-multiple-space-closed-atx : Multiple spaces inside hashes on closed atx style heading : https://github.com/DavidAnson/markdownlint/blob/v0.36.1/doc/md021.md
MD021: true

# MD022/blanks-around-headings : Headings should be surrounded by blank lines : https://github.com/DavidAnson/markdownlint/blob/v0.36.1/doc/md022.md
MD022:
# Blank lines above heading
lines_above: 1
# Blank lines below heading
lines_below: 1

# MD023/heading-start-left : Headings must start at the beginning of the line : https://github.com/DavidAnson/markdownlint/blob/v0.36.1/doc/md023.md
MD023: true

# MD024/no-duplicate-heading : Multiple headings with the same content : https://github.com/DavidAnson/markdownlint/blob/v0.36.1/doc/md024.md
MD024:
# Only check sibling headings
siblings_only: false

# MD025/single-title/single-h1 : Multiple top-level headings in the same document : https://github.com/DavidAnson/markdownlint/blob/v0.36.1/doc/md025.md
MD025:
# Heading level
level: 1
# RegExp for matching title in front matter
front_matter_title: "^\\s*title\\s*[:=]"

# MD026/no-trailing-punctuation : Trailing punctuation in heading : https://github.com/DavidAnson/markdownlint/blob/v0.36.1/doc/md026.md
MD026:
# Punctuation characters
punctuation: ".,;:!。,;:!"

# MD027/no-multiple-space-blockquote : Multiple spaces after blockquote symbol : https://github.com/DavidAnson/markdownlint/blob/v0.36.1/doc/md027.md
MD027: true

# MD028/no-blanks-blockquote : Blank line inside blockquote : https://github.com/DavidAnson/markdownlint/blob/v0.36.1/doc/md028.md
MD028: true

# MD029/ol-prefix : Ordered list item prefix : https://github.com/DavidAnson/markdownlint/blob/v0.36.1/doc/md029.md
MD029:
# List style
style: "one_or_ordered"

# MD030/list-marker-space : Spaces after list markers : https://github.com/DavidAnson/markdownlint/blob/v0.36.1/doc/md030.md
MD030:
# Spaces for single-line unordered list items
ul_single: 1
# Spaces for single-line ordered list items
ol_single: 1
# Spaces for multi-line unordered list items
ul_multi: 1
# Spaces for multi-line ordered list items
ol_multi: 1

# MD031/blanks-around-fences : Fenced code blocks should be surrounded by blank lines : https://github.com/DavidAnson/markdownlint/blob/v0.36.1/doc/md031.md
MD031:
# Include list items
list_items: true

# MD032/blanks-around-lists : Lists should be surrounded by blank lines : https://github.com/DavidAnson/markdownlint/blob/v0.36.1/doc/md032.md
MD032: true

# MD033/no-inline-html : Inline HTML : https://github.com/DavidAnson/markdownlint/blob/v0.36.1/doc/md033.md
MD033:
# Allowed elements
allowed_elements: []

# MD034/no-bare-urls : Bare URL used : https://github.com/DavidAnson/markdownlint/blob/v0.36.1/doc/md034.md
MD034: true

# MD035/hr-style : Horizontal rule style : https://github.com/DavidAnson/markdownlint/blob/v0.36.1/doc/md035.md
MD035:
# Horizontal rule style
style: "consistent"

# MD036/no-emphasis-as-heading : Emphasis used instead of a heading : https://github.com/DavidAnson/markdownlint/blob/v0.36.1/doc/md036.md
MD036:
# Punctuation characters
punctuation: ".,;:!?。,;:!?"

# MD037/no-space-in-emphasis : Spaces inside emphasis markers : https://github.com/DavidAnson/markdownlint/blob/v0.36.1/doc/md037.md
MD037: true

# MD038/no-space-in-code : Spaces inside code span elements : https://github.com/DavidAnson/markdownlint/blob/v0.36.1/doc/md038.md
MD038: true

# MD039/no-space-in-links : Spaces inside link text : https://github.com/DavidAnson/markdownlint/blob/v0.36.1/doc/md039.md
MD039: true

# MD040/fenced-code-language : Fenced code blocks should have a language specified : https://github.com/DavidAnson/markdownlint/blob/v0.36.1/doc/md040.md
MD040:
# List of languages
allowed_languages: []
# Require language only
language_only: false

# MD041/first-line-heading/first-line-h1 : First line in a file should be a top-level heading : https://github.com/DavidAnson/markdownlint/blob/v0.36.1/doc/md041.md
MD041:
# Heading level
level: 1
# RegExp for matching title in front matter
front_matter_title: "^\\s*title\\s*[:=]"

# MD042/no-empty-links : No empty links : https://github.com/DavidAnson/markdownlint/blob/v0.36.1/doc/md042.md
MD042: true

# MD043/required-headings : Required heading structure : https://github.com/DavidAnson/markdownlint/blob/v0.36.1/doc/md043.md
MD043:
# List of headings
headings: [ "*" ]
# Match case of headings
match_case: false

# MD044/proper-names : Proper names should have the correct capitalization : https://github.com/DavidAnson/markdownlint/blob/v0.36.1/doc/md044.md
MD044:
# List of proper names
names: []
# Include code blocks
code_blocks: true
# Include HTML elements
html_elements: true

# MD045/no-alt-text : Images should have alternate text (alt text) : https://github.com/DavidAnson/markdownlint/blob/v0.36.1/doc/md045.md
MD045: true

# MD046/code-block-style : Code block style : https://github.com/DavidAnson/markdownlint/blob/v0.36.1/doc/md046.md
MD046:
# Block style
style: "consistent"

# MD047/single-trailing-newline : Files should end with a single newline character : https://github.com/DavidAnson/markdownlint/blob/v0.36.1/doc/md047.md
MD047: true

# MD048/code-fence-style : Code fence style : https://github.com/DavidAnson/markdownlint/blob/v0.36.1/doc/md048.md
MD048:
# Code fence style
style: "consistent"

# MD049/emphasis-style : Emphasis style : https://github.com/DavidAnson/markdownlint/blob/v0.36.1/doc/md049.md
MD049:
# Emphasis style
style: "consistent"

# MD050/strong-style : Strong style : https://github.com/DavidAnson/markdownlint/blob/v0.36.1/doc/md050.md
MD050:
# Strong style
style: "consistent"

# MD051/link-fragments : Link fragments should be valid : https://github.com/DavidAnson/markdownlint/blob/v0.36.1/doc/md051.md
MD051:
# Ignore case of fragments
ignore_case: false

# MD052/reference-links-images : Reference links and images should use a label that is defined : https://github.com/DavidAnson/markdownlint/blob/v0.36.1/doc/md052.md
MD052:
# Include shortcut syntax
shortcut_syntax: false

# MD053/link-image-reference-definitions : Link and image reference definitions should be needed : https://github.com/DavidAnson/markdownlint/blob/v0.36.1/doc/md053.md
MD053:
# Ignored definitions
ignored_definitions:
- "//"

# MD054/link-image-style : Link and image style : https://github.com/DavidAnson/markdownlint/blob/v0.36.1/doc/md054.md
MD054:
# Allow autolinks
autolink: true
# Allow inline links and images
inline: true
# Allow full reference links and images
full: true
# Allow collapsed reference links and images
collapsed: true
# Allow shortcut reference links and images
shortcut: true
# Allow URLs as inline links
url_inline: true

# MD055/table-pipe-style : Table pipe style : https://github.com/DavidAnson/markdownlint/blob/v0.36.1/doc/md055.md
MD055:
# Table pipe style
style: "consistent"

# MD056/table-column-count : Table column count : https://github.com/DavidAnson/markdownlint/blob/v0.36.1/doc/md056.md
MD056: true

# MD058/blanks-around-tables : Tables should be surrounded by blank lines : https://github.com/DavidAnson/markdownlint/blob/v0.36.1/doc/md058.md
MD058: true
Loading