-
Notifications
You must be signed in to change notification settings - Fork 333
Description
The compiler can be configured to run linting passes via CompilerConfig.isLintingDisabled. If linting is enabled, some additional passes are run in the compiler. These linting passes are potentially expensive (for example the not-yet merged #13017). Note that linting passes are, obviously, disabled in production (when launching the compiler from language server).
On the CI, the linting passes are currently run twice in two different jobs:
- Once in the build engine distribution job
- Warnings from linting passes are only printed, and otherwise ignored in this job
- Once in the Enso Code Lint job
- Warnings from linting passes are printed, and treated as errors (via
-Werror
cmd line option).
- Warnings from linting passes are printed, and treated as errors (via
I propose that:
- The build engine distribution job will run without linting.
- We want this job to be as fast as possible
- Since Build native image once #12948, this job runs before any other engine-related job, and all the engine jobs depend on the artifact built in this job.
- Warning are just printed and otherwise ignored in this job.
- We want this job to be as fast as possible
- The Enso Code Lint job will run with linting.
- This job already treats warnings as errors with the
-Werror
cmd line opt.
- This job already treats warnings as errors with the
Motivation
There is not-yet merged #13017 which adds another linting compiler pass that is potentially expensive. We don't want to run such expensive passes twice - once in the build engine distribution job which ignores the warnings anyway, and once in the Enso Code Lint job which treats them as errors.
Metadata
Metadata
Assignees
Type
Projects
Status