chore: streamline ci/cd (dump huge Super-Linter)#246
Conversation
There was a problem hiding this comment.
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.
| -print0 | xargs -0 -I{} node -e \ | ||
| "try{JSON.parse(require('fs').readFileSync('{}','utf8'))}catch(e){console.error('{}:',e.message);process.exit(1)}" |
There was a problem hiding this comment.
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.
| -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 "{}" |
There was a problem hiding this comment.
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.
There was a problem hiding this comment.
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
eslintis run aseslint ., but this flat config only applies toeslint.config.js,Gruntfile.js,tasks/*.js, andtest/*.js. The CLI entrypoint underbin/is excluded, so it won't be linted in CI. Consider addingbin/*.js(and any other shipped JS entrypoints) to thefilespatterns so linting covers the published code.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
|
@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. |
Co-authored-by: mobilemind <19366+mobilemind@users.noreply.github.com> Agent-Logs-Url: https://github.com/mobilemind/text2datauri/sessions/5afb4df8-2441-4f20-bdc9-d9ebc0159b18
chore: fix npm caching in linter workflow
There was a problem hiding this comment.
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 . | ||
|
|
There was a problem hiding this comment.
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.
| - name: "GitHub Actions workflow lint" | |
| uses: docker://ghcr.io/rhysd/actionlint:latest | |
| with: | |
| args: -color |
| "@eslint/js": "~10.0.1", | ||
| "eslint": "~10.1.0", | ||
| "eslint-plugin-n": "~17.24.0", | ||
| "markdownlint-cli2": "~0.22.0" |
There was a problem hiding this comment.
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).
| "@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" |
chore: streamline ci/cd (dump huge Super-Linter)