Skip to content

chore: streamline ci/cd (dump huge Super-Linter)#246

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

chore: streamline ci/cd (dump huge Super-Linter)#246
mobilemind merged 9 commits intomainfrom
chore/streamline-ci-cd

Conversation

@mobilemind
Copy link
Owner

chore: streamline ci/cd (dump huge Super-Linter)

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 repository’s CI/CD linting by removing Super-Linter and replacing it with direct ESLint/markdownlint/yamllint/JSON checks, alongside some config cleanup.

Changes:

  • Add local lint scripts and devDependencies for ESLint + markdownlint.
  • Replace Super-Linter workflow with explicit lint steps (ESLint, Markdown, YAML, JSON).
  • Move markdownlint configuration to a repo-level config file and adjust YAML lint ignore patterns.

Reviewed changes

Copilot reviewed 7 out of 9 changed files in this pull request and generated 5 comments.

Show a summary per file
File Description
package.json Adds lint/lint:md scripts and introduces devDependencies for lint tooling.
package-lock.json Locks the new devDependency toolchain (large lockfile expansion).
eslint.config.js Updates ESLint “files” targets to match new config location.
SECURITY.md Clarifies wording to “Zero Production Dependencies”.
.yamllint.yml Removes previously ignored workflow files from yamllint ignore list.
.markdownlint.json Adds markdownlint rule configuration at repo root.
.github/workflows/linter.yml Replaces Super-Linter with explicit lint commands and caching changes.
.github/linters/.markdownlint.js Removes the old markdownlint config used by Super-Linter.
.github/actionlint.yaml Adds actionlint configuration (but workflow integration is not included).

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment on lines +55 to +56
-print0 | xargs -0 -I{} node -e \
"try{JSON.parse(require('fs').readFileSync('{}','utf8'))}catch(e){console.error('{}:',e.message);process.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.

This workflow runs yamllint . with line-length max 92 (see .yamllint.yml), but the JSON lint step includes very long YAML lines (notably the inline node -e script). This is likely to trigger yamllint and fail the job. Consider refactoring the JSON lint command to avoid long lines (e.g., use a heredoc/multi-line script) or disable line-length for this workflow file.

Suggested change
-print0 | xargs -0 -I{} node -e \
"try{JSON.parse(require('fs').readFileSync('{}','utf8'))}catch(e){console.error('{}:',e.message);process.exit(1)}"
-print0 | xargs -0 -I{} jq empty "{}"

Copilot uses AI. Check for mistakes.
Copilot AI review requested due to automatic review settings March 22, 2026 06:19
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

Copilot reviewed 7 out of 9 changed files in this pull request and generated 1 comment.


💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Copilot AI review requested due to automatic review settings March 22, 2026 06:39
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

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

Comments suppressed due to low confidence (1)

eslint.config.js:8

  • eslint is run as eslint ., but this flat config only applies to eslint.config.js, Gruntfile.js, tasks/*.js, and test/*.js. The CLI entrypoint under bin/ is excluded, so it won't be linted in CI. Consider adding bin/*.js (and any other shipped JS entrypoints) to the files patterns so linting covers the published code.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Copy link
Contributor

Copilot AI commented Mar 22, 2026

@mobilemind I've opened a new pull request, #247, to work on those changes. Once the pull request is ready, I'll request review from you.

Copilot AI and others added 2 commits March 22, 2026 06:51
Copilot AI review requested due to automatic review settings March 22, 2026 06:57
@mobilemind mobilemind merged commit 18586bb into main Mar 22, 2026
9 checks passed
@mobilemind mobilemind deleted the chore/streamline-ci-cd branch March 22, 2026 07:00
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

Copilot reviewed 9 out of 11 changed files in this pull request and generated 2 comments.


💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.


- name: "YAML lint"
run: 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.

Previously this workflow validated GitHub Actions workflow syntax via Super-Linter (VALIDATE_GITHUB_ACTIONS: true). After removing Super-Linter, the workflow only runs yamllint, which won’t catch GitHub Actions-specific issues. If you still want that coverage, add an actionlint step (and keep .github/actionlint.yaml), otherwise consider removing .github/actionlint.yaml since it’s currently unused.

Suggested change
- name: "GitHub Actions workflow lint"
uses: docker://ghcr.io/rhysd/actionlint:latest
with:
args: -color

Copilot uses AI. Check for mistakes.
Comment on lines +15 to +18
"@eslint/js": "~10.0.1",
"eslint": "~10.1.0",
"eslint-plugin-n": "~17.24.0",
"markdownlint-cli2": "~0.22.0"
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.

The repo’s .npmrc sets save-exact=true (no ^/~ ranges) for reproducible installs, but the new devDependencies are specified with ~ ranges. Please pin these devDependencies to exact versions to match the repo convention (and update the lockfile accordingly).

Suggested change
"@eslint/js": "~10.0.1",
"eslint": "~10.1.0",
"eslint-plugin-n": "~17.24.0",
"markdownlint-cli2": "~0.22.0"
"@eslint/js": "10.0.1",
"eslint": "10.1.0",
"eslint-plugin-n": "17.24.0",
"markdownlint-cli2": "0.22.0"

Copilot uses AI. Check for mistakes.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants