Skip to content

GitHub action to update interop proposals with web-features-explorer data #978

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 5 commits into
base: main
Choose a base branch
from

Conversation

captainbrosset
Copy link
Contributor

@captainbrosset captainbrosset commented Jul 17, 2025

This is a PR for a proposal I made on a recent interop team meeting, also based on a discussion with @jgraham, and thanks to feedback I got from multiple people at that meeting.

The PR consists of a GitHub action which runs when a new issue is created, and when an existing issue is edited.
The action runs a NodeJS script (in the new /scripts/ folder), which reads the issue body and attempts to find web-features that correspond to various URLs found in the body.

This can obviously be improved, but I wanted to open this PR early for a first round of feedback/review.

I don't know of a way to test GitHub actions without pushing changes to the main branch of a repo though, so I tested this on my own repo here: https://github.com/captainbrosset/interop-proposals-bot, and you can see a few issues which I experimented with: https://github.com/captainbrosset/interop-proposals-bot/issues

To test this further, feel free to create more issues on my repo.

So far, I mainly tested this in "happy path" scenarios, for example with a spec URL that actually matched a web-features entry. However, there are many focus area proposals from last year which don't return any web-features because they either don't have data we can use, or because the spec URL differs slightly.
So, one thing we should do here is test this with a bigger variety of existing issues and improve the web-features detection code accordingly.

Copy link
Contributor

@jgraham jgraham left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for doing this! It generally looks good, but a few code-level comments and a few comments about more important functional issues that I think we should address.

} else if (feature.status && feature.status.baseline === "low") {
return "Newly Available";
}
return "Limited Availability";
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

There might also be totally unimplemented features, right?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes, but Limited Availability currently encompasses them too.

@captainbrosset captainbrosset requested a review from jgraham July 22, 2025 15:15
str += getUseCounterAsMarkdown(feature);
str += getSurveysAsMarkdown(feature);
str += getPreviousInteropsAsMarkdown(feature);
str += getWPTLinkAsMarkdown(feature);
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Do you have a issue where the WPT link is added and working? It seems like everything is there in captainbrosset/interop-proposals-bot#1 for it to be added, but it's not. Maybe there's a bug here?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants