chore(ci): remove super-linter and add targeted linting#807
Conversation
- Delete `.github/workflows/linter.yml` - Delete `.github/linters/` and all associated config files - Edge app linting and formatting are already covered per-app via `edge-app-checks.yml`
PR Reviewer Guide 🔍(Review updated until commit a6070d1)Here are some key observations to aid the review process:
|
PR Code Suggestions ✨Explore these optional code suggestions:
|
- Extend `detect-changes` to track all changed apps, not just those with `package.json` - Add `no-build-system-check` step and `apps-without-build-system` output - Add `run-simple-checks` job with formatting, Markdown, HTML, CSS, and JS linting via `bunx` - Rename `run-checks` to `run-full-checks` to contrast with `run-simple-checks` - Add `edge-apps/.stylelintrc.json` with minimal built-in rules for CSS linting - Update `edge-apps/README.md` with linting and formatting instructions - Remove super-linter reference from `.claude/rules/edge-apps.md`
- Add `-d` directory check to `add_app_if_valid` to prevent files at the `edge-apps/` root (e.g. `.stylelintrc.json`) from being treated as app names in the matrix
Temporary whitespace-only changes to README files across all non-build-system Edge Apps and the clock app to exercise the `run-simple-checks` and `run-full-checks` CI jobs. This commit will be reverted once CI results are confirmed.
This reverts commit 7907d4d.
|
Persistent review updated to latest commit a6070d1 |
PR Code Suggestions ✨Explore these optional code suggestions:
|
There was a problem hiding this comment.
Pull request overview
This PR removes the repository-wide Super Linter workflow and replaces the remaining Edge App lint/format coverage with a targeted “simple checks” job for Edge Apps that don’t use a build system, while keeping the existing Bun-based checks for build-system apps.
Changes:
- Removed Super Linter workflow and deleted its
.github/linters/configuration files. - Updated
edge-app-checks.ymlto split checks intorun-full-checks(apps withpackage.json) andrun-simple-checks(apps withoutpackage.json) using Prettier, markdownlint-cli2, htmlhint, stylelint, and eslint. - Added a minimal
edge-apps/.stylelintrc.jsonand documented new lint/format commands inedge-apps/README.md.
Reviewed changes
Copilot reviewed 10 out of 10 changed files in this pull request and generated 9 comments.
Show a summary per file
| File | Description |
|---|---|
edge-apps/README.md |
Documents how to run linting/formatting locally for apps with and without a build system. |
edge-apps/.stylelintrc.json |
Adds a shared minimal Stylelint ruleset for “no build system” Edge Apps. |
.github/workflows/linter.yml |
Removes the Super Linter workflow entirely. |
.github/workflows/edge-app-checks.yml |
Adds app classification + a new run-simple-checks job and renames run-checks → run-full-checks. |
.github/linters/stylelint.config.cjs |
Removes Super Linter-related Stylelint config. |
.github/linters/.yamllint.yml |
Removes Super Linter-related YAML lint config. |
.github/linters/.textlintrc |
Removes Super Linter-related text lint config. |
.github/linters/.prettierrc.json |
Removes Super Linter-related Prettier config (replaced by edge-apps/.prettierrc.json). |
.github/linters/.jscpd.json |
Removes Super Linter-related duplication config. |
.claude/rules/edge-apps.md |
Removes references to Super Linter and keeps Stylelint guidance. |
Comments suppressed due to low confidence (1)
.github/workflows/edge-app-checks.yml:58
add_app_if_validcurrently accepts any directory underedge-apps/(excepthelpersand.bun-create). This will include non-app directories likeedge-apps/icons/, creating unnecessary matrix entries and potentially running checks in folders that aren't apps. Consider validating an app directory by presence ofscreenly.yml/screenly_qc.yml(orpackage.json) rather than only-d.
# Function to add app to list if not already included
add_app_if_valid() {
local app="$1"
if [[ -n "$app" && "$app" != "helpers" && "$app" != ".bun-create" ]]; then
if [[ -d "edge-apps/$app" ]]; then
if [[ ! " $CHANGED_APPS " =~ $app ]]; then
CHANGED_APPS="$CHANGED_APPS $app"
fi
fi
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
- Use glob match instead of regex in deduplication check to prevent substring collisions (e.g. `powerbi` vs `powerbi-legacy`) - Add `md` to Prettier glob so Markdown files are included in formatting checks - Replace `echo | xargs` with `find -print0 | xargs -0 -r` in HTML, CSS, and JS lint steps for safe handling of filenames - Add `edge-apps/eslint.config.cjs` as a shared ESLint config for apps without a build system - Update `edge-apps/README.md` to match CI behavior for CSS and JS lint examples
Temporary whitespace-only changes to README files across all non-build-system Edge Apps and the clock app to exercise the `run-simple-checks` and `run-full-checks` CI jobs. This commit will be reverted once CI results are confirmed.
Temporarily disabled until formatting is fixed across non-build-system apps. Will be re-enabled in a follow-up PR.
|
@salmanfarisvp Linting and formatting errors exist across most of the non-build-system Edge Apps. Fixing them all at once would mean a large number of changes with no functional value, so the plan is to address them on a per-app basis whenever an app needs to be touched for other reasons. |
User description
Summary
super-linter/super-linterand all associated config files under.github/linters/run-simple-checksjob toedge-app-checks.ymlfor Edge Apps without a build system, covering formatting (Prettier), Markdown (markdownlint-cli2), HTML (htmlhint), CSS (stylelint), and JavaScript (eslint)run-checkstorun-full-checksto contrast with the newrun-simple-checksjobedge-apps/.stylelintrc.jsonwith minimal built-in stylelint rulesedge-apps/README.mdEdge App linting and formatting were already handled per-app by
edge-app-checks.ymlvia Bun. This replaces the remaining coverage super-linter provided with targeted tools.PR Type
Enhancement, Documentation
Description
Replace Super Linter with targeted checks
Split Edge App CI by build system
Add Stylelint config and linting docs
Diagram Walkthrough
File Walkthrough
2 files
Remove Super Linter reference from CSS guidanceDocument Edge App linting commands7 files
Remove JSCPD duplication linter configurationRemove legacy Super Linter Prettier configRemove legacy textlint configuration fileRemove legacy YAML lint configurationRemove legacy Stylelint Super Linter configRemove Super Linter GitHub Actions workflowAdd minimal Stylelint rules for Edge Apps1 files
Add simple checks for non-build apps