Commit graph

101 commits

Author SHA1 Message Date
Martin Robinson
2c719e2e92 intermittent dashboard: Actually send results to the dashboard
This change adds the secret to the environment, which should trigger the
filtering intermittents script to actually upload new results to the
intermittent dashboard instead of simply querying.
2023-02-20 12:52:34 +01:00
Martin Robinson
5c9156e3ee Aggregate unexpected results into logs
This makes it easier to run `update-wpt` based on results from the bots.
A future version of this could aggregate all unexpected results that
were not filtered as intermittents.
2023-02-14 15:44:34 +01: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
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
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
Mukilan Thiyagarajan
8f60df4fdc Remove UWP/HoloLens CI & Nightly jobs.
Servo [TSC has decided][1] to halt support for UWP
platform. This PR only removes the CI & Nightly jobs
and doesn't modify any code related to UWP support.

[1]: https://github.com/servo/project/blob/master/governance/tsc/tsc-2023-01-23.md#supported-platforms

Signed-off-by: Mukilan Thiyagarajan <mukilanthiagarajan@gmail.com>
2023-01-25 22:04:57 +05:30
Mukilan Thiyagarajan
ed2974a280 Revert "Auto merge of #29270 - delan:fix-windows-builds, r=<try>"
This reverts commit 7a885032e6, reversing
changes made to f70857906d.

Since we have now uploaded the LLVM 15.0.5
binaries to S3 so that `mach boostrap` can use
them directly, we no longer need to downgrade the
LLVM in GitHub runner image.
2023-01-24 20:47:28 +05:30
Martin Robinson
d294a71397 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 the SrvoJson logger and replaces it with a generic WPT log
  handler which tracks unexpected results.
- The intermittent filter is now controlled via environment variables
  and the GitHub version requires a token instead of credentials.
- Output is saved to a single file and is always text.
2023-01-24 15:10:09 +01:00
bors-servo
d428fb03eb
Auto merge of #29255 - delan:clean-up-workflow-names, r=mrobinson
CI: clean up workflow names

The workflow names on [the actions page](https://github.com/servo/servo/actions) could be a bit clearer and more consistent.

This patch gives main.yml and pull-request.yml more meaningful names, clarifies the nightly builds, and groups the WPT-related builds in lexicographic order.

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

<!-- 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-20 07:38:07 +01:00
Delan Azabani
459fcdac1c choco install --allow-downgrade 2023-01-19 16:00:26 +08:00
Delan Azabani
08e94f085a CI: downgrade to LLVM 14 to work around #29269 2023-01-19 15:54:57 +08:00
Delan Azabani
764dd87633 CI: clean up workflow names 2023-01-18 14:53:55 +08: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
Delan Azabani
f4400dcb54 CI: disable mac-wpt job in main workflow 2023-01-16 21:50:45 +08: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
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
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
Delan Azabani
2d2668e6fd CI: fix nproc command not found on macOS 2023-01-05 15:22:25 +08:00
Delan Azabani
9f91b36c50 CI: enable mac-wpt chunks 2 through 20 2023-01-05 08:31:03 +08:00
Delan Azabani
55c4c7b6e5 CI: don’t require mac-wpt to succeed 2023-01-04 20:58:34 +08:00
Delan Azabani
8c18196ec9 CI: revert temporary changes for quick testing 2023-01-04 20:58:23 +08:00
Delan Azabani
83c86a56f4 CI: align (most) of mac-wpt job with linux-wpt 2023-01-04 20:58:23 +08:00
Delan Azabani
a24b12f5bf CI: fix python error in mac-wpt job 2023-01-04 20:58:23 +08:00
Delan Azabani
1b629c6383 CI: bump mac-wpt job from macos-10.12 to macos-12 2023-01-04 20:58:23 +08:00
Delan Azabani
a1b5a73d77 CI: uncomment mac-wpt job in main workflow 2023-01-04 20:58:23 +08:00
Delan Azabani
8663757964 CI: remove branch check steps that don’t actually do anything 2023-01-03 23:57:30 +08:00
Delan Azabani
6e91966a9e Cancel main build if successful build already exists for commit 2023-01-03 23:15:03 +08:00
bors-servo
9528af7129
Auto merge of #29154 - striezel-stash:actions-upload-artifact-update, r=jdm
Update actions/upload-artifact in GitHub Actions workflows to v3

Updates the `actions/upload-artifact` action used in the GitHub Actions workflow to its newest major version.

Changes in [actions/upload-artifact](https://github.com/actions/upload-artifact):

> ## v3.1.1
> - Update actions/core package to latest version to remove `set-output` deprecation warning
>
> ## v3.1.0
> - Bump @actions/artifact to v1.1.0
>   - Adds checksum headers on artifact upload
>
> ## v3.0.0
>
> - Update default runtime to node16
> - Update package-lock.json file version to 2

Still using v2 of `actions/upload-artifact` will generate some warning like in this run: https://github.com/servo/servo/actions/runs/3718806495

> Node.js 12 actions are deprecated. For more information see: https://github.blog/changelog/2022-09-22-github-actions-all-actions-will-begin-running-on-node16-instead-of-node12/. Please update the following actions to use Node.js 16: actions/checkout@v2, actions/upload-artifact@v2

The PR will get rid of those warnings for `actions/upload-artifact`, because v3 uses Node.js 16.

---
<!-- 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 only update components used in the CI workflows and those workflows still passing should be enough tests.
2022-12-17 23:22:57 -05:00
bors-servo
3b5291379c
Auto merge of #29153 - striezel-stash:actions-checkout-update, r=jdm
Update actions/checkout in GitHub Actions workflows to v3

Updates the `actions/checkout` action used in the GitHub Actions workflow to its newest major version.

Changes in [actions/checkout](https://github.com/actions/checkout):

> ## v3.1.0
> - Use @actions/core `saveState` and `getState`
> - Add `github-server-url` input
>
> ## v3.0.2
> - Add input `set-safe-directory`
>
> ## v3.0.1
> - Fixed an issue where checkout failed to run in container jobs due to the new git setting `safe.directory`
> - Bumped various npm package versions
>
> ## v3.0.0
>
> - Update to node 16

Still using v2 of `actions/checkout` will generate some warning like in this run: https://github.com/servo/servo/actions/runs/3718806495

> Node.js 12 actions are deprecated. For more information see: https://github.blog/changelog/2022-09-22-github-actions-all-actions-will-begin-running-on-node16-instead-of-node12/. Please update the following actions to use Node.js 16: actions/checkout@v2, actions/upload-artifact@v2

The PR will get rid of those warnings for `actions/checkout`, because v3 uses Node.js 16.

---
<!-- 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 only update components used in the CI workflows and those workflows still passing is enough test.
2022-12-17 21:09:34 -05:00
Dirk Stolle
f4aea59461 Update actions/download-artifact in GitHub Actions workflows to v3
Signed-off-by: Dirk Stolle <striezel-dev@web.de>
2022-12-17 22:54:22 +01:00
Dirk Stolle
a7b06ffde4 Update actions/upload-artifact in GitHub Actions workflows to v3
Signed-off-by: Dirk Stolle <striezel-dev@web.de>
2022-12-17 22:43:19 +01:00
Dirk Stolle
bc151643cf Update actions/checkout in GitHub Actions workflows to v3
Signed-off-by: Dirk Stolle <striezel-dev@web.de>
2022-12-17 22:30:39 +01:00
Josh Matthews
969e022901 Build CI on macos-12 image. 2022-11-20 05:21:49 -05:00
yvt
f47a53f3b1 chore(ci): relink python3 to python3.9 on Homebrew
Implements a work-around for the compatibility issue between mozjs and
Homebrew's Python 3.10 formula.
2022-09-23 21:17:09 -04:00
bors-servo
ce73d8f2b0
Auto merge of #28778 - servo:update-gif, r=jdm
Update various dependencies.

Closes #28773. Closes #28476. Closes #28479. Closes #28518. Closes #28516.
2022-04-02 17:12:21 -04:00
Josh Matthews
f165e17ce2 Limit CI jobs to particular branches. 2022-04-02 00:05:35 -04:00
Josh Matthews
e369e99d62
Upload logs when test failures occur. 2022-04-01 22:31:18 -04:00
Josh Matthews
2e61a3b1ae
Disable UWP packaging on CI. 2022-03-05 23:44:08 -05:00
Josh Matthews
172d7e6b95
Remove arm64 builds from required successes. 2021-09-14 10:14:28 -04:00
yvt
ca34a002b3 chore(ci): don't cancel the entire job matrix when one of them fails 2021-08-13 14:05:28 +09:00
yvt
36f33ab02c chore(ci): move jobs.<job_id>.{strategy.matrix -> env}.max_chunk_id 2021-07-20 00:21:23 +09:00
yvt
f369f36ec4 chore(ci): make parameter names more descriptive and less error-prone 2021-07-18 21:55:25 +09:00
yvt
c692ac1c0a chore(ci): optimize repetition in workflow configuration
Replaces 20 CI jobs (`linux-wpt-{1, 2, ..., 20}`) with one with a build
matrix.
2021-07-17 21:20:49 +09:00
Josh Matthews
57bc79b0d5 Use codesigning in UWP builds. 2021-07-02 18:22:49 -04:00
Josh Matthews
fe25aef578 Add missing CI checks. 2021-05-29 16:05:02 -04:00
Josh Matthews
172274d484 Add UWP builds to github actions. 2021-05-29 16:05:02 -04:00
Josh Matthews
dcc35c4e9a Regenerate CI workflow. 2021-05-24 19:39:41 -04:00
Paulo E. Castro
1bfa45f236
Run WPT tests (linux) 2021-04-28 22:31:35 +01:00
Josh Matthews
3dd769cf97
Don't run full CI against master pushes. 2021-04-04 10:32:24 -04:00
Josh Matthews
c66255ba5e Copy to C: on Windows instead of manually cloning. 2021-03-06 12:44:29 -05:00