aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* 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 #29644 - mrobinson:rename-establishes-containing-block, r=delanbors-servo2023-04-233-6/+17
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Rename `ComputedValuesExt::establishes_containing_block` This renames the helper method to be a bit more accurate. For elements with static, relative, and sticky positioning, their containing block is always formed by their nearest block container ancestor. This method is really dealing with style that means an element will establish a containing block for absolutely positioned descendants. <!-- 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 do not change behavior. <!-- 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. -->
| * | Rename `ComputedValuesExt::establishes_containing_block`Martin Robinson2023-04-203-6/+17
| |/ | | | | | | | | | | | | | | This renames the helper method to be a bit more accurate. For elements with static, relative, and sticky positioning, their containing block is always formed by their nearest block container ancestor. This method is really dealing with style that means an element will establish a containing block for absolutely positioned descendants.
* | Auto merge of #29641 - CYBAI:fix-attr-checking, r=jdmbors-servo2023-04-233-9/+7
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Throw HierarchyRequest error for attr node in pre-insertion Based on Step 4 of https://dom.spec.whatwg.org/#concept-node-ensure-pre-insertion-validity, we should throw `HierarchyRequest` error when the node is not a [DocumentFragment](https://dom.spec.whatwg.org/#documentfragment), [DocumentType](https://dom.spec.whatwg.org/#documenttype), [Element](https://dom.spec.whatwg.org/#element), or [CharacterData](https://dom.spec.whatwg.org/#characterdata) [node](https://dom.spec.whatwg.org/#concept-node). Thus, Attr is not one of them; we should throw an error in this case. (I'm guessing it was a kind of typo in https://github.com/servo/servo/pull/25310 because we need to handle Attr with `unreachable` in line 1946) So, with doing so, we can fix the CRASH in `/dom/attributes-are-nodes.html`. --- - [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) - [x] There are tests for these changes
| * | Throw HierarchyRequest error for Attr in pre-insert and replacechildcybai2023-04-213-9/+7
| |/
* | Auto merge of #29648 - mukilan:download-build-deps-from-github, r=mrobinsonbors-servo2023-04-232-2/+2
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-202-2/+2
| |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-2352-887/+236
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-2052-887/+236
| |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* | Auto merge of #29657 - mrobinson:build-mac-with-dummy-media-stack, r=mukilanbors-servo2023-04-232-3/+7
|\ \ | |/ |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Build on Mac with the dummy media stack This is a temporary fix for broken GStreamer homebrew packages. Fixes #29653. <!-- 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 #29653. <!-- 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. -->
| * Build on Mac with the dummy media stackMartin Robinson2023-04-232-3/+7
|/ | | | | | This is a temporary fix for broken GStreamer homebrew packages. Fixes 29653.
* Auto merge of #29632 - sagudev:ci-cache-win, r=jdmbors-servo2023-04-191-0/+4
|\ | | | | | | | | | | | | | | Use ccache on windows workflow Because `sccache` is not working when setting `CCACHE=sccache` I used ccache which is taking cache hits. I would certainly love to share some timings, but I found out that windows builds have very inconsistent timings.
| * ccachesagudev2023-04-141-0/+4
| |
* | Auto merge of #29643 - mrobinson:try-to-fix-ci-failures, r=mukilanbors-servo2023-04-181-3/+0
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Try to fix the CI failures It seems that the WPT update process added an unintentional flake to the results. Fixes #29642. <!-- 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 fix #29642 - [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. -->
| * | Try to fix the CI failuresMartin Robinson2023-04-181-3/+0
|/ / | | | | | | | | | | | | It seems that the WPT update process added an unintentional flake to the results. Fixes #29642.
* | Auto merge of #29638 - mrobinson:fix-notify, r=mukilanbors-servo2023-04-171-2/+5
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Make errors during build status notification warnings Instead of raising an exception, simply print a warning on stderr when notification fails. Fixes #29635. <!-- 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 fix #29635 - [x] These changes do not require tests because they fix a minor tools 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. -->
| * | 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 #29636 - servo:wpt_update_16-04-2023, r=servo-wpt-syncbors-servo2023-04-16467-3166/+8266
|\ \ | | | | | | | | | | | | | | | | | | | | | Sync WPT with upstream (16-04-2023) Automated downstream sync of changes from upstream as of 16-04-2023 [no-wpt-sync] r? @servo-wpt-sync
| * | Update web-platform-tests to revision ↵WPT Sync Bot2023-04-16467-3166/+8266
|/ / | | | | | | b'f0b66362cc5dec54d81e0a56458b48f310a2eba9'
* | Auto merge of #29631 - mrobinson:correct-positioned-block-axis-calculation, ↵bors-servo2023-04-1410-28/+3
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | r=mrego Fix calculation of block axis for abspos elements in Layout 2020 The calculation of the block axis positioning of absolutely positioned elements was using the inline size of the containing block instead of the block size. <!-- 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. -->
| * | Fix calculation of block axis for abspos elementsMartin Robinson2023-04-1410-28/+3
| | | | | | | | | | | | | | | | | | The calculation of the block axis positioning of absolutely positioned elements was using the inline size of the containing block instead of the block size.
* | | Auto merge of #29627 - CYBAI:respect-headers-ct, r=mukilanbors-servo2023-04-144-148/+85
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Respect MIME type from headers instead of caching it Based on the spec, > A [Request](https://fetch.spec.whatwg.org/#request) object’s [MIME type](https://fetch.spec.whatwg.org/#concept-body-mime-type) is to return the result of [extracting a MIME type](https://fetch.spec.whatwg.org/#concept-header-extract-mime-type) from its [request](https://fetch.spec.whatwg.org/#concept-request-request)’s [header list](https://fetch.spec.whatwg.org/#concept-request-header-list). request and response should always return the MIME type from their header list. As we're currently caching the mime type directly, this PR will help to remove the caching field and always retrieve from headers instead. --- - [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) - [x] There are tests for these changes
| * | | Update steps comment to match latest (2023-04-14) speccybai2023-04-143-97/+81
| | | |
| * | | Respect MIME type from headers instead of caching itcybai2023-04-133-51/+4
| | | |
* | | | Auto merge of #29630 - sagudev:ci-win-gstream, r=jdmbors-servo2023-04-131-1/+8
|\ \ \ \ | | |_|/ | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Use GStreamer in Windows workflow I accidental came across https://github.com/servo/servo/projects/26 and can't helped but to fix one. (Few were already fixed but not closed). Test run: https://github.com/sagudev/servo/actions/runs/4687138840/jobs/8306052042 --- <!-- 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 #28277 <!-- Either: --> - [ ] There are tests for these changes OR - [x] These changes do not require tests because it is only 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. -->
| * | | Use GStreamer in Windows workflowsagudev2023-04-131-1/+8
| | | |
* | | | 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.
* | | | | Auto merge of #29623 - mrobinson:wpt-import-one-week, r=mukilanbors-servo2023-04-132-4/+4
|\ \ \ \ \ | |_|/ / / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Import WPT tests every week instead of every day We often have multiple imports stacked up which makes it more confusing to land each one. In addition, giving a week to do the import will give us more margin to triage failing tests and hopefully to be able to use intermittent expectations for flaky tests. <!-- 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 this just change the frequency of a scheduled action. <!-- 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. -->
| * | | | Import WPT tests every week instead of every dayMartin Robinson2023-04-122-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We often have multiple imports stacked up which makes it more confusing to land each one. In addition, giving a week to do the import will give us more margin to triage failing tests and hopefully to be able to use intermittent expectations for flaky tests.
* | | | | Auto merge of #29621 - mukilan:upload-nightly-to-gh-releases, r=mrobinsonbors-servo2023-04-126-17/+129
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Upload nightly builds to Github Releases 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. Example releases on a fork can be seen here: https://github.com/mukilan/servo-nightly-builds/releases/ Assets of the *latest* nightly releases will available at a stable url e.g for linux `https://github.com/mukilan/servo-nightly-builds/releases/latest/download/servo-latest.tar.gz` 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. --- - [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 extends the nightly CI job
| * | | | | Upload nightly builds to Github ReleasesMukilan Thiyagarajan2023-04-126-17/+129
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* | | | | | Auto merge of #29622 - mrobinson:upstream-wpt-non-utf8, r=jdmbors-servo2023-04-124-6/+42
|\ \ \ \ \ \ | |_|_|_|/ / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Handle non-UTF8 diffs in the WPT upstream script The output of `git diff` and `git show` can include non-UTF8 text or binary data, so the WPT upstream script should handle this properly. Fixes #29620. <!-- 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 fix #29620 - [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. -->
| * | | | | Handle non-UTF8 diffs in the WPT upstream scriptMartin Robinson2023-04-124-6/+42
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The output of `git diff` and `git show` can include non-UTF8 text or binary data, so the WPT upstream script should handle this properly. Fixes #29620.
* | | | | | Auto merge of #29616 - atouchet:red, r=jdmbors-servo2023-04-121-39/+12
|\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Dedupe redox_syscall 0.1 <!-- 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: --> - [ ] `./mach build -d` does not report any errors - [ ] `./mach test-tidy` does not report any errors - [ ] These changes fix #___ (GitHub issue number if applicable) <!-- Either: --> - [ ] There are tests for these changes OR - [ ] These changes do not require tests because ___ <!-- 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. -->
| * | | | | | Dedupe redox_syscall 0.1Alex Touchet2023-04-111-39/+12
| | |/ / / / | |/| | | |
* | | | | | Auto merge of #29594 - delan:minmax-positioned, r=mrobinsonbors-servo2023-04-1234-114/+241
|\ \ \ \ \ \ | |_|_|_|_|/ |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Handle min/max sizes in non-replaced positioned boxes This patch makes HoistedAbsolutelyPositionedBox handle min/max sizes in the non-replaced case, per CSS2 [#min-max-widths](https://drafts.csswg.org/css2/#min-max-widths) and [#min-max-heights](https://drafts.csswg.org/css2/#min-max-heights). No changes are made to the replaced case. 3 new tests: * /css/CSS2/positioning/absolute-non-replaced-max-001.html (fails under layout 2013) * /css/CSS2/positioning/absolute-non-replaced-min-001.html (fails under layout 2013) * /css/CSS2/positioning/absolute-non-replaced-min-max-001.html (passes under layout 2013) 13 tests now pass: * [/css/CSS2/positioning/absolute-non-replaced-max-height-002.xht](https://wpt.live/css/CSS2/positioning/absolute-non-replaced-max-height-002.xht) * [/css/CSS2/positioning/absolute-non-replaced-max-height-003.xht](https://wpt.live/css/CSS2/positioning/absolute-non-replaced-max-height-003.xht) * [/css/CSS2/positioning/absolute-non-replaced-max-height-007.xht](https://wpt.live/css/CSS2/positioning/absolute-non-replaced-max-height-007.xht) * [/css/CSS2/positioning/absolute-non-replaced-max-height-008.xht](https://wpt.live/css/CSS2/positioning/absolute-non-replaced-max-height-008.xht) * [/css/CSS2/positioning/absolute-non-replaced-max-height-009.xht](https://wpt.live/css/CSS2/positioning/absolute-non-replaced-max-height-009.xht) * [/css/CSS2/positioning/absolute-non-replaced-max-height-011.xht](https://wpt.live/css/CSS2/positioning/absolute-non-replaced-max-height-011.xht) * [/css/CSS2/positioning/absolute-non-replaced-width-025.xht](https://wpt.live/css/CSS2/positioning/absolute-non-replaced-width-025.xht) * [/css/CSS2/positioning/absolute-non-replaced-width-026.xht](https://wpt.live/css/CSS2/positioning/absolute-non-replaced-width-026.xht) * [/css/CSS2/positioning/abspos-change-in-inline-block.html](https://wpt.live/css/CSS2/positioning/abspos-change-in-inline-block.html) * [/css/CSS2/positioning/abspos-width-change-inline-container-001.html](https://wpt.live/css/CSS2/positioning/abspos-width-change-inline-container-001.html) * [/css/CSS2/positioning/detach-abspos-before-layout.html](https://wpt.live/css/CSS2/positioning/detach-abspos-before-layout.html) * [/css/CSS2/positioning/relpos-percentage-left-in-scrollable-2.html](https://wpt.live/css/CSS2/positioning/relpos-percentage-left-in-scrollable-2.html) * [/css/CSS2/positioning/relpos-percentage-left-in-scrollable.html](https://wpt.live/css/CSS2/positioning/relpos-percentage-left-in-scrollable.html) 11 tests would now pass if `<br>` was inserted between the two `<img>` tags in the reference (#29591): * [/css/CSS2/positioning/absolute-non-replaced-height-003.xht](https://wpt.live/css/CSS2/positioning/absolute-non-replaced-height-003.xht) * [/css/CSS2/positioning/absolute-non-replaced-height-004.xht](https://wpt.live/css/CSS2/positioning/absolute-non-replaced-height-004.xht) * [/css/CSS2/positioning/absolute-non-replaced-height-005.xht](https://wpt.live/css/CSS2/positioning/absolute-non-replaced-height-005.xht) * [/css/CSS2/positioning/absolute-non-replaced-height-010.xht](https://wpt.live/css/CSS2/positioning/absolute-non-replaced-height-010.xht) * [/css/CSS2/positioning/absolute-non-replaced-height-011.xht](https://wpt.live/css/CSS2/positioning/absolute-non-replaced-height-011.xht) * [/css/CSS2/positioning/absolute-non-replaced-height-012.xht](https://wpt.live/css/CSS2/positioning/absolute-non-replaced-height-012.xht) * [/css/CSS2/positioning/absolute-non-replaced-max-height-004.xht](https://wpt.live/css/CSS2/positioning/absolute-non-replaced-max-height-004.xht) * [/css/CSS2/positioning/absolute-non-replaced-max-height-005.xht](https://wpt.live/css/CSS2/positioning/absolute-non-replaced-max-height-005.xht) * [/css/CSS2/positioning/absolute-non-replaced-max-height-006.xht](https://wpt.live/css/CSS2/positioning/absolute-non-replaced-max-height-006.xht) * [/css/CSS2/positioning/absolute-non-replaced-max-height-010.xht](https://wpt.live/css/CSS2/positioning/absolute-non-replaced-max-height-010.xht) * [/css/CSS2/positioning/absolute-non-replaced-max-height-012.xht](https://wpt.live/css/CSS2/positioning/absolute-non-replaced-max-height-012.xht) 1 test continues to fail, but the expectation was out of date: * [/css/CSS2/positioning/relpos-percentage-top-in-scrollable.html](https://wpt.live/css/CSS2/positioning/relpos-percentage-top-in-scrollable.html) --- <!-- 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 - [ ] `./mach test-tidy` does not report any errors - [x] These changes contribute to #29592 <!-- Either: --> - [x] There are tests for these changes OR - [ ] These changes do not require tests because ___
| * | | | | Handle min/max sizes in non-replaced positioned boxesDelan Azabani2023-04-1234-114/+241
| | | | | |
* | | | | | Auto merge of #29619 - servo:wpt_update_12-04-2023, r=jdmbors-servo2023-04-12189-839/+3008
|\ \ \ \ \ \ | |/ / / / / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Sync WPT with upstream (12-04-2023) Automated downstream sync of changes from upstream as of 12-04-2023 [no-wpt-sync] r? @servo-wpt-sync
| * | | | | Update web-platform-tests to revision ↵WPT Sync Bot2023-04-12189-839/+3008
| | |_|/ / | |/| | | | | | | | | | | | | b'a877a8f14afc4b3a1d438cd5a9bfd7cd029111b7'
* | | | | Auto merge of #29618 - servo:split-and-merge-workflows, r=jdmbors-servo2023-04-123-3/+30
|\ \ \ \ \ | |/ / / / |/| | / / | | |/ / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Split quick check from pull request and rename WPT export actions Split out the quick check GitHub action (which is really only meant for forks). This prevents the quick check from running twice for PRs from branches on the upstream repository. Also rename the WPT export action file to make it clearer that it runs for pull requests. This change also means we no longer trigger builds when simply editing pull request body or title. <!-- 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 fix #29603 - [x] These changes do not require tests because this is just a reorganization of the workflow files. <!-- 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 the workflow files for pull requests a little.Martin Robinson2023-04-113-3/+30
|/ / / | | | | | | | | | | | | | | | | | | Split out the quick check GitHub action (which is really only meant for forks). This prevents the quick check from running twice for PRs from branches on the upstream repository. Also rename the WPT export action file to make it clearer that it runs for pull requests.
* | | Auto merge of #29601 - servo:debug-wpt-update-script, r=delanbors-servo2023-04-114-14/+58
|\ \ \ | |/ / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fix the WPT export script - Have the WPT exporter script use the WPT_SYNC_TOKEN for checking out wpt. - Make sure the local WPT repository is unshallow when pushing. - When searching for existing PRs use the main GitHub search API, as the pull request search does not seem to properly process the "head" parameter. - When deleting branches in the downstream WPT repository, use the full URL to avoid trying to modify the upstream repository. --- <!-- 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 OR <!-- 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. -->
| * | Fix the WPT export scriptMartin Robinson2023-04-114-14/+58
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - Have the WPT exporter script use the WPT_SYNC_TOKEN for checking out wpt. - Make sure the local WPT repository is unshallow when pushing. - When searching for existing PRs use the main GitHub search API, as the pull request search does not seem to properly process the "head" parameter. - When deleting branches in the downstream WPT repository, use the full URL to avoid trying to modify the upstream repository.
* | | Auto merge of #29615 - servo:fix-nightly-build, r=mrobinsonbors-servo2023-04-112-0/+5
|\ \ \ | |/ / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Pass S3 secrets for nightly builds and fix windows build <!-- Please describe your changes on the following line: --> Secrets need to be passed to reusable workflows either by name or by `secrets: inherit` from the caller workflow. The latter allows accessing all secrets in scope. Windows build has a bug where the upload-nightly command is not run from the correct working directory. [This manual build](https://github.com/servo/servo/actions/runs/4665552398) based on this branch has passed and the binaries have also been updated in servo.org for today. --- <!-- 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 #29614 <!-- Either: --> - [ ] There are tests for these changes OR - [x] These changes do not require tests because it fixes bug in CI configuration. <!-- 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. -->
| * | Pass S3 secrets for nightly builds and fix windows buildMukilan Thiyagarajan2023-04-112-0/+5
|/ / | | | | | | | | | | | | | | | | | | | | | | | | Secrets need to be passed to reusable workflows either by name or by `secrets: inherit` from the caller workflow. The latter allows accessing all secrets in scope. Windows build has a bug where the upload-nightly command is not run from the correct working directory. Closes #29614 Signed-off-by: Mukilan Thiyagarajan <me@mukilan.in>
* | Auto merge of #29611 - servo:dependabot/cargo/openssl-0.10.50, r=jdmbors-servo2023-04-111-4/+4
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Bump openssl from 0.10.49 to 0.10.50 Bumps [openssl](https://github.com/sfackler/rust-openssl) from 0.10.49 to 0.10.50. <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/sfackler/rust-openssl/commit/8395a89532e257eee6769f6e60b74bfb6cf951cc"><code>8395a89</code></a> Release openssl v0.10.50</li> <li><a href="https://github.com/sfackler/rust-openssl/commit/b03b9ea09b59da99b0e27b6753db33b93181fae8"><code>b03b9ea</code></a> Release openssl-sys v0.9.85</li> <li><a href="https://github.com/sfackler/rust-openssl/commit/a03a346d916bf1bca3997b4c8f13d68e0bb7b402"><code>a03a346</code></a> Merge pull request <a href="https://redirect.github.com/sfackler/rust-openssl/issues/1874">#1874</a> from vishwin/master</li> <li><a href="https://github.com/sfackler/rust-openssl/commit/1a52fa61a4ce49249c41cd77aa767dcacbac6279"><code>1a52fa6</code></a> Bump LibreSSL to 3.7.2</li> <li><a href="https://github.com/sfackler/rust-openssl/commit/f74b8e6f4ed8f0043d4198d80cb57f0888186a24"><code>f74b8e6</code></a> Merge pull request <a href="https://redirect.github.com/sfackler/rust-openssl/issues/1871">#1871</a> from haroldbruintjes/feature/cipher-inplace</li> <li><a href="https://github.com/sfackler/rust-openssl/commit/edf3a165c77f4fd66db483d72db960bbcc08db5a"><code>edf3a16</code></a> Add in-place cipher update method</li> <li><a href="https://github.com/sfackler/rust-openssl/commit/05ce5bc241a161627f962171e28695a172f7a266"><code>05ce5bc</code></a> Merge pull request <a href="https://redirect.github.com/sfackler/rust-openssl/issues/1870">#1870</a> from sfackler/alex-patch-1</li> <li><a href="https://github.com/sfackler/rust-openssl/commit/b8559cbaf81fa504c4811096153f73d1bb29bf2f"><code>b8559cb</code></a> whoops</li> <li><a href="https://github.com/sfackler/rust-openssl/commit/12a0de583988b33bdc728863ba393989132ad147"><code>12a0de5</code></a> Raise the minimum CC version</li> <li>See full diff in <a href="https://github.com/sfackler/rust-openssl/compare/openssl-v0.10.49...openssl-v0.10.50">compare view</a></li> </ul> </details> <br /> [![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=openssl&package-manager=cargo&previous-version=0.10.49&new-version=0.10.50)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) --- <details> <summary>Dependabot commands and options</summary> <br /> You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself) </details>