Skip to content

chore: replace Super-Linter to streamline ci-cd#412

Merged
mobilemind merged 4 commits intomainfrom
chore/streamline-ci-cd
Mar 22, 2026
Merged

chore: replace Super-Linter to streamline ci-cd#412
mobilemind merged 4 commits intomainfrom
chore/streamline-ci-cd

Conversation

@mobilemind
Copy link
Owner

chore: replace Super-Linter to streamline ci-cd

@mobilemind mobilemind self-assigned this Mar 22, 2026
Copilot AI review requested due to automatic review settings March 22, 2026 04:33
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

This PR streamlines the CI/CD linting setup by removing Super-Linter and replacing it with explicit, repo-owned lint/validation steps, while also relocating linter configuration into root-level files.

Changes:

  • Replaces Super-Linter in the GitHub Actions linter workflow with discrete steps (ESLint, markdownlint-cli2, yamllint, actionlint, JSON/JSONC validation).
  • Updates preflight and documentation to use the new root-level lint config locations and tooling.
  • Adds root-level .yamllint.yml and .markdownlint.json configs, plus an actionlint config under .github/.

Reviewed changes

Copilot reviewed 6 out of 10 changed files in this pull request and generated 6 comments.

Show a summary per file
File Description
preflight Updates local preflight lint commands to match the new tooling/layout (yamllint, markdownlint-cli2, eslint).
package.json Bumps ESLint, adds markdownlint-cli2, and introduces a markdown lint script.
package-lock.json Locks dependency updates corresponding to ESLint bump and markdownlint-cli2 addition.
eslint.config.js Adjusts ESLint targeting after moving/removing .github/linters JS configs.
SECURITY.md Updates documentation references for the ESLint config location.
.yamllint.yml Introduces repo yamllint rules/ignore patterns.
.markdownlint.json Introduces markdownlint rule customizations (e.g., allowed fenced code languages).
.github/workflows/linter.yml Replaces Super-Linter with explicit lint/validation steps.
.github/copilot-instructions.md Updates contributor instructions to reflect new lint config locations/tools.
.github/actionlint.yaml Adds actionlint configuration file.

Comment on lines 99 to 102
## check TypeScript and JavaScript
echo ' checking TypeScript & JavaScript w/ eslint, see .github/linters/eslint.config.js'
npx eslint -c .github/linters/eslint.config.js "scripts/*.js" "src/*.ts" ".github/linters/*.js" \
echo ' checking TypeScript & JavaScript w/ eslint, see eslint.config.js'
npx eslint "scripts/*.js" "src/*.ts" \
|| { echo ' *** ERROR eslint TypeScript & JavaScript check failed.' ; exit 1 ; }
Copy link

Copilot AI Mar 22, 2026

Choose a reason for hiding this comment

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

Preflight runs ESLint only on scripts/*.js and src/*.ts, but CI linting runs npx eslint .. This can let config-file lint failures (e.g. eslint.config.js) slip through locally; consider aligning preflight with CI (or clearly documenting the intended difference).

Copilot uses AI. Check for mistakes.
run: npx eslint .

- name: "Lint Markdown"
run: npx markdownlint-cli2 "**/*.md" "#node_modules" "#dist"
Copy link

Copilot AI Mar 22, 2026

Choose a reason for hiding this comment

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

Markdown linting is run via markdownlint-cli2, but no explicit configuration is provided. Since this PR adds .markdownlint.json with custom rules, consider ensuring the workflow actually loads that config (otherwise the new rules may not be enforced).

Suggested change
run: npx markdownlint-cli2 "**/*.md" "#node_modules" "#dist"
run: npx markdownlint-cli2 -c .github/linters/.markdownlint.json "**/*.md" "#node_modules" "#dist"

Copilot uses AI. Check for mistakes.
Comment on lines +47 to +48
pip install --quiet yamllint
yamllint .
Copy link

Copilot AI Mar 22, 2026

Choose a reason for hiding this comment

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

YAML linting installs an unpinned yamllint version and runs it without specifying the repo config. For reproducible CI and to ensure .yamllint.yml rules/ignores are applied, consider pinning the yamllint version and invoking it with -c .yamllint.yml.

Suggested change
pip install --quiet yamllint
yamllint .
pip install --quiet yamllint==1.35.1
yamllint -c .github/linters/.yaml-lint.yml .

Copilot uses AI. Check for mistakes.
@mobilemind mobilemind merged commit a17b741 into main Mar 22, 2026
7 checks passed
@mobilemind mobilemind deleted the chore/streamline-ci-cd branch March 22, 2026 05:15
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants