Cancel main build if successful build already exists for commit
Homu pushes both the old and new commits for each merge, causing the main build to run twice for each commit.
This patch adds a “decision job” to the main build, which cancels the run if a successful main build already exists for the commit. The jobs that build Servo on each of the five platforms in turn block until that new job finishes.
---
- [ ] ~~`./mach build -d` does not report any errors~~
- [ ] ~~`./mach test-tidy` does not report any errors~~
- [x] These changes fix#28326
<!-- Either: -->
- [ ] There are tests for these changes OR
- [x] These changes do not require tests because they affect the CI configuration
Update truetype
- [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
Bump openssl from 0.10.44 to 0.10.45
Bumps [openssl](https://github.com/sfackler/rust-openssl) from 0.10.44 to 0.10.45.
<details>
<summary>Commits</summary>
<ul>
<li><a href="7df56869c5"><code>7df5686</code></a> Release openssl v0.10.45</li>
<li><a href="f32af9f4aa"><code>f32af9f</code></a> Release openssl-sys v0.9.80</li>
<li><a href="deac6b7b86"><code>deac6b7</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/sfackler/rust-openssl/issues/1763">#1763</a> from CfirTsabari/cfirtsabari/deperecated-functions-1745</li>
<li><a href="27edce9340"><code>27edce9</code></a> Mark Openssl # deprecated functions</li>
<li><a href="f0ff8a7e48"><code>f0ff8a7</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/sfackler/rust-openssl/issues/1762">#1762</a> from wiktor-k/fix-broken-relaxation</li>
<li><a href="45e5dce285"><code>45e5dce</code></a> Expose <code>Cipher::cipher_final_unchecked</code></li>
<li><a href="71013f7efd"><code>71013f7</code></a> Fix output buffer check introduced in <a href="https://github-redirect.dependabot.com/sfackler/rust-openssl/issues/1733">#1733</a></li>
<li><a href="64ba480226"><code>64ba480</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/sfackler/rust-openssl/issues/1761">#1761</a> from vishwin/master</li>
<li><a href="0d8d502258"><code>0d8d502</code></a> Expose EVP_PKEY_security_bits for LibreSSL 3.6.0 and later</li>
<li><a href="e01fbac4b3"><code>e01fbac</code></a> openssl-sys: add LibreSSL 3.6.0 to cfgs</li>
<li>Additional commits viewable in <a href="https://github.com/sfackler/rust-openssl/compare/openssl-v0.10.44...openssl-v0.10.45">compare view</a></li>
</ul>
</details>
<br />
[](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>
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.
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.
Update actions/download-artifact in GitHub Actions workflows to v3
Updates the `actions/download-artifact` action used in the GitHub Actions workflow to its newest major version.
Changes in [actions/download-artifact](https://github.com/actions/download-artifact):
> ## v3.0.1
> - Bump @actions/core to 1.10.0
>
> ## v3.0.0
>
> - Update default runtime to node16
> - Update package-lock.json file version to 2
Still using v2 of `actions/download-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/download-artifact@v2
The PR will get rid of those warnings for `actions/download-artifact`, because v3 uses Node.js 16.
---
- [ ] `./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.
Fix license link in contribution guidelines
Fixes a broken link to the license file in the contribution guidelines.
---
<!-- Either: -->
- [ ] There are tests for these changes OR
- [x] These changes do not require tests, because only a documentation file is changed.
Fix some typos
This PR fixes some typos in comments.
---
<!-- 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 do not change any functionality of servo.
Arch Linux compatibility patch for mach tools.
<!-- Please describe your changes on the following line: -->
This patch adds support for Arch Linux for mach. The error described below is now fixed:
```bash
Traceback (most recent call last):
File "mach", line 47, in <module>
main(sys.argv)
File "mach", line 27, in main
sys.exit(mach_bootstrap.bootstrap_command_only(topdir))
File "/home/michael/Public/servo/python/mach_bootstrap.py", line 254, in bootstrap_command_only
bootstrap(context, force)
File "/home/michael/Public/servo/python/servo/bootstrap.py", line 411, in bootstrap
distrib, version = get_linux_distribution()
File "/home/michael/Public/servo/python/servo/bootstrap.py", line 399, in get_linux_distribution
raise Exception('mach bootstrap does not support %s, please file a bug' % distrib)
Exception: mach bootstrap does not support Arch Linux, please file a bug
```
---
<!-- 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
<!-- Either: -->
- [X] These changes do not require tests.
<!-- 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. -->