Skip to content
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

Should results merging happen in CI? #3980

Open
gsnedders opened this issue Sep 3, 2024 · 3 comments
Open

Should results merging happen in CI? #3980

gsnedders opened this issue Sep 3, 2024 · 3 comments
Labels

Comments

@gsnedders
Copy link
Member

Currently, the results processor receives either: a list of wptreport JSON URLs and a list of screenshot URLs, or a single ZIP URL, where the ZIP contains a number of wptreport JSON files and a number of screenshot files.

The results processor then attempts to merge all these files together.

We currently have a bunch of things we ignore when merging all the files together:

# Ignore inconsistent browser minor versions for now.
# TODO(Hexcles): Remove this when the TC decision task is implemented.
IGNORED_CONFLICTS = frozenset({'browser_build_id', 'browser_changeset',
'version', 'os_build'})

Ideally we'd put the logic somewhere closer to CI where we can actually ignore fields that make sense for that specific configuration.

GitHub Actions also always compresses artifacts, and if we're using multiple jobs for parallelism (the only sensible approach!), then we end up with multiple ZIP files which need to get merged (which we don't currently support).

@past
Copy link
Member

past commented Sep 5, 2024

I'm OK with this in principle, but it means that we have to make this change across all CIs, right?

@gsnedders
Copy link
Member Author

@past Right. I'd imagine we create some wpt merge-results or something where the logic actually lives, but obviously this involves more intermediate artifacts being created in every CI system.

cc @jgraham

@jgraham
Copy link
Contributor

jgraham commented Sep 6, 2024

I'm basically happy with the idea of CI being taught to merge the results of multiple runs into one giant JSON file; having all the detailed results from a run in one place can sometimes be useful independent of wpt.fyi, so I think that is enough to make this worth doing.

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

No branches or pull requests

3 participants