Skip to content

CI: packaging workflow misses most extension workspaces; yarn lint never runs #1143

Description

@nealrichardson

Problem

Two CI coverage gaps:

1. build.yaml path filter is too narrow

.github/workflows/build.yaml ("Build VS Code Extension", which runs vsce package) only triggers on:

paths:
  - 'apps/lsp/**'
  - 'apps/vscode/**'

The packaged extension also bundles apps/vscode-editor, apps/vscode-markdownit, apps/quarto-utils, and most of packages/* (core, editor-*, quarto-core, _-prefixed packages, build, tsconfig, eslint configs). It also depends on root package.json, yarn.lock and turbo.json. A PR that touches only those files doesn't get a packaging check. test-positron.yaml has the same problem (it only triggers on apps/vscode/**).

test.yaml has no path filter, so tests do run. The gap is specifically that packaging and Positron tests don't run.

Fix: widen paths to cover every workspace in the extension's dependency closure plus the root manifests, or drop the path filter.

2. yarn lint never runs in CI

No workflow runs yarn lint, so lint errors build up unnoticed. Running it today will probably surface a backlog. Either fix those first, or add the job as non-blocking at first.

Fix: add a lint job to test.yaml (after yarn install). Consider doing this together with, or right after, the ESLint 10 flat-config migration (deps-upgrade-eslint-prettier.md), so we don't fix lint errors under a config that's about to be replaced.

Related

The yarn install --immutable --immutable-cache --check-cache flags used in these workflows are Yarn 2+ only, and Yarn 1 ignores them, so CI doesn't enforce the lockfile. That's tracked as the first step of the dependency-upgrade plan and should be fixed alongside this.

Found during the dependency-upgrade research.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions