aboutsummaryrefslogtreecommitdiffstats
path: root/python
Commit message (Collapse)AuthorAgeFilesLines
...
| * | Avoid relinking plugin dylibsMukilan Thiyagarajan2023-05-211-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The `copy_dependencies` logic is invoking `change_non_system_libraries_path` with absolute paths to gstreamer *plugin dylibs*. `change_non_system_libraries_path` skips editing links in servo binary to relocatable dylibs, but the since the plugins have absolute paths, they are treated as 'non-relocable' and it will try to edit the *non-existent* (since plugins are loaded dynamically) link in servo bin. These unnecessary calls to change_link_name is cause of the slowness identified in #29764 This PR fixes the issue by ensuring plugins are not included in the call to change_non_system_libraries_path Signed-off-by: Mukilan Thiyagarajan <me@mukilan.in>
* | | Remove some unused python codeMartin Robinson2023-05-202-76/+9
|/ / | | | | | | | | | | | | | | | | This change removes: - The custom `--dry-run` support for `cargo-update`. The real cargo command now has `--dry-run` support and this code was broken for Python 3. - The Python 2 version of TemporaryDirectory. This is no longer needed as we require Python 3.
* | Auto merge of #29754 - mrobinson:organize-python-by-platform, r=mukilanbors-servo2023-05-1913-404/+461
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Start organizing platform-specific Python code This starts to split platform-specific Python code into its own module, which should help to tidy up our mach commands and make things more reusable. This is step one toward fixing #25335. <!-- Please describe your changes on the following line: --> --- <!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `___` with appropriate data: --> - [x] `./mach build -d` does not report any errors - [x] `./mach test-tidy` does not report any errors - [x] These changes do not require tests because they just change mach scripts. <!-- Also, please make sure that "Allow edits from maintainers" checkbox is checked, so that we can help you if you get stuck somewhere along the way.--> <!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->
| * | Start organizing platform-specific Python codeMartin Robinson2023-05-1913-404/+461
| |/ | | | | | | | | | | This starts to split platform-specific Python code into its own module, which should help to tidy up our mach commands and make things more reusable.
* / Thread panics should be a hard-fail in smoketestsMartin Robinson2023-05-181-1/+4
|/ | | | | | | This prevents, for instance, a script thread panic from hanging Servo and means those kind of panics won't cause CI to hang. Fixes #29749.
* Workaround bug in gstreamer binariesMukilan Thiyagarajan2023-05-121-0/+11
| | | | | | | | | | | | | | | | The official gstreamer .pkg distribution should contain 'relocatable' dylibs, but as discovered in #29732, some dylibs have absolute links to liblzma.5.dylibs Since /opt/homebrew is the default install location on Apple Silicion, this will cause the packaging & build steps to fail, even if 'xz' package is installed via homebrew. This is a temporary fix until upstream fixes the bug and makes the package truly 'relocatable'. Signed-off-by: Mukilan Thiyagarajan <me@mukilan.in>
* Consume official GStreamer binaries on MacOSMukilan Thiyagarajan2023-05-125-110/+170
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This PR re-enables support for the gstreamer mediastack in macOS by consuming the official binary '.pkg' files from gstreamer.freedesktop.org To maintain symmetry with other platforms, the '.pkg' files are uploaded to servo-build-deps and fetched from there using the new script 'etc/install_macos_gstreamer.sh'. Unlike the Homebrew version, the official GStreamer is distributed as a 'relocatable' framework i.e the dylibs all have @rpath-relative install names and also link to other dylibs using @rpath relative path. To address this difference the 'servo' binary needs to be patched with 'install_name_tool' to add an LC_RPATH command that sets the relative paths that the dynamic linker should search when trying to satify dependencies. In Servo's case, this will be a path relative to the 'servo' binary itself i.e '@executable_path/lib/' The additional 'lib' is due to a flaw in the gstreamer packaging where the install names of some of the dylibs have the prefix '@rpath/lib' and some of them just have '@rpath'. This PR also fixes a couple of issues present in the `mach build` process on MacOS: 1. `mach build` process was not copying transitive dependencies of servo binary but only the first level dylibs 2. `mach build` process didn't patch the links to dylibs in servo binary (and dependencies). This meant though (some) dylibs were copied to local path, the binary still loaded the dylibs from system GStreamer installation i.e homebrew instead of the copieds dylibs The build and runtime dependencies in etc/homebrew/Brewfile and etc/homebrew/Brewfile-build have also been removed in This PR. Signed-off-by: Mukilan Thiyagarajan <me@mukilan.in>
* Use resolver v2sagudev2023-05-071-24/+26
|
* Upgrade boto3 python module.Mukilan Thiyagarajan2023-05-051-1/+1
| | | | | | | The current version seem to be broken due to API change in one of the transitive dependency (urllib3) causing nightly builds to fail during package upload step with error: ``` ImportError: cannot import name 'DEFAULT_CIPHERS' from 'urllib3.util.ssl_' (C:\a\servo\servo\python\_virtualenv3.7\Lib\site-packages\urllib3\util\ssl_.py) ```
* Fix installing dependencies on Fedora and remove usage of ↵Veronika Horáčků2023-04-301-4/+3
| | | | | | | | `distro.linux_distribution()` `distro.linux_distribution()` is a deprecated function in the distro module. Signed-off-by: Veronika Horáčků <paricbat@email.cz>
* Make WPT results output more usefulMartin Robinson2023-04-261-1/+2
| | | | | | | | Before when a subtest failed, the text of the failed assertion was not printed. This changes makes sure that it is printed in both the console and the aggregated test output. Also fix a couple typing errors.
* Add try-wpt-2020 runnersagudev2023-04-251-1/+1
|
* Allow wpt commands to accept --with-layout-2013sagudev2023-04-252-0/+4
|
* Auto merge of #29652 - switchpiggy:switchpiggy, r=jdmbors-servo2023-04-241-3/+4
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fixed bug where ./mach test-wpt was unable to run on windows due to servowpt… ….py not correctly setting default binary path <!-- Please describe your changes on the following line: --> Changed the default_binary_path variable to account for the binary_name change to "servo.exe" on win32 properly. Before, the target_dir was being changed after the default path variable was set. This would result in the following error when ./mach test-wpt was run: "Binary path C:\Code\servo\target\release\servo does not exist" --- <!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `___` with appropriate data: --> - [x] `./mach build -d` does not report any errors - [x] `./mach test-tidy` does not report any errors <!-- Either: --> - [x] These changes do not require tests because the validity of the change can be tested by running ./mach test-wpt. <!-- Also, please make sure that "Allow edits from maintainers" checkbox is checked, so that we can help you if you get stuck somewhere along the way.--> <!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->
| * Fixed bug where test-wpt was unable to run on windows due to servowpt.py not ↵switchpiggy2023-04-231-3/+4
| | | | | | | | correctly setting default binary path
* | Auto merge of #29647 - mrobinson:catch-more-notification-exceptions, r=jdmbors-servo2023-04-231-3/+2
|\ \ | |/ |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Catch more exceptions when delivering build notifications It seems that catching ImportError isn't enough, so we must catch any type of exception when trying to deliver a build notification. Fixes #29645. <!-- Please describe your changes on the following line: --> --- <!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `___` with appropriate data: --> - [x] `./mach build -d` does not report any errors - [x] `./mach test-tidy` does not report any errors - [x] These changes do not require tests because they fix a small build infrastructure issue. <!-- Also, please make sure that "Allow edits from maintainers" checkbox is checked, so that we can help you if you get stuck somewhere along the way.--> <!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->
| * Catch more exceptions when delivering build notificationsMartin Robinson2023-04-201-3/+2
| | | | | | | | | | | | | | It seems that catching ImportError isn't enough, so we must catch any type of exception when trying to deliver a build notification. Fixes #29645.
* | Auto merge of #29648 - mukilan:download-build-deps-from-github, r=mrobinsonbors-servo2023-04-231-1/+1
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Download prebuilt dependencies from Github instead of S3 After moving nightly builds to GitHub releases, the major contributor to AWS cost is now the S3 data transfer charges. This PR only addresses the data transfer costs incurred due to the download of gstreamer dependency in the linux and the Windows dependencies (llvm, cmake, moztools, openssl etc) for MSVC builds. Android dependencies and UWP/Hololens dependencies will continue to be served from S3. These can be moved to GH as well in a future PR. The new [servo-build-deps](https://github.com/servo/servo-build-deps/releases) repo now has two tagged releases - linux and msvc. For now, I've manually uploaded the latest versions of the dependencies referred in Servo code to the corresponding releases. We can add the older versions of the dependencies later if needed, potentially using a script to copy from s3. <!-- Please describe your changes on the following line: --> --- <!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `___` with appropriate data: --> - [x] `./mach build -d` does not report any errors - [x] `./mach test-tidy` does not report any errors - [ ] These changes fix #___ (GitHub issue number if applicable) <!-- Either: --> - [ ] There are tests for these changes OR - [x] These changes do not require tests because it is a small change in the CI/bootstrap code. <!-- Also, please make sure that "Allow edits from maintainers" checkbox is checked, so that we can help you if you get stuck somewhere along the way.--> <!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->
| * | Download prebuilt dependencies from Github instead of S3Mukilan Thiyagarajan2023-04-201-1/+1
| |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | After moving nightly builds to GitHub releases, the major contributor to AWS cost is now the S3 data transfer charges. This PR only addresses the data transfer costs incurred due to the download of gstreamer dependency in the linux and the Windows dependencies (llvm, cmake, moztools, openssl etc) for MSVC builds. Android dependencies and UWP/Hololens dependencies will continue to be served from S3. These can be moved to GH as well in a future PR. Signed-off-by: Mukilan Thiyagarajan <me@mukilan.in>
* | Auto merge of #29639 - mrobinson:reorganize-wpt-python, r=mukilanbors-servo2023-04-2341-57/+6283
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Reorganize Servo's WPT Python scripts This change moves all of Servo's WPT Python support scripts into one directory as they were previously scattered throughout the directory structure. This should allow more code reuse and make it easier to understand how everything fits together. The changes: - `tests/wpt/update` → `python/wpt/importer` - `etc/ci/upstream-wpt-changes/wptupstreamer` → `python/wpt/exporter` - `etc/ci/upstream-wpt-changes/test.py` → `python/wpt/test.py` - `etc/ci/upstream-wpt-changes/tests` → `python/wpt/tests` - `tests/wpt/servowpt.py` → - `python/wpt/update.py` - `python/wpt/run.py` - `tests/wpt/manifestupdate.py` → `python/wpt/manifestupdate.py` This change also removes - The ability to run the `update-wpt` and `test-wpt` commands without using `mach`. These didn't work very well, because it was difficult to get all of the wptrunner and mach dependencies installed outside of the Python virtualenv. It's simpler if they are always run through `mach`. - The old WPT change sync / upstreaming script that was no longer used. This allows this code to pass `test-tidy` now. <!-- Please describe your changes on the following line: --> --- <!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `___` with appropriate data: --> - [x] `./mach build -d` does not report any errors - [x] `./mach test-tidy` does not report any errors - [x] There are tests for these changes <!-- Also, please make sure that "Allow edits from maintainers" checkbox is checked, so that we can help you if you get stuck somewhere along the way.--> <!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->
| * | Reorganize Servo's WPT Python scriptsMartin Robinson2023-04-2041-57/+6283
| |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This change moves all of Servo's WPT Python support scripts into one directory as they were previously scattered throughout the directory structure. This should allow more code reuse and make it easier to understand how everything fits together. The changes: - `tests/wpt/update` → `python/wpt/importer` - `etc/ci/upstream-wpt-changes/wptupstreamer` → `python/wpt/exporter` - `etc/ci/upstream-wpt-changes/test.py` → `python/wpt/test.py` - `etc/ci/upstream-wpt-changes/tests` → `python/wpt/tests` - `tests/wpt/servowpt.py` → - `python/wpt/update.py` - `python/wpt/run.py` - `tests/wpt/manifestupdate.py` → `python/wpt/manifestupdate.py` This change also removes - The ability to run the `update-wpt` and `test-wpt` commands without using `mach`. These didn't work very well, because it was difficult to get all of the wptrunner and mach dependencies installed outside of the Python virtualenv. It's simpler if they are always run through `mach`. - The old WPT change upstreaming script that was no longer used.
* / Build on Mac with the dummy media stackMartin Robinson2023-04-231-2/+6
|/ | | | | | This is a temporary fix for broken GStreamer homebrew packages. Fixes 29653.
* Make errors during build status notification warningsMartin Robinson2023-04-171-2/+5
| | | | | | | Instead of raising an exception, simply print a warning on stderr when notification fails. Fixes #29635.
* Auto merge of #29629 - servo:fix-nightly-job-upload-error, r=mukilanbors-servo2023-04-131-5/+9
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fix nightly upload to GH release logic. The boto3 S3 client automatically [closes the given fileobj](https://github.com/boto/s3transfer/blob/develop/s3transfer/upload.py#L106) after the transfer is complete. This prevents us from reusing the package_hash_fileobj between s3 and github upload methods. This is causing the [upload to github to fail](https://github.com/servo/servo/actions/runs/4685791796/jobs/8303739124) with: ``` ValueError: I/O operation on closed file. File "/home/runner/work/servo/servo/python/servo/package_commands.py", line 792, in upload_nightly upload_to_github_release(platform, package, package_hash_fileobj) File "/home/runner/work/servo/servo/python/servo/package_commands.py", line 635, in upload_to_github_release package_hash_fileobj.getbuffer().nbytes, ``` This PR changes fixes the issue by creating fresh instances of io.BytesIO within the two upload_to_* methods. I've triggered a [manual nightly job](https://github.com/servo/servo/actions/runs/4686470246) based on this branch. This PR can be kept open until the build completes, in case other issues are surfaced. --- <!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `___` with appropriate data: --> - [x] `./mach build -d` does not report any errors - [x] `./mach test-tidy` does not report any errors - [ ] These changes fix #___ (GitHub issue number if applicable) <!-- Either: --> - [ ] There are tests for these changes OR - [x] These changes do not require tests because they fix an error in nightly CI Job
| * Fix nightly upload to GH release logic.Mukilan Thiyagarajan2023-04-131-5/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | The boto3 S3 client automatically closes the given fileobj after the transfer is complete. This prevents us from reusing the package_hash_fileobj between s3 and github upload methods. This PR changes fixes the issue by creating fresh instances of io.BytesIO within the upload_to_* methods. Signed-off-by: Mukilan Thiyagarajan <me@mukilan.in>
* | Auto merge of #29610 - mrobinson:notify, r=mukilanbors-servo2023-04-134-161/+56
|\ \ | |/ |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Use notify-py to send notifications - Use notify-py to send notifications, but use a custom notifier on Linux since transient (ie non-sticky) notifications are not supported. - Add an icon to the notification. - Don't send a notification after doing `./mach check` because that can trigger notifications when `rust-analyzer` is working. --- <!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `___` with appropriate data: --> - [x] `./mach build -d` does not report any errors - [x] `./mach test-tidy` does not report any errors - [x] These changes do not require tests because they just change build notifications. <!-- Also, please make sure that "Allow edits from maintainers" checkbox is checked, so that we can help you if you get stuck somewhere along the way.--> <!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->
| * Use notify-py to send notificationsMartin Robinson2023-04-134-161/+56
| | | | | | | | | | | | | | | | - Use notify-py to send notifications, but use a custom notifier on Linux since transient (ie non-sticky) notifications are not supported. - Add an icon to the notification. - Don't send a notification after doing `./mach check` because that can trigger notifications when `rust-analyzer` is working.
* | Upload nightly builds to Github ReleasesMukilan Thiyagarajan2023-04-122-14/+41
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This change extends the `mach upload-nightly` command to publish the nightly builds for all platforms as GH Release assets. The GH releases are made on a separate repository so that we can persist older nightly builds without having to accumulate git tags for them. Some design tradeoffs in this approach are: 1. To allow the 'latest' link from servo.org to remain stable, the release assets are named 'servo-latest.{ext}' instead of containing the release tag/date. 2. The release is created as draft and published atomically when all platforms have been built successfully. This allows us to link to the 'latest' alias from servo.org while gauranteeing that it contains builds for all platforms. The other option here would be to have code in servo.org UI that uses GH API to find the most recent release with a successful build for a given platform. 3. The tags in the nightly repo are all based on the same commit that has no relation to servo code base. Signed-off-by: Mukilan Thiyagarajan <me@mukilan.in>
* | Remove more Taskcluster and Treeherder integrationMartin Robinson2023-04-101-33/+5
| | | | | | | | | | Servo no longer uses Taskcluster and Treeherder, so this change removes script references to those services and support files.
* | Replace usage of six.moves.urllib with urllibMartin Robinson2023-04-107-26/+27
|/ | | | | | Also organize some of the imports. Now that Servo only uses Python 3, this module is unnecessary. This is part of the gradual migration to using only Python 3.
* Have all mach command accept "--with-layout-2020" and "--layout-2020"Martin Robinson2023-04-072-4/+4
| | | | | | Some command accepted one and some the other. This changes makes them all accept both so it's no longer necessary to remember which uses which.
* Remove a print statement mistakenly added in a previous changeMartin Robinson2023-03-281-1/+0
| | | | | This statement is totally unnecessary and interferes with the console commands which erase and rewrite the current tidy status.
* Merge forbidden panic check into test-tidyMartin Robinson2023-03-225-2/+26
| | | | | | | | | This cleans up the GitHub actions yaml a bit and ensures that developers are running this check locally before submitting changes. In addition, it allows adding tests for this check. Finally, this change fixes the tidy tests by upgrading voluptuous for Python 3.10 as well as by reverting an inadvertent change for NixOS compatibility on one of the dummy testing files.
* Auto merge of #29431 - sagudev:mtry, r=jdmbors-servo2023-03-211-0/+38
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add try command to mach & try build partitioned Adds `./mach try` command that enables anybody to easily test their changes without opening PR and requesting try from bors-servo, by force pushing HEAD to appropriate branch. Command accepts branches names to select only partial runs of CI (same like bors try command). So if you only want to test mac build (that would be `@bors-servo try=mac`) you run `./mach try mac`. If no job is specified, try branch is used. As partitioned CI jobs were not working after migration to GitHub Actions I remade them by using if guards. Also WPT jobs were failing due to empty `INTERMITTENT_TRACKER_DASHBOARD_SECRET` on my fork, so I added additional check to prevent failed run. And that concludes my work on #29379 🎉 --- <!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `___` with appropriate data: --> - [x] `./mach build -d` does not report any errors - [x] `./mach test-tidy` does not report any errors - [x] These changes fix #29379 <!-- Either: --> - [ ] There are tests for these changes OR - [x] These changes do not require tests because it's CI <!-- Also, please make sure that "Allow edits from maintainers" checkbox is checked, so that we can help you if you get stuck somewhere along the way.--> <!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->
| * mach try & partitioned try jobssagudev2023-03-211-0/+38
| |
* | Package and upload linux w/ layout-2020 engine.Mukilan Thiyagarajan2023-03-101-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | The layout-2020 variant will be consumed by the internal WPT trend [dashboard][1] only and won't be made available on servo.org. This change will be removed once the layout engine we will use going forward is finalized. [1]: https://servo.github.io/internal-wpt-dashboard/ Signed-off-by: Mukilan Thiyagarajan <me@mukilan.in>
* | Improve winit/mach segfault outputDelan Azabani2023-02-281-1/+4
|/
* Add cargo-fix and cargo-clippy to machsagudev2023-02-181-0/+48
|
* Warning instead of exception on unsupported Ubuntusagudev2023-02-171-1/+1
|
* Conditionally use certain GStreamer pluginsMartin Robinson2023-02-161-97/+112
| | | | | | | | | | | In old versions of GStreamer gstvideoconvertscale was split into two plugins, gstvideoscale and gstvideoconvert. This change makes the use of these three plugins conditional on their existence and has Windows use the two plugins from the older version of GStreamer. In addition, it starts to clean up the gstreamer.py file which is responsible for managing GStreamer libraries and plugins. This is the first change in a series of changes that seek to clean up the way these libraries are managed during the build.
* Auto merge of #29346 - mrobinson:aggregate-unexpected-logs, r=delanbors-servo2023-02-141-0/+3
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Aggregate unexpected results into logs This makes it easier to run `update-wpt` based on results from the bots by writing a new version of the raw log that filters out all tests with expected results. Then aggregate this output into the filtered results archive. A future version of this could aggregate all unexpected results that were not filtered as intermittents. <!-- Please describe your changes on the following line: --> --- <!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `___` with appropriate data: --> - [x] `./mach build -d` does not report any errors - [x] `./mach test-tidy` does not report any errors - [x] These changes do not require tests because they are infrastructure changes. <!-- Also, please make sure that "Allow edits from maintainers" checkbox is checked, so that we can help you if you get stuck somewhere along the way.--> <!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->
| * Aggregate unexpected results into logsMartin Robinson2023-02-141-0/+3
| | | | | | | | | | | | This makes it easier to run `update-wpt` based on results from the bots. A future version of this could aggregate all unexpected results that were not filtered as intermittents.
* | Update gst plugin for videoconvert & videoscale elementsMukilan Thiyagarajan2023-02-111-2/+1
|/
* wpt: Make WPT result formatting logic independent of ServoHandlerMartin Robinson2023-02-041-0/+1
| | | | | | | | This will allow results to be formatted by other parts of the code (such as the intermittent filtering) code. Previously, formatting was handled in ServoHandler, which was a bit strange as it's really only necessary for GroupingFormatter and the intermittent filtering code. This also allows the results to be properly typed by the Python typing system.
* Auto merge of #29294 - servo:integrate-filter-intermittents, r=delanbors-servo2023-01-271-114/+7
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | Integrate filter-intermittents into test-wpt This change integrates the `filter-intermittents` command into `test-wpt`. This is in preparation for future work on tracking intermittent failures. This change also: - Removes `ServoJsonFormatter` and replaces it with a generic WPT log handler which tracks unexpected results. - The intermittent filter is now controlled via environment variables and the GitHub version requires a token instead of credentials. - Output is saved to a single file and is always text. --- <!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `___` with appropriate data: --> - [x] `./mach build -d` does not report any errors - [x] `./mach test-tidy` does not report any errors - [x] These changes do not require tests because they are changes to build infrastructure.
| * Integrate filter-intermittents into test-wptMartin Robinson2023-01-241-114/+7
| | | | | | | | | | | | | | | | | | | | | | This change integrates the filter-intermittents command into test-wpt. This is in preparation for future work on tracking intermittent failures. This change also: - Removes the SrvoJson logger and replaces it with a generic WPT log handler which tracks unexpected results. - The intermittent filter is now controlled via environment variables and the GitHub version requires a token instead of credentials. - Output is saved to a single file and is always text.
* | Invalidate latest nightly files in CloudFront.Mukilan Thiyagarajan2023-01-261-1/+24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | After a new nightly build is uploaded to S3, bust the cache in CloudFront Edge servers with the CreateInvalidation AWS API. For each platform we use the `/nightly/<platform>/servo-latest.<ext>*` pattern to invalidate both package and sha256 files. As part of this change, a new policy has been attached to the "download.servo.org-uploads-from-travis" IAM user to allow the "cloudfront:CreateInvalidation" action. Since CloudFront [invalidates every version][1] of the cached file, regardless of the headers used for that version, this change should invalidate the different caches for 'Accept-Encoding' header. [1]: https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/Invalidation.html#invalidation-specifying-objects Closes #29034 Signed-off-by: Mukilan Thiyagarajan <mukilanthiagarajan@gmail.com>
* | Update clangfmt version.Josh Matthews2023-01-241-1/+1
| |
* | Update LLVM toolchain version for WindowsMukilan Thiyagarajan2023-01-241-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Windows MSCV nightly builds have been failing since Jan 18. The failure is similar to the one @delan identified where the CI build started to fail after the version of LLVM included in Github Actions runner images was bumped from 14 to 15. As discussed on Zulip, we already have support in ./mach bootstrap to download the LLVM binaries from our s3 bucket. Following the documented [process], new LLVM 15.0.5 binaries have been uploaded to S3. This PR updates the bootstrap script to use this new LLVM version. [process]: https://github.com/servo/servo/wiki/Upgrading-the-windows-LLVM-binaries Signed-off-by: Mukilan Thiyagarajan <mukilanthiagarajan@gmail.com>
* | Make `mach` work on Python 3.11Andreu Botella2023-01-221-1/+1
|/