FlowFuse / FlowFuse/flowfuse

Separate linting into a standalone CI job

Open
#8,188 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
JavaScript
Stars
400
Forks
89
Avg merge
1d 20h
Merged PRs (30d)
149

Description

## Summary

Right now, linting runs as part of multiple CI test jobs (it's baked into `npm test` which chains `lint → test:unit → test:system`). That means every test suite re-runs the linter, adding a couple of minutes to each job for no real benefit since lint results don't change between runs.

## Suggestion

Pull linting out into its own standalone CI job and have the test jobs call `test:unit` / `test:system` directly instead of going through `npm test`.

The new job/workflow should be named generically so it can serve as a home for other scripts that only need to run once per CI run.

## Why

* Shaves a couple of minutes off each test job
* Saves GitHub Actions minutes by not running the same check multiple times
* Avoids redundant work across parallel jobs
* Gives us a clean place to add future one-shot checks without bloating the test matrix

Contributor guide

Open the contributing guide

Research direction

Start by locating the GitHub Actions workflow and package scripts behind npm test, test:unit, and test:system. Trace how the current test jobs invoke npm test, then separate the lint command into a generic standalone CI job. Done means linting runs once per CI run while the unit and system jobs call their direct scripts and all checks pass.

Written by the indexing model from the issue text.

Assessment

Tech stack
github-actions, javascript
Domain
ci-cd
Issue type
Feature
Difficulty
3/5
Estimated time
1-2 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
65/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.