Fwd: Web IDL validation in spec-prod GitHub action

FYI - spec editors and other contributors who submit PRs:

Recently we discussed some Web IDL conformance topics in this group. Thanks to Francois' work, we now have in production automatic Web IDL validation also for the WebNN API spec. This automation will add an additional layer of validation on top of Bikeshed's built-in, but limited, validation. Thanks Francois!

Thanks,

-Anssi

Begin forwarded message:

From: Francois Daoust <fd@w3.org<mailto:fd@w3.org>>
Subject: Web IDL validation in spec-prod GitHub action
Date: 23. September 2021 at 19.24.05 EEST
To: <spec-prod@w3.org<mailto:spec-prod@w3.org>>
Resent-From: <spec-prod@w3.org<mailto:spec-prod@w3.org>>
Reply-To: Francois Daoust <fd@w3.org<mailto:fd@w3.org>>
Archived-At: <https://www.w3.org/mid/emc54ae602-902b-4c3b-ae5f-3feaa4aa78d3@tipc>

Hi spec editors,

A couple of weeks ago, the spec-prod GitHub action [1], that some of you already use to check and publish specs to GitHub Pages and /TR, was updated to add a Web IDL validation step. This was done automatically (and went smoothly as far we can tell) but we thought you might want to know :)

The goal of this validation step is to make sure that you can catch invalid Web IDL constructs early on, typically at the pull request phase where the action checks the resulting document.

Web IDL validation is enabled by default. The VALIDATE_WEBIDL option may be used to turn it off if you notice issues [2]. That said, validation should not have any side effects on specs that do not include Web IDL, so please report any issue that you may encounter!

Spec authoring tools already include some level of Web IDL validation. If you are using ReSpec to author your spec, this Web IDL validation step will not bring much because ReSpec already validates the Web IDL contained in the spec. If you are using Bikeshed, this Web IDL validation step may prove useful as it checks a number of Web IDL constraints that Bikeshed currently does not validate.

Please note that passing this validation step is not a guarantee that your Web IDL is valid. The validation step currently only checks the Web IDL contained in your spec in isolation. There may remain validation errors if your Web IDL references IDL constructs such as dictionaries defined in other specs. We will try to improve the validation step over time. In the meantime, these validation failures eventually get caught when we release new versions of the @webref/idl npm package [3] and we typically report them through pull requests or issues in the spec repository when validation of Web IDL fragments across all specifications fails.

Thanks,
Francois.

1. https://github.com/w3c/spec-prod/
2. https://w3c.github.io/spec-prod/#validate_webidl
3. https://www.npmjs.com/package/@webref/idl - a package that contains a curated view of Web IDL fragments across Web specifications

Received on Friday, 24 September 2021 08:57:24 UTC