Commit graph

45781 commits

Author SHA1 Message Date
Mukilan Thiyagarajan
7ce693d505 Update gst plugin for videoconvert & videoscale elements 2023-02-11 10:19:59 +05:30
Martin Robinson
5b3f147110 Make two small improvements to try result comment
Sort the test names alphabetically so that they are stable between try
runs and also include the action URL in the comment when possible.
2023-02-10 16:50:53 +01:00
yvt
effd5a3107 fix(script): request animation ticks if Animations::pending_events is not empty
Fixes the test case `/_mozilla/css/css-transition-cancel-event
.html`, which was failing under a specific circumstance.

The observed sequence of events during the failing test run looks like
this:

1. Transitions start in `div1` and `div2`.

2. `div1` generates a `transitionend` event.

3. The `transitionend` event handler removes `div2` from DOM, cancelling
   its ongoing transition.

4. `div2` is supposed to generate a `transitioncancel` event in a timely
   manner, which it does not. The test fails as a result.

What is going on here? Here's a possible explaination:

1. During one invocation of `ScriptThread::handle_msgs`...

2. In step 2, `ScriptThread::update_animations_send_events` -> `Document
   ::update_for_new_timeline_value` detects the completion of the
   transition, and in response, pends the `transitionend` event.

3. In step 3, `ScriptThread::update_animations_send_events` ->
   `Animations::send_pending_events` calls the `transitionend` handler.

4. The `transitionend` event handler removes `div2`, thereby cancelling
   its ongoing transition and triggering a reflow.

5. Reflow takes place. During this, `Animations::do_post_reflow_update`
   -> `Animations::handle_canceled_animations` pends the
   `transitioncancel` event (precursor to step 4).

6. Having discovering that there was no running animation, `Animations::
   do_post_reflow_update` calls `self.update_running_animation_presence
   (_, false)`, which sends `AnimationState::NoAnimationsPresent`.

7. The invocation of `ScriptThread::handle_msgs` ends, and another
   starts. It blocks waiting for events.

8. Meanwhile, the compositor receives `AnimationState::
   NoAnimationsPresent` and stops further generation of animation ticks.

9. With no events to wake it up, the script thread is stuck waiting
   despite having the pending `transitioncancel` event (step 4).

The HTML specification [says][1] that "an event loop must continually
run [...] as long as it exists" and does not say it can block if there
is nothing to do. Blocking is merely optimization in a user agent
implementation. Pending animation-related events must be processed every
time a "rendering opportunity" arises unless the user agent has a reason
to believe that it "would have no visible effect".

Skipping the processing of animation-related events would have visible
effect if such events are indeed present. The correct implementation in
Servo, therefore, would be to request more animation ticks so that such
events are processed in a subsequent tick.

[1]: https://html.spec.whatwg.org/multipage/#event-loop-processing-model
2023-02-10 14:44:27 +01:00
yvt
af1b0b0f14 fix(script): update animation timeline before processing pending events
This commit reverses the order of the `send_pending_events` and
`update_animation_timeline` calls in `ScriptThread::update_animations_
send_events` so that animation-related events pended by the latter are
processed by the former.

The new calling order is more compliant with the "update animations and
send events" algorithm steps from [the Web Animations specification][1].

The old implementation was prone to blocking for an indefinite period
while holding pending events. Due to complex interaction with other
events and timing behavior, I was only able to reproduce the problem
under the following conditions:

- *The `maybe_observe_paint_time` call in `LayoutThread::compute_abs_
  pos_and_build_display_list` is removed from the code*. While
  performance events may seem irrelevant to the issue, they would
  bombard the script thread with events. *Any* extra messages received
  would unblock the event loop and prevent the manifestation of the
  issue. (But, of course, we aren't supposed to count on that to avoid
  the issue.)

- Servo is running in a headless mode, which somehow makes it less
  likely for the script thread to receive a `TickAllAnimations` event
  after sending `AnimationState::NoAnimationsPresent`.

With the above conditions met and the stars aligned, you can reproduce
the problem by running the WPT test `/css/css-transitions/events-001.
html`.

[1]: https://drafts.csswg.org/web-animations-1/#update-animations-and-send-events
2023-02-10 12:42:51 +01:00
Alex Touchet
d1c6a7ac1d Use crates.io release of raqote 2023-02-08 19:36:12 -08:00
dependabot[bot]
568f053217
Bump typed-arena from 2.0.1 to 2.0.2
Bumps [typed-arena](https://github.com/SimonSapin/rust-typed-arena) from 2.0.1 to 2.0.2.
- [Release notes](https://github.com/SimonSapin/rust-typed-arena/releases)
- [Changelog](https://github.com/SimonSapin/rust-typed-arena/blob/master/CHANGELOG.md)
- [Commits](https://github.com/SimonSapin/rust-typed-arena/compare/2.0.1...2.0.2)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-02-08 19:03:53 +00:00
bors-servo
aa2e1433d2
Auto merge of #29252 - servo:update-euclid, r=jdm
Bump euclid to 0.22

Major changes:

- All matrices are now stored in row major order. This means that parameters to rotation functions should no longer be negated.
- `post_...()` functions are now named `then()`. `pre_transform()` is removed, so `then()` is used and the order of operations changed.

In addition, this PR updates lyon_geom to the latest version.

<!-- 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 #27424
- [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-02-08 18:15:03 +01:00
dependabot[bot]
4644cbff7c
Bump libdbus-sys from 0.2.2 to 0.2.4
Bumps [libdbus-sys](https://github.com/diwic/dbus-rs) from 0.2.2 to 0.2.4.
- [Release notes](https://github.com/diwic/dbus-rs/releases)
- [Commits](https://github.com/diwic/dbus-rs/compare/libdbus-sys-v0.2.2...libdbus-sys-v0.2.4)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-02-07 16:47:00 +00:00
dependabot[bot]
873e2308d0
Bump spin from 0.9.4 to 0.9.5
Bumps [spin](https://github.com/mvdnes/spin-rs) from 0.9.4 to 0.9.5.
- [Release notes](https://github.com/mvdnes/spin-rs/releases)
- [Changelog](https://github.com/mvdnes/spin-rs/blob/master/CHANGELOG.md)
- [Commits](https://github.com/mvdnes/spin-rs/commits)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-02-07 16:44:38 +00:00
bors-servo
f04a466be7
Auto merge of #29315 - mrobinson:isolate-intermittents-2, r=delan
Output test results as GitHub comments

After filtering intermittents, output the results as JSON. Update the
GitHub workflow to aggregate this JSON data into an artifact and use the
aggregated data to generate a GitHub comment with details about the try
run. The idea here is that this comment will make it easier to track
intermittent tests and notice when a change affects a test marked as
intermittent -- either causing it to permanently fail or fixing it.

---
<!-- 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 modify the CI infrastructure.

<!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->
2023-02-07 09:31:55 +01:00
dependabot[bot]
7360af1763
Bump exr from 1.5.1 to 1.5.3
Bumps [exr](https://github.com/johannesvollmer/exrs) from 1.5.1 to 1.5.3.
- [Release notes](https://github.com/johannesvollmer/exrs/releases)
- [Commits](https://github.com/johannesvollmer/exrs/compare/v1.5.1...v1.5.3)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-02-06 16:27:57 +00:00
bors-servo
9c0592d6a4
Auto merge of #29329 - servo:wpt_update_06-02-2023, r=servo-wpt-sync
Sync WPT with upstream (06-02-2023)

Automated downstream sync of changes from upstream as of 06-02-2023
[no-wpt-sync]
r? @servo-wpt-sync
2023-02-06 02:34:01 +01:00
WPT Sync Bot
a0129273b8 Update web-platform-tests to revision b'dc3450e06f4e9dbac799d33d52e25b204f5a751c' 2023-02-06 01:33:49 +00:00
bors-servo
0231827fb4
Auto merge of #29327 - servo:wpt_update_05-02-2023, r=servo-wpt-sync
Sync WPT with upstream (05-02-2023)

Automated downstream sync of changes from upstream as of 05-02-2023
[no-wpt-sync]
r? @servo-wpt-sync
2023-02-05 02:51:00 +01:00
WPT Sync Bot
febcb80385 Update web-platform-tests to revision b'e0214318249f1b6ea09b837db6eac7b0facd1b52' 2023-02-05 01:50:48 +00:00
Martin Robinson
d2a66fef0c Output test results as a GitHub comment
After filtering intermittents, output the results as JSON. Update the
GitHub workflow to aggregate this JSON data into an artifact and use the
aggregated data to generate a GitHub comment with details about the try
run. The idea here is that this comment will make it easier to track
intermittent tests and notice when a change affects a test marked as
intermittent -- either causing it to permanently fail or fixing it.
2023-02-04 17:11:02 +01:00
bors-servo
3429e8fe3b
Auto merge of #29320 - mrobinson:grouping-formatter-pull-out-formatting, r=delan
wpt: Make WPT result formatting logic independent of ServoHandler

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.

<!-- 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 part of the testing infrastructure that is generally untested.
2023-02-04 15:05:11 +01:00
Martin Robinson
3543fd27f0 wpt: Make WPT result formatting logic independent of ServoHandler
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.
2023-02-04 15:03:44 +01:00
dependabot[bot]
3ba38e667a
Bump tinyvec_macros from 0.1.0 to 0.1.1
Bumps [tinyvec_macros](https://github.com/Soveu/tinyvec_macros) from 0.1.0 to 0.1.1.
- [Release notes](https://github.com/Soveu/tinyvec_macros/releases)
- [Commits](https://github.com/Soveu/tinyvec_macros/commits)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-02-03 16:07:47 +00:00
bors-servo
126f8f48e4
Auto merge of #29323 - mrobinson:aggregate-logs, r=jdm
ci: Produce a single WPT log artifact

GitHub supports adding files to an artifact in parallel, as long as the filenames are unique. This makes it easier to download build results when more than a single builder fails.

<!-- 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 is a small change to the 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. -->
2023-02-03 10:59:57 +01:00
bors-servo
5a4bfc39e3
Auto merge of #29319 - servo:dependabot/cargo/unicode-segmentation-1.10.1, r=jdm
Bump unicode-segmentation from 1.9.0 to 1.10.1

Bumps [unicode-segmentation](https://github.com/unicode-rs/unicode-segmentation) from 1.9.0 to 1.10.1.
<details>
<summary>Commits</summary>
<ul>
<li>See full diff in <a href="https://github.com/unicode-rs/unicode-segmentation/commits/v1.10.1">compare view</a></li>
</ul>
</details>
<br />

[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=unicode-segmentation&package-manager=cargo&previous-version=1.9.0&new-version=1.10.1)](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-02-03 07:23:51 +01:00
bors-servo
0dd7e4e772
Auto merge of #29322 - mrobinson:tidy-sooner, r=jdm
Run `test-tidy` sooner for pull requests

This lets the builder fail sooner when there is an issue with the style.

<!-- 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 a small change to the CI.
2023-02-03 01:38:09 +01:00
Martin Robinson
cc1ccf8aff ci: Produce a single WPT log artifact
GitHub supports adding files to an artifact in parallel, as long as the
filenames are unique. This makes it easier to download build results
when more than a single builder fails.
2023-02-02 15:54:04 +01:00
Martin Robinson
37e0b6feb8 Run test-tidy sooner for pull requests
This lets the builder fail sooner when there is an issue
with the style.
2023-02-02 15:42:31 +01:00
bors-servo
d581131f1c
Auto merge of #29318 - mukilan:upgrade-nightly-2023-02-01, r=delan
Upgrade the Rust toolchain to 'nightly-2023-02-01'

<!-- Please describe your changes on the following line: -->

This change should address the failing nightly [rustc test jobs](https://github.com/servo/servo/actions/workflows/nightly-rust.yml)

For reference, these are the [relevant](https://github.com/rust-lang/rust/pull/107206) [PRs](https://github.com/rust-lang/rust/pull/104170) in rustc that I could find.

Signed-off-by: Mukilan Thiyagarajan <mukilanthiagarajan@gmail.com>

---
<!-- 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 there are existing unit tests for script_plugins that do pass.

<!-- 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-02-02 13:53:44 +01:00
bors-servo
eb5c79243f
Auto merge of #29321 - servo:wpt_update_02-02-2023, r=servo-wpt-sync
Sync WPT with upstream (02-02-2023)

Automated downstream sync of changes from upstream as of 02-02-2023
[no-wpt-sync]
r? @servo-wpt-sync
2023-02-02 02:55:54 +01:00
WPT Sync Bot
ec63c43030 Update web-platform-tests to revision b'd1192ca239e944dc6cdbcd079e1c16227e08e30c' 2023-02-02 01:55:40 +00:00
bors-servo
69b272b4e1
Auto merge of #29317 - delan:structured-subtest-results, r=mrobinson
wpt: retain raw results for unexpected tests and subtests

ServoHandler currently processes the raw results for unexpected tests and subtests on the fly, discarding the test_end (test) or test_status (subtest) event data once it has generated output for the events.

This patch retains that event data in ServoHandler.test_failures and ServoHandler.subtest_failures, allowing servowpt.py to send structured data about unexpected tests and subtests to the dashboard (servo/intermittent-tracker#5), e.g.

```diff
diff --git a/tests/wpt/servowpt.py b/tests/wpt/servowpt.py
index fee6dcf2df..ac3e46e36d 100644
--- a/tests/wpt/servowpt.py
+++ b/tests/wpt/servowpt.py
@@ -27,6 +27,7 @@ import update  # noqa: F401,E402

 TRACKER_API = "https://build.servo.org/intermittent-tracker"
 TRACKER_API_ENV_VAR = "INTERMITTENT_TRACKER_API"
+TRACKER_DASHBOARD_SECRET_ENV_VAR = "INTERMITTENT_TRACKER_DASHBOARD_SECRET"
 GITHUB_API_TOKEN_ENV_VAR = "INTERMITTENT_TRACKER_GITHUB_API_TOKEN"

@@ -145,6 +146,48 @@ def run_tests(**kwargs):
     logger.add_handler(handler)

     wptrunner.run_tests(**kwargs)
+
+    if TRACKER_DASHBOARD_SECRET_ENV_VAR in os.environ:
+        body = []
+        for failure in handler.test_failures:
+            # print(f'>>> {repr(failure)}')
+            body.append({
+                'path': failure['test'],
+                'subtest': None,
+                'expected': failure['expected'],
+                'actual': failure['status'],
+                'time': failure['time'] // 1000,
+                'message': failure.get('message'),
+                'stack': failure.get('stack'),
+                'branch': os.environ.get('SERVO_BRANCH'),
+                'build_url': os.environ.get('SERVO_BUILD_URL'),
+                'pull_url': os.environ.get('SERVO_PULL_URL'),
+            })
+        for (path, failures) in handler.subtest_failures.items():
+            for failure in failures:
+                # print(f'>>> {repr(failure)}')
+                body.append({
+                    'path': path,
+                    'subtest': failure['subtest'],
+                    'expected': failure['expected'],
+                    'actual': failure['status'],
+                    'time': failure['time'] // 1000,
+                    'message': failure.get('message'),
+                    'stack': failure.get('stack'),
+                    'branch': os.environ.get('SERVO_BRANCH'),
+                    'build_url': os.environ.get('SERVO_BUILD_URL'),
+                    'pull_url': os.environ.get('SERVO_PULL_URL'),
+                })
+        request = urllib.request.Request(
+            f'{os.environ.get(TRACKER_API_ENV_VAR, TRACKER_API)}/dashboard/attempts',
+            method='POST',
+            data=json.dumps(body).encode('utf-8'),
+            headers={
+                'Authorization': f'Bearer {os.environ[TRACKER_DASHBOARD_SECRET_ENV_VAR]}',
+                'Content-Type': 'application/json',
+            })
+        urllib.request.urlopen(request)
+
     if handler.unexpected_results and filter_intermittents_output:
         all_filtered = filter_intermittents(
             handler.unexpected_results,
```

---
<!-- 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 ___
2023-02-01 17:35:52 +01:00
dependabot[bot]
50c9a11fc3
Bump unicode-segmentation from 1.9.0 to 1.10.1
Bumps [unicode-segmentation](https://github.com/unicode-rs/unicode-segmentation) from 1.9.0 to 1.10.1.
- [Release notes](https://github.com/unicode-rs/unicode-segmentation/releases)
- [Commits](https://github.com/unicode-rs/unicode-segmentation/commits/v1.10.1)

---
updated-dependencies:
- dependency-name: unicode-segmentation
  dependency-type: indirect
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-02-01 16:25:52 +00:00
Mukilan Thiyagarajan
5738a16dcb Upgrade the Rust toolchain to 'nightly-2023-02-01'
Signed-off-by: Mukilan Thiyagarajan <mukilanthiagarajan@gmail.com>
2023-02-01 19:38:06 +05:30
Delan Azabani
beab561eea retain raw test_end events for failing tests without subtests 2023-02-01 19:23:19 +08:00
Delan Azabani
0a5ae8e938 wpt: structured subtest results 2023-02-01 16:50:52 +08:00
dependabot[bot]
5ac5a62a99
Bump futures-channel from 0.3.25 to 0.3.26
Bumps [futures-channel](https://github.com/rust-lang/futures-rs) from 0.3.25 to 0.3.26.
- [Release notes](https://github.com/rust-lang/futures-rs/releases)
- [Changelog](https://github.com/rust-lang/futures-rs/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rust-lang/futures-rs/compare/0.3.25...0.3.26)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-01-31 16:22:47 +00:00
bors-servo
4aac7e4d3c
Auto merge of #29313 - servo:wpt_update_31-01-2023, r=servo-wpt-sync
Sync WPT with upstream (31-01-2023)

Automated downstream sync of changes from upstream as of 31-01-2023
[no-wpt-sync]
r? @servo-wpt-sync
2023-01-31 04:56:27 +01:00
WPT Sync Bot
48c9556bb6 Update web-platform-tests to revision b'94be51cc50986018ab25e8a952bf234862ef3e5f' 2023-01-31 01:40:55 +00:00
bors-servo
400d0af63d
Auto merge of #29311 - servo:dependabot/cargo/futures-channel-0.3.25, r=jdm
Bump futures-channel from 0.3.21 to 0.3.25

Bumps [futures-channel](https://github.com/rust-lang/futures-rs) from 0.3.21 to 0.3.25.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/rust-lang/futures-rs/releases">futures-channel's releases</a>.</em></p>
<blockquote>
<h2>0.3.25</h2>
<ul>
<li>Fix soundness issue in <code>join!</code> and <code>try_join!</code> macros (<a href="https://github-redirect.dependabot.com/rust-lang/futures-rs/issues/2649">#2649</a>)</li>
<li>Implement <code>Clone</code> for <code>sink::Drain</code> (<a href="https://github-redirect.dependabot.com/rust-lang/futures-rs/issues/2650">#2650</a>)</li>
</ul>
<h2>0.3.24</h2>
<ul>
<li>Fix incorrect termination of <code>select_with_strategy</code> streams (<a href="https://github-redirect.dependabot.com/rust-lang/futures-rs/issues/2635">#2635</a>)</li>
</ul>
<h2>0.3.23</h2>
<ul>
<li>Work around MSRV increase due to a cargo bug.</li>
</ul>
<h2>0.3.22</h2>
<ul>
<li>Fix <code>Sync</code> impl of <code>BiLockGuard</code> (<a href="https://github-redirect.dependabot.com/rust-lang/futures-rs/issues/2570">#2570</a>)</li>
<li>Fix partial iteration in <code>FuturesUnordered</code> (<a href="https://github-redirect.dependabot.com/rust-lang/futures-rs/issues/2574">#2574</a>)</li>
<li>Fix false detection of inner panics in <code>Shared</code> (<a href="https://github-redirect.dependabot.com/rust-lang/futures-rs/issues/2576">#2576</a>)</li>
<li>Add <code>Mutex::lock_owned</code> and <code>Mutex::try_lock_owned</code> (<a href="https://github-redirect.dependabot.com/rust-lang/futures-rs/issues/2571">#2571</a>)</li>
<li>Add <code>io::copy_buf_abortable</code> (<a href="https://github-redirect.dependabot.com/rust-lang/futures-rs/issues/2507">#2507</a>)</li>
<li>Remove <code>Unpin</code> bound from <code>TryStreamExt::into_async_read</code> (<a href="https://github-redirect.dependabot.com/rust-lang/futures-rs/issues/2599">#2599</a>)</li>
<li>Make <code>run_until_stalled</code> handle self-waking futures (<a href="https://github-redirect.dependabot.com/rust-lang/futures-rs/issues/2593">#2593</a>)</li>
<li>Use <code>FuturesOrdered</code> in <code>try_join_all</code> (<a href="https://github-redirect.dependabot.com/rust-lang/futures-rs/issues/2556">#2556</a>)</li>
<li>Fix orderings in <code>LocalPool</code> waker (<a href="https://github-redirect.dependabot.com/rust-lang/futures-rs/issues/2608">#2608</a>)</li>
<li>Fix <code>stream::Chunk</code> adapters size hints (<a href="https://github-redirect.dependabot.com/rust-lang/futures-rs/issues/2611">#2611</a>)</li>
<li>Add <code>push_front</code> and <code>push_back</code> to <code>FuturesOrdered</code> (<a href="https://github-redirect.dependabot.com/rust-lang/futures-rs/issues/2591">#2591</a>)</li>
<li>Deprecate <code>FuturesOrdered::push</code> in favor of <code>FuturesOrdered::push_back</code> (<a href="https://github-redirect.dependabot.com/rust-lang/futures-rs/issues/2591">#2591</a>)</li>
<li>Performance improvements (<a href="https://github-redirect.dependabot.com/rust-lang/futures-rs/issues/2583">#2583</a>, <a href="https://github-redirect.dependabot.com/rust-lang/futures-rs/issues/2626">#2626</a>)</li>
<li>Documentation improvements (<a href="https://github-redirect.dependabot.com/rust-lang/futures-rs/issues/2579">#2579</a>, <a href="https://github-redirect.dependabot.com/rust-lang/futures-rs/issues/2604">#2604</a>, <a href="https://github-redirect.dependabot.com/rust-lang/futures-rs/issues/2613">#2613</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a href="https://github.com/rust-lang/futures-rs/blob/master/CHANGELOG.md">futures-channel's changelog</a>.</em></p>
<blockquote>
<h1>0.3.25 - 2022-10-20</h1>
<ul>
<li>Fix soundness issue in <code>join!</code> and <code>try_join!</code> macros (<a href="https://github-redirect.dependabot.com/rust-lang/futures-rs/issues/2649">#2649</a>)</li>
<li>Implement <code>Clone</code> for <code>sink::Drain</code> (<a href="https://github-redirect.dependabot.com/rust-lang/futures-rs/issues/2650">#2650</a>)</li>
</ul>
<h1>0.3.24 - 2022-08-29</h1>
<ul>
<li>Fix incorrect termination of <code>select_with_strategy</code> streams (<a href="https://github-redirect.dependabot.com/rust-lang/futures-rs/issues/2635">#2635</a>)</li>
</ul>
<h1>0.3.23 - 2022-08-14</h1>
<ul>
<li>Work around MSRV increase due to a cargo bug.</li>
</ul>
<h1>0.3.22 - 2022-08-14</h1>
<ul>
<li>Fix <code>Sync</code> impl of <code>BiLockGuard</code> (<a href="https://github-redirect.dependabot.com/rust-lang/futures-rs/issues/2570">#2570</a>)</li>
<li>Fix partial iteration in <code>FuturesUnordered</code> (<a href="https://github-redirect.dependabot.com/rust-lang/futures-rs/issues/2574">#2574</a>)</li>
<li>Fix false detection of inner panics in <code>Shared</code> (<a href="https://github-redirect.dependabot.com/rust-lang/futures-rs/issues/2576">#2576</a>)</li>
<li>Add <code>Mutex::lock_owned</code> and <code>Mutex::try_lock_owned</code> (<a href="https://github-redirect.dependabot.com/rust-lang/futures-rs/issues/2571">#2571</a>)</li>
<li>Add <code>io::copy_buf_abortable</code> (<a href="https://github-redirect.dependabot.com/rust-lang/futures-rs/issues/2507">#2507</a>)</li>
<li>Remove <code>Unpin</code> bound from <code>TryStreamExt::into_async_read</code> (<a href="https://github-redirect.dependabot.com/rust-lang/futures-rs/issues/2599">#2599</a>)</li>
<li>Make <code>run_until_stalled</code> handle self-waking futures (<a href="https://github-redirect.dependabot.com/rust-lang/futures-rs/issues/2593">#2593</a>)</li>
<li>Use <code>FuturesOrdered</code> in <code>try_join_all</code> (<a href="https://github-redirect.dependabot.com/rust-lang/futures-rs/issues/2556">#2556</a>)</li>
<li>Fix orderings in <code>LocalPool</code> waker (<a href="https://github-redirect.dependabot.com/rust-lang/futures-rs/issues/2608">#2608</a>)</li>
<li>Fix <code>stream::Chunk</code> adapters size hints (<a href="https://github-redirect.dependabot.com/rust-lang/futures-rs/issues/2611">#2611</a>)</li>
<li>Add <code>push_front</code> and <code>push_back</code> to <code>FuturesOrdered</code> (<a href="https://github-redirect.dependabot.com/rust-lang/futures-rs/issues/2591">#2591</a>)</li>
<li>Deprecate <code>FuturesOrdered::push</code> in favor of <code>FuturesOrdered::push_back</code> (<a href="https://github-redirect.dependabot.com/rust-lang/futures-rs/issues/2591">#2591</a>)</li>
<li>Performance improvements (<a href="https://github-redirect.dependabot.com/rust-lang/futures-rs/issues/2583">#2583</a>, <a href="https://github-redirect.dependabot.com/rust-lang/futures-rs/issues/2626">#2626</a>)</li>
<li>Documentation improvements (<a href="https://github-redirect.dependabot.com/rust-lang/futures-rs/issues/2579">#2579</a>, <a href="https://github-redirect.dependabot.com/rust-lang/futures-rs/issues/2604">#2604</a>, <a href="https://github-redirect.dependabot.com/rust-lang/futures-rs/issues/2613">#2613</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="77d82198c5"><code>77d8219</code></a> Release 0.3.25</li>
<li><a href="44dc9ef033"><code>44dc9ef</code></a> Fix soundness hole in join macros (<a href="https://github-redirect.dependabot.com/rust-lang/futures-rs/issues/2649">#2649</a>)</li>
<li><a href="521f2ae50b"><code>521f2ae</code></a> Implement <code>Clone</code> for <code>Drain</code> (<a href="https://github-redirect.dependabot.com/rust-lang/futures-rs/issues/2650">#2650</a>)</li>
<li><a href="5364e6c086"><code>5364e6c</code></a> Fix clippy::unnecessary_cast warning</li>
<li><a href="485875f100"><code>485875f</code></a> Ignore unreachable_pub lint</li>
<li><a href="624a7ec917"><code>624a7ec</code></a> Update no_atomic_cas.rs</li>
<li><a href="8d2f385454"><code>8d2f385</code></a> Remove some double trait bounds (<a href="https://github-redirect.dependabot.com/rust-lang/futures-rs/issues/2645">#2645</a>)</li>
<li><a href="0118f5c8f8"><code>0118f5c</code></a> Fix CI (<a href="https://github-redirect.dependabot.com/rust-lang/futures-rs/issues/2644">#2644</a>)</li>
<li><a href="174cb01d5b"><code>174cb01</code></a> Release 0.3.24</li>
<li><a href="ce6bee08c7"><code>ce6bee0</code></a> Update no_atomic_cas.rs</li>
<li>Additional commits viewable in <a href="https://github.com/rust-lang/futures-rs/compare/0.3.21...0.3.25">compare view</a></li>
</ul>
</details>
<br />

[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=futures-channel&package-manager=cargo&previous-version=0.3.21&new-version=0.3.25)](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-30 23:03:07 +01:00
dependabot[bot]
4a9e56178e
Bump futures-channel from 0.3.21 to 0.3.25
Bumps [futures-channel](https://github.com/rust-lang/futures-rs) from 0.3.21 to 0.3.25.
- [Release notes](https://github.com/rust-lang/futures-rs/releases)
- [Changelog](https://github.com/rust-lang/futures-rs/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rust-lang/futures-rs/compare/0.3.21...0.3.25)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-01-30 16:11:51 +00:00
bors-servo
fbc2ac00fb
Auto merge of #29308 - servo:wpt_update_30-01-2023, r=servo-wpt-sync
Sync WPT with upstream (30-01-2023)

Automated downstream sync of changes from upstream as of 30-01-2023
[no-wpt-sync]
r? @servo-wpt-sync
2023-01-30 05:09:23 +01:00
WPT Sync Bot
a8371a92fd Update web-platform-tests to revision b'8c2b82d9aa621baeecb06fb346dbce0d19945861' 2023-01-30 01:34:14 +00:00
bors-servo
623e741885
Auto merge of #29307 - servo:wpt_update_29-01-2023, r=servo-wpt-sync
Sync WPT with upstream (29-01-2023)

Automated downstream sync of changes from upstream as of 29-01-2023
[no-wpt-sync]
r? @servo-wpt-sync
2023-01-29 02:42:40 +01:00
WPT Sync Bot
879f987fc2 Update web-platform-tests to revision b'7b1babebddf2f0fdd866fa8b83b8621b86590fc9' 2023-01-29 01:42:28 +00:00
bors-servo
5baf417a51
Auto merge of #29306 - servo:wpt_update_28-01-2023, r=jdm
Sync WPT with upstream (28-01-2023)

Automated downstream sync of changes from upstream as of 28-01-2023
[no-wpt-sync]
r? @servo-wpt-sync
2023-01-28 14:11:50 +01:00
Josh Matthews
a128b63088
Remove intermittent timeout. 2023-01-28 01:21:29 -05:00
Josh Matthews
4e7856f33b
Remove intermittent timeout. 2023-01-28 01:20:46 -05:00
WPT Sync Bot
32cc2e03c4 Update web-platform-tests to revision b'544363de4568baf9ae90d71e4822661edc546650' 2023-01-28 01:52:20 +00:00
bors-servo
4d5a804d03
Auto merge of #29294 - servo:integrate-filter-intermittents, r=delan
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.
2023-01-27 15:43:47 +01:00
bors-servo
9dfae50c5e
Auto merge of #29300 - servo:wpt_update_26-01-2023, r=jdm
Sync WPT with upstream (26-01-2023)

Automated downstream sync of changes from upstream as of 26-01-2023
[no-wpt-sync]
r? @servo-wpt-sync
2023-01-26 17:14:46 +01:00
bors-servo
5a0b67cfc4
Auto merge of #29303 - servo:invalidate-latest-nightly-from-cloudfront, r=mrobinson
Invalidate latest nightly files in CloudFront.

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

---
<!-- 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 #29034

<!-- Either: -->
- [ ] There are tests for these changes OR
- [x] These changes do not require tests because they update nightly upload process. Changes have been *partially* validated using [manual run ](https://github.com/servo/servo/actions/runs/4012975660/jobs/6892315365)

<!-- 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-26 15:23:21 +01:00
Mukilan Thiyagarajan
e4764e7661 Invalidate latest nightly files in CloudFront.
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>
2023-01-26 18:15:37 +05:30
Martin Robinson
423cc34cb0 Bump euclid to 0.22
- Also updates raqote to latest with an upgrade of font-kit to 0.11
  applied on as a patch
- Update lyon_geom to the latest version

Major change:

- All matrices are now stored in row major order. This means that
  parameters to rotation functions no longer should be negated.
- `post_...()` functions are now named `then()`. `pre_transform()` is removed,
  so `then()` is used and the order of operations changed.
2023-01-26 08:59:21 +01:00