Commit graph

45636 commits

Author SHA1 Message Date
bors-servo
c8d9aad3e3
Auto merge of #28880 - wusyong:fix-footer, r=delan
Fix absolute descendents being replaced when retreiving root

<!-- Please describe your changes on the following line: -->
The cause of #16410 is because calling `try_get_layout_root` will replace its `abs_descendants` even itself isn't absolute positioned. So I pushed them instead if the root isn't absolute. Also add a few docs and comments to help understand how block size of absolute flow is being calculated.

---
<!-- 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 #16410 (GitHub issue number if applicable)

<!-- Either: -->
- [x] There are tests for these changes:
Reduced testcase from the issue.
```html
<style>
  html {
    min-height: 100%;
    position: relative;
  }
  div {
    position: absolute;
    bottom: 0;
    width: 100%;
    height: 25px;
    border: 1px solid black;
  }
</style>
<div>
</div>
```

<!-- 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. -->
2023-01-18 08:18:39 +01:00
Delan Azabani
764dd87633 CI: clean up workflow names 2023-01-18 14:53:55 +08:00
Delan Azabani
d1355dffff update WPT expectations 2023-01-18 14:07:05 +08:00
Delan Azabani
5445db80af cargo update -p parking_lot_core 2023-01-18 13:55:09 +08:00
WPT Sync Bot
1c6b303ef2 Update web-platform-tests to revision b'2d7c53f5bc604132d2c83955537e454ee9c788c0' 2023-01-18 01:48:18 +00:00
bors-servo
8a96f4cd3b
Auto merge of #29247 - servo:dependabot/cargo/brotli-decompressor-2.3.4, r=jdm
Bump brotli-decompressor from 2.3.2 to 2.3.4

Bumps [brotli-decompressor](https://github.com/dropbox/rust-brotli-decompressor) from 2.3.2 to 2.3.4.
<details>
<summary>Commits</summary>
<ul>
<li>See full diff in <a href="https://github.com/dropbox/rust-brotli-decompressor/commits">compare view</a></li>
</ul>
</details>
<br />

[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=brotli-decompressor&package-manager=cargo&previous-version=2.3.2&new-version=2.3.4)](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>
2023-01-18 01:46:07 +01:00
bors-servo
f5740fad51
Auto merge of #29246 - servo:dependabot/cargo/nom-7.1.3, r=jdm
Bump nom from 7.1.1 to 7.1.3

Bumps [nom](https://github.com/Geal/nom) from 7.1.1 to 7.1.3.
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a href="https://github.com/rust-bakery/nom/blob/7.1.3/CHANGELOG.md">nom's changelog</a>.</em></p>
<blockquote>
<h2>7.1.3 - 2023-01-15</h2>
<h3>Thanks</h3>
<ul>
<li><a href="https://github.com/Shadow53"><code>@​Shadow53</code></a></li>
</ul>
<h3>Fixed</h3>
<ul>
<li>panic in <code>many</code> and <code>count</code> combinators when the output type is zero sized</li>
</ul>
<h2>7.1.2 - 2023-01-01</h2>
<h3>Thanks</h3>
<ul>
<li><a href="https://github.com/joubs"><code>@​joubs</code></a></li>
<li><a href="https://github.com/Fyko"><code>@​Fyko</code></a></li>
<li><a href="https://github.com/LoganDark"><code>@​LoganDark</code></a></li>
<li><a href="https://github.com/darnuria"><code>@​darnuria</code></a></li>
<li><a href="https://github.com/jkugelman"><code>@​jkugelman</code></a></li>
<li><a href="https://github.com/barower"><code>@​barower</code></a></li>
<li><a href="https://github.com/puzzlewolf"><code>@​puzzlewolf</code></a></li>
<li><a href="https://github.com/epage"><code>@​epage</code></a></li>
<li><a href="https://github.com/cky"><code>@​cky</code></a></li>
<li><a href="https://github.com/wolthom"><code>@​wolthom</code></a></li>
<li><a href="https://github.com/w1ll-i-code"><code>@​w1ll-i-code</code></a></li>
</ul>
<h3>Changed</h3>
<ul>
<li>documentation fixes</li>
<li>tests fixes</li>
<li>limit the initial capacity of the result vector of <code>many_m_n</code> to 64kiB</li>
<li>bits parser now accept <code>Parser</code> implementors instead of only functions</li>
</ul>
<h3>Added</h3>
<ul>
<li>implement <code>Tuple</code> parsing for the unit type as a special case</li>
<li>implement <code>ErrorConvert</code> on the unit type to make it usable as error type for bits parsers</li>
<li>bool parser for bits input</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="869f8972a4"><code>869f897</code></a> v7.1.3</li>
<li><a href="a534b39078"><code>a534b39</code></a> fix other uses of MAX_INITIAL_CAPACITY_BYTES</li>
<li><a href="ee7ad17086"><code>ee7ad17</code></a> avoid panic when counting zero-sized outputs in count() (<a href="https://github-redirect.dependabot.com/Geal/nom/issues/1618">#1618</a>)</li>
<li><a href="6be62d30d7"><code>6be62d3</code></a> v7.1.2 (<a href="https://github-redirect.dependabot.com/Geal/nom/issues/1605">#1605</a>)</li>
<li><a href="6860641f1b"><code>6860641</code></a> 1533 implement bool function for bits (<a href="https://github-redirect.dependabot.com/Geal/nom/issues/1534">#1534</a>)</li>
<li><a href="6e45c5d1f3"><code>6e45c5d</code></a> Remove duplicated section from error_management.md (<a href="https://github-redirect.dependabot.com/Geal/nom/issues/1529">#1529</a>)</li>
<li><a href="3c5e08cde0"><code>3c5e08c</code></a> <code>impl ErrorConvert\&lt;()&gt; for ()</code> (<a href="https://github-redirect.dependabot.com/Geal/nom/issues/1583">#1583</a>)</li>
<li><a href="9c357edae7"><code>9c357ed</code></a> Move the succ! macro to its own file (<a href="https://github-redirect.dependabot.com/Geal/nom/issues/1598">#1598</a>)</li>
<li><a href="9cff115667"><code>9cff115</code></a> Ensure all examples compile (<a href="https://github-redirect.dependabot.com/Geal/nom/issues/1604">#1604</a>)</li>
<li><a href="b66ff43eff"><code>b66ff43</code></a> fix(bits): Accept Parser, not parser-like functions (<a href="https://github-redirect.dependabot.com/Geal/nom/issues/1599">#1599</a>)</li>
<li>Additional commits viewable in <a href="https://github.com/Geal/nom/compare/7.1.1...7.1.3">compare view</a></li>
</ul>
</details>
<br />

[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=nom&package-manager=cargo&previous-version=7.1.1&new-version=7.1.3)](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>
2023-01-17 23:50:24 +01:00
bors-servo
619a46113f
Auto merge of #29239 - servo:dependabot/cargo/ab_glyph_rasterizer-0.1.8, r=jdm
Bump ab_glyph_rasterizer from 0.1.7 to 0.1.8

Bumps [ab_glyph_rasterizer](https://github.com/alexheretic/ab-glyph) from 0.1.7 to 0.1.8.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/alexheretic/ab-glyph/releases">ab_glyph_rasterizer's releases</a>.</em></p>
<blockquote>
<h2>ab-glyph-rasterizer-0.1.8</h2>
<ul>
<li>Do SIMD runtime detection only once on the first <code>Rasterizer::new</code> instead of on each.</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="aa0742d335"><code>aa0742d</code></a> Release ab_glyph_rasterizer 0.1.8</li>
<li><a href="0f13f4c8e1"><code>0f13f4c</code></a> Do SIMD runtime detection once using <code>std::sync::Once</code> (<a href="https://github-redirect.dependabot.com/alexheretic/ab-glyph/issues/71">#71</a>)</li>
<li><a href="ce85e135de"><code>ce85e13</code></a> Release ab_glyph 0.2.19</li>
<li><a href="be17472cd3"><code>be17472</code></a> Update ttf-parser to 0.18</li>
<li><a href="63cb3702b3"><code>63cb370</code></a> rustfmt doc comments</li>
<li><a href="d12ed25001"><code>d12ed25</code></a> Release ab_glyph 0.2.18</li>
<li><a href="3ae5c70912"><code>3ae5c70</code></a> Update ttf-parser to 0.17</li>
<li>See full diff in <a href="https://github.com/alexheretic/ab-glyph/compare/ab-glyph-rasterizer-0.1.7...ab-glyph-rasterizer-0.1.8">compare view</a></li>
</ul>
</details>
<br />

[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=ab_glyph_rasterizer&package-manager=cargo&previous-version=0.1.7&new-version=0.1.8)](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>
2023-01-17 21:40:00 +01:00
bors-servo
a8db596d1e
Auto merge of #29236 - servo:application-json, r=jdm
Allow displaying content with "application/json" mime type

For me this allows the WPT test
performance-timeline/tentative/include-frames-one-remote-child.sub.html
to match expected results. The wptserver is sending a 404 JSON response
because the URL that the test requests is not found.

<!-- 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 #29136.
- [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. -->
2023-01-17 19:13:38 +01:00
bors-servo
aaca4543fc
Auto merge of #29235 - servo:better-exceptions, r=jdm
Stringify unknown JavaScript objects in global exception handlers

When turning DOM exceptions into `ErrorInfo` always try to stringify
the JavaScript value, even if it's an object that isn't a `DOMException`
or native exception.  This means that exceptions that extend the `Error`
prototype are now stringified. The result is that test output for WPT
global assertion failures is more useful. For instance for the test
include-frames-from-child-same-origin-grandchild.sub.html:

Before:
```
uncaught exception: unknown (can't convert to string)
```

After:
```
uncaught exception: Error: assert_equals: expected 4 but got 3
```
---

<!-- 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.
2023-01-17 17:16:45 +01:00
bors-servo
a24dc77036
Auto merge of #29217 - mrobinson:upstream-wpt-changes, r=delan
Add a script to upstream WPT changes via a GitHub Action

This is a modified version of the webhook found at https://github.com/servo/upstream_wpt_webhook and deployed via SaltStack. It is updated to use modern Python and to assume that GitHub Actions will fetch the appropriate source code locally before the script is run.

---
- [x] `./mach build -d` does not report any errors
- [x] `./mach test-tidy` does not report any errors
- [x] These changes fix #29206 and #23798
- [x] There are tests for these changes
2023-01-17 13:35:25 +01:00
Martin Robinson
659597281b Add a script to upstream WPT changes via a GitHub Action
This is a modified version of the webhook found at
servo/upstream_wpt_webhook and deployed via SaltStack. It is updated to
use modern Python and to assume that GitHub Actions will fetch the
appropriate source code locally before the script is run.

Fixes #29206.
Fixes #23798.

Signed-off-by: Martin Robinson <mrobinson@igalia.com>
2023-01-17 11:49:56 +01:00
bors-servo
5a33a91bc9
Auto merge of #29238 - servo:ci-fail-install-deps, r=jdm
Fail faster on CI when Linux bootstrap fails

Raise an exception when dependencies fail to install. Also split the run phase of the Linux bootstrap so that either of these failing commands will cause the job to fail.

<!-- 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 minor script issues.
2023-01-17 11:43:47 +01:00
bors-servo
b52547b24e
Auto merge of #29226 - servo:wpt_update_11-01-2023, r=delan
Sync WPT with upstream (11-01-2023)

Automated downstream sync of changes from upstream as of 11-01-2023
[no-wpt-sync]
r? @servo-wpt-sync
2023-01-17 09:35:39 +01:00
bors-servo
f594b60ea5
Auto merge of #29244 - delan:disable-macos-wpt, r=mrobinson
CI: disable mac-wpt job in main workflow

In theory, the new mac-wpt jobs added in #29201 are harmless since they aren’t required for the main workflow to succeed, but in practice, the runners are so slow to assign and run that they break the build.

---
<!-- 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
- [x] These changes do not require tests because they affect the CI configuration
2023-01-17 03:36:36 +01:00
The Capyloon Team
a9c0479a48 Replace use of the deprecated RUST_SYMBOL_TO_JSID by SymbolId 2023-01-16 19:14:01 +00:00
dependabot[bot]
1d3a71d8d6
Bump truetype from 0.40.0 to 0.40.1
Bumps [truetype](https://github.com/bodoni/truetype) from 0.40.0 to 0.40.1.
- [Release notes](https://github.com/bodoni/truetype/releases)
- [Commits](https://github.com/bodoni/truetype/commits)

---
updated-dependencies:
- dependency-name: truetype
  dependency-type: indirect
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-01-16 16:33:34 +00:00
dependabot[bot]
6f70fabbfc
Bump brotli-decompressor from 2.3.2 to 2.3.4
Bumps [brotli-decompressor](https://github.com/dropbox/rust-brotli-decompressor) from 2.3.2 to 2.3.4.
- [Release notes](https://github.com/dropbox/rust-brotli-decompressor/releases)
- [Commits](https://github.com/dropbox/rust-brotli-decompressor/commits)

---
updated-dependencies:
- dependency-name: brotli-decompressor
  dependency-type: indirect
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-01-16 16:24:52 +00:00
dependabot[bot]
9974a8a4e8
Bump nom from 7.1.1 to 7.1.3
Bumps [nom](https://github.com/Geal/nom) from 7.1.1 to 7.1.3.
- [Release notes](https://github.com/Geal/nom/releases)
- [Changelog](https://github.com/rust-bakery/nom/blob/7.1.3/CHANGELOG.md)
- [Commits](https://github.com/Geal/nom/compare/7.1.1...7.1.3)

---
updated-dependencies:
- dependency-name: nom
  dependency-type: indirect
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-01-16 16:22:06 +00:00
Delan Azabani
f4400dcb54 CI: disable mac-wpt job in main workflow 2023-01-16 21:50:45 +08:00
bors-servo
76a5c5d7d2
Auto merge of #29237 - servo:simplify-wpt-run, r=jdm
Simplify Python code for running WPT tests

Combine `run.py` and `update.py` into `servowpt.py` in order to allow them to share code. Import them directly into the mach script to avoid having to call `compile` and `exec` on the code. This makes it clearer how they are executed. In addition, move all of the setup into `setupwpt.py` to avoid differences between tests executed via mach and not. Finally, be more ambitious when detecting the build to use. If none was specified, try to use the one that exists between "release" and "debug."

<!-- 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 only change a small script 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. -->
2023-01-16 10:22:46 +01:00
Martin Robinson
0d7284dc34 Allow displaying content with "application/json" mime type
For me this allows the WPT test
performance-timeline/tentative/include-frames-one-remote-child.sub.html
to match expected results. The wptserver is sending a 404 JSON response
because the URL that the test requests is not found.
2023-01-16 10:21:41 +01:00
dependabot[bot]
f9ef4027a1
Bump ab_glyph_rasterizer from 0.1.7 to 0.1.8
Bumps [ab_glyph_rasterizer](https://github.com/alexheretic/ab-glyph) from 0.1.7 to 0.1.8.
- [Release notes](https://github.com/alexheretic/ab-glyph/releases)
- [Commits](https://github.com/alexheretic/ab-glyph/compare/ab-glyph-rasterizer-0.1.7...ab-glyph-rasterizer-0.1.8)

---
updated-dependencies:
- dependency-name: ab_glyph_rasterizer
  dependency-type: indirect
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-01-13 16:31:30 +00:00
Martin Robinson
42c3d05d2b Simplify Python code for running WPT tests
Combine `run.py` and `update.py` into `servowpt.py` in order to allow
them to share code. Import them directly into the mach script to avoid
having to call `compile` and `exec` on the code. This makes it clearer
how they are executed. In addition, move all of the setup into
`setupwpt.py` to avoid differences between tests executed via mach and
not. Finally, be more ambitious when detecting the build to use. If none
was specified, try to use the one that exists between "release" and
"debug."
2023-01-13 16:23:52 +01:00
Martin Robinson
677414730b Fail faster on CI when Linux bootstrap fails
Raise an exception when dependencies fail to install. Also split the run
phase of the Linux bootstrap so that either of these failing commands
will cause the job to fail.
2023-01-13 15:29:58 +01:00
Martin Robinson
e68ebd2617 Stringify unknown JavaScript objects in global exception handlers
When turning DOM exceptions into `ErrorInfo` always try to stringify
the JavaScript value, even if it's an object that isn't a `DOMException`
or native exception.  This means that exceptions that extend the `Error`
prototype are now stringified. The result is that test output for WPT
global assertion failures is more useful. For instance for the test
include-frames-from-child-same-origin-grandchild.sub.html:

Before:
```
uncaught exception: unknown (can't convert to string)
```

After:
```
uncaught exception: Error: assert_equals: expected 4 but got 3
```
2023-01-12 19:57:51 +01:00
bors-servo
806db676b0
Auto merge of #29201 - delan:ci-mac-wpt, r=jdm
CI: run WPT tests on macOS

This patch uncomments and fixes the mac-wpt job in the main workflow, with a few changes:

* we downgrade python3 and pip3 to 3.9, because inspect.getargspec was [removed in 3.11](https://docs.python.org/3/whatsnew/3.11.html#removed)
    * we should apparently move to [inspect.getfullargspec](https://docs.python.org/3/library/inspect.html#inspect.getfullargspec)
* we download the real Servo artifact, rather than the fake Servo for testing

We also align the rest of the job (other than `--timeout-multiplier`) to be as close as possible to linux-wpt, based on the assumption that linux-wpt is more up to date. This includes:

* setting strategy.fail-fast to false
* adding a failure() condition to the “Archive logs” step
* adding the chunk id to log filenames

There are some failing WPT tests, so for now the job is not required to succeed.

Example run: <https://github.com/delan/servo/actions/runs/3837530905>

---

- [ ] ~~`./mach build -d` does not report any errors~~
- [ ] ~~`./mach test-tidy` does not report any errors~~
- [x] These changes fix #28284 (GitHub issue number if applicable)

<!-- Either: -->
- [ ] There are tests for these changes OR
- [x] These changes do not require tests because they affect the CI configuration
2023-01-12 14:23:47 +01:00
bors-servo
633f14df11
Auto merge of #29232 - delan:update-wpt-server-instructions, r=mrobinson
wpt: update README instructions about running tests manually

I wanted to run a single test many times in parallel to smoke out some timeouts, but this was surprisingly tricky. This involved running multiple instances of `mach test-wpt`, which in turn involved convincing wptrunner not to start a WPT server for each instance, which is not currently exposed as an option. I also eventually realised I needed to install a custom testharnessreport.js, but the instructions were very outdated, so most of the paths and commands etc had changed.

This patch adds a section about running `mach test-wpt` with an external WPT server, and updates the section about running tests manually.

---
<!-- 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
- [x] These changes do not require tests because they affect the wpt readme only
2023-01-12 05:41:22 +01:00
bors-servo
1a60636274
Auto merge of #29229 - servo:intermittent-video-poster, r=jdm
Fix intermittency when loading poster images

Wait until a poster image is cached to in order to unblock document load. If not, the document may continue loading before the image is ready to use, leading to intermittency in test output. Now load is unblocked when getting the ImageResponse from the cache, which allows the code to properly unblock the load when the entire load fails or succeeds.

This reveals several false passes in the `object-view-box` test suite which were very flaky.

<!-- 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 #29204.
- [x] These changes fix #29188.
- [x] These changes fix #29179.

<!-- Either: -->
- [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. -->
2023-01-12 02:04:09 +01:00
Delan Azabani
e8750f1012 clarify that config.json needs to go in tests/wpt/web-platform-tests 2023-01-11 22:39:49 +08:00
Delan Azabani
0185b6c4bf wpt: update README instructions about running tests manually 2023-01-11 22:31:24 +08:00
bors-servo
f9cbc1f0d9
Auto merge of #29231 - servo:fix-warnings, r=jdm
Fix some build warnings

- Mark some instances of unused fields and variables as as allowed, when they are used for memory management.
- Remove the use of some deprecated function.s

Signed-off-by: Martin Robinson <mrobinson@igalia.com>

<!-- 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. -->
2023-01-11 14:44:56 +01:00
Martin Robinson
c021df027a Fix some build warnings
- Mark some instances of unused fields and variables as as allowed,
  when they are used for memory management.
- Remove the use of some deprecated function.s

Signed-off-by: Martin Robinson <mrobinson@igalia.com>
2023-01-11 12:50:36 +01:00
Martin Robinson
6defd7011b Fix intermittency when loading poster images
Wait until a poster image is cached to in order to unblock document load. If
not, the document may continue loading before the image is ready to use,
leading to intermittency in test output. Now load is unblocked when
getting the ImageResponse from the cache, which allows the code to
properly unblock the load when the entire load fails or succeeds.

This reveals several false passes in the `object-view-box` test suite
which were very flaky.

Fixes #29204.
Fixes #29188.
Fixes #29179.

Signed-off-by: Martin Robinson <mrobinson@igalia.com>
2023-01-11 12:27:27 +01:00
bors-servo
ce92b7bfbd
Auto merge of #29222 - delan:mach-filter-intermittents-json, r=cybai
mach filter-intermittents: add progress and --json output mode

filter-intermittents takes a while, because it needs to look up each failure against the tracker api (or GitHub api), so it would be nice to know how long we’ll need to wait when running it interactively. The output is also pretty-printed in a format that’s not the easiest to analyse.

This patch adds some progress output (on stderr, one line with \\r), plus a --json output format as follows:

[{"test": "/path/to/foo", "output": "..."}, {"test": "/path/to/bar", "output": "..."}, ...]

---
<!-- 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
- [x] These changes do not require tests because they affect mach filter-intermittents only
2023-01-11 11:31:57 +01:00
bors-servo
c165536188
Auto merge of #29198 - delan:ci-remove-branch-check-jobs, r=jdm
CI: remove branch check steps that don’t actually do anything

f165e17ce2 (#28778) adds a step to each job of the main build that ostensibly bails out of the job, if the context branch is not `auto` or one of the `try` branches relevant for that platform. But a step that runs `exit 0` doesn’t really have any effect.

Since the main workflow already has `branches` limited to `auto` and the `try` branches, we can safely remove those steps without worrying about the main build running on dependabot branches etc. For example:

* [dependabot/cargo/nom-7.1.2](https://github.com/servo/servo/actions?query=branch%3Adependabot%2Fcargo%2Fnom-7.1.2) only has a run for the pull request workflow
* [this test build](https://github.com/delan/servo/actions/runs/3830596812/jobs/6518672884) shows that even if the branch check fails, the build continues

---

- [ ] ~~`./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
- [x] These changes do not require tests because they affect the CI configuration
2023-01-11 03:46:55 +01:00
WPT Sync Bot
fb586f68cc Update web-platform-tests to revision b'8ff38c54ff3fab31f862570a38e73755785ba7ee' 2023-01-11 02:40:26 +00:00
Delan Azabani
ab578bc4cf mach filter-intermittents: add progress and --json output mode 2023-01-10 17:35:01 +08:00
bors-servo
9a03911abf
Auto merge of #29221 - servo:wpt_update_10-01-2023, r=jdm
Sync WPT with upstream (10-01-2023)

Automated downstream sync of changes from upstream as of 10-01-2023
[no-wpt-sync]
r? @servo-wpt-sync
2023-01-09 21:55:01 -05:00
WPT Sync Bot
5d42981cb2 Update web-platform-tests to revision b'a0ddc451e02afbbe600c679fe1edab0e4f878ecf' 2023-01-10 02:48:34 +00:00
dependabot[bot]
b21a52af94
Bump schannel from 0.1.19 to 0.1.21
Bumps [schannel](https://github.com/steffengy/schannel-rs) from 0.1.19 to 0.1.21.
- [Release notes](https://github.com/steffengy/schannel-rs/releases)
- [Commits](https://github.com/steffengy/schannel-rs/compare/v0.1.19...v0.1.21)

---
updated-dependencies:
- dependency-name: schannel
  dependency-type: indirect
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-01-09 16:21:56 +00:00
bors-servo
3e77cbed63
Auto merge of #29213 - servo:wpt_update_09-01-2023, r=jdm
Sync WPT with upstream (09-01-2023)

Automated downstream sync of changes from upstream as of 09-01-2023
[no-wpt-sync]
r? @servo-wpt-sync
2023-01-08 20:41:00 -05:00
WPT Sync Bot
71255b8ef7 Update web-platform-tests to revision b'8e8075e9b5d932def46c3e36f41435baa9726a2f' 2023-01-09 01:36:13 +00:00
bors-servo
2a01e35f8c
Auto merge of #29212 - servo:wpt_update_08-01-2023, r=jdm
Sync WPT with upstream (08-01-2023)

Automated downstream sync of changes from upstream as of 08-01-2023
[no-wpt-sync]
r? @servo-wpt-sync
2023-01-08 08:14:38 -05:00
Josh Matthews
1185d0c5c8
remove intermittent result. 2023-01-08 08:14:12 -05:00
Josh Matthews
33ed47fd17
Remove intermittent result. 2023-01-08 01:02:38 -05:00
WPT Sync Bot
fd56698ec7 Update web-platform-tests to revision b'421155a1c8752a36b465e62f466b18f821190e08' 2023-01-08 01:57:36 +00:00
bors-servo
51a696afea
Auto merge of #29208 - servo:dependabot/cargo/try-lock-0.2.4, r=jdm
Bump try-lock from 0.2.2 to 0.2.4

Bumps [try-lock](https://github.com/seanmonstar/try-lock) from 0.2.2 to 0.2.4.
<details>
<summary>Commits</summary>
<ul>
<li><a href="3ec20adaf7"><code>3ec20ad</code></a> v0.2.4</li>
<li><a href="531bfce134"><code>531bfce</code></a> Remove Send and Sync autotraits from the lock guard (<a href="https://github-redirect.dependabot.com/seanmonstar/try-lock/issues/8">#8</a>)</li>
<li><a href="643b0eceb7"><code>643b0ec</code></a> v0.2.3</li>
<li><a href="a0fb2a10b2"><code>a0fb2a1</code></a> Add GitHub Actions for CI (<a href="https://github-redirect.dependabot.com/seanmonstar/try-lock/issues/5">#5</a>)</li>
<li><a href="f9b9abf6f1"><code>f9b9abf</code></a> deprecate <code>try_lock_order</code>, introduce <code>try_lock_explicit[_unchecked]</code> (<a href="https://github-redirect.dependabot.com/seanmonstar/try-lock/issues/3">#3</a>)</li>
<li><a href="9f3ba4e37b"><code>9f3ba4e</code></a> make the crate no-std (<a href="https://github-redirect.dependabot.com/seanmonstar/try-lock/issues/4">#4</a>)</li>
<li>See full diff in <a href="https://github.com/seanmonstar/try-lock/compare/v0.2.2...v0.2.4">compare view</a></li>
</ul>
</details>
<br />

[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=try-lock&package-manager=cargo&previous-version=0.2.2&new-version=0.2.4)](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>
2023-01-07 17:30:31 -05:00
dependabot[bot]
18c4257733
Bump try-lock from 0.2.2 to 0.2.4
Bumps [try-lock](https://github.com/seanmonstar/try-lock) from 0.2.2 to 0.2.4.
- [Release notes](https://github.com/seanmonstar/try-lock/releases)
- [Commits](https://github.com/seanmonstar/try-lock/compare/v0.2.2...v0.2.4)

---
updated-dependencies:
- dependency-name: try-lock
  dependency-type: indirect
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-01-06 16:18:10 +00:00
Delan Azabani
2d2668e6fd CI: fix nproc command not found on macOS 2023-01-05 15:22:25 +08:00