10000 Linting passes should run only once in the CI · Issue #13067 · enso-org/enso · GitHub
[go: up one dir, main page]

Skip to content
Linting passes should run only once in the CI #13067
@Akirathan

Description

@Akirathan

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).

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.
  • The Enso Code Lint job will run with linting.
    • This job already treats warnings as errors with the -Werror cmd line opt.

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

No one assigned

    Type

    No type

    Projects

    Status

    🗄️ Archived

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions

      0