Commit graph

266 commits

Author SHA1 Message Date
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
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
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: <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](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: 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: 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
Josh Matthews
9ca4e29088 Push WPT sync changes to upstream instead of a fork. 2022-11-09 11:42:22 -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
Josh Matthews
5bebdeadbe
Remove explicit setuptools installation. 2022-09-04 16:04:22 -04:00
Josh Matthews
a98fe25daf
Install setuptools. 2022-09-04 15:52:48 -04:00
cybai
1b9bda0d25 Avoid running the job for PRs 2022-08-16 00:20:07 +09:00
cybai
05cefceed6 Remove command of running filter intermittents 2022-08-16 00:19:49 +09:00
cybai
49d94cb08b Run WPT sync nightly on GitHub Action 2022-08-16 00:14:55 +09: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
9e71bd6a70 chore(ci): remove the auto-generation of main.yml 2021-07-18 21:35:24 +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
9d51255799
Enable codesigning on Windows. 2021-06-06 14:00:39 -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
1effa3a909 Use different download/unpacking mechanism. 2021-05-25 23:18:12 -04:00
Josh Matthews
e8e31e8011 Download wix binaries for packaging. 2021-05-25 17:54:30 -04:00