Skip to content

Restore omitted CSS property metadata generator and CI contract #311

Description

@wieslawsoltes

Problem

Current main (26431500) runs scripts/test_css_property_metadata.py and python tools/generate_css_property_metadata.py --check from Linux CI, but the generator file was not included when the generated CSS property metadata work merged in #309.

The Linux job therefore fails before compiling any PR changes:

FileNotFoundError: tools/generate_css_property_metadata.py

This currently blocks unrelated PRs, including #310. The checked-in generated header identifies that exact generator as its source, and the validation document says CI validates both its unit tests and --check mode.

Scope

  • Add the missing deterministic generator at tools/generate_css_property_metadata.py.
  • Validate catalog version, schema, property names, mask symbols, duplicate names, aliases, expansion targets and maximum expansion arity.
  • Generate the existing sorted effective_property_metadata_catalog byte-for-byte.
  • Make --check fail clearly when the checked-in header is stale.
  • Keep generation locale independent and deterministic.

Acceptance gates

  • python -m unittest scripts/test_css_property_metadata.py -v
  • python tools/generate_css_property_metadata.py --check
  • Generated output matches the header already reviewed in Generate effective CSS property metadata #309 byte-for-byte.
  • Negative tests cover duplicate names, unknown aliases/targets, invalid masks/schema/arity, and stale output.
  • The focused Linux CI failure is resolved without changing runtime CSS behavior.

Relationship

This is a focused repair under the CSS epic #235. It restores the generator and CI contract intended by #309; it does not change the CSS runtime or the active #297 stylesheet-publication optimization.

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

    bugSomething isn't workingvscode-oss/plannedPlanned for the AppScene/WebScene VS Code OSS integration

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions