When the --report-ci flag is passed to ./mach clippy or ./mach
test-tidy, the commands emit CI-friendly output to files in the tempy
directory. These files can later be used by [GitHub Workflow
Commands](https://docs.github.com/en/actions/writing-workflows/choosing-what-your-workflow-does/workflow-commands-for-github-actions#setting-an-error-message)
for annotations. If the flag is not provided, the default behavior
remains unchanged. Both clippy and test-tidy will limit have 10 limit
annotation
⚠️ Note: For ./mach clippy --report-ci to work correctly, the Clippy
command must use --message-format=json. If it's not specified, CI output
will not be generated, and no warning or error will be shown.
Example PR: https://github.com/jerensl/servo/pull/1/filesFixes: #37231
---------
Signed-off-by: Jerens Lensun <jerensslensun@gmail.com>
* Update to rust 1.85
This is needed for cargo-deny
Signed-off-by: Simon Wülker <simon.wuelker@arcor.de>
* Upgrade crown
Signed-off-by: Simon Wülker <simon.wuelker@arcor.de>
* Clippy fixes
Signed-off-by: Simon Wülker <simon.wuelker@arcor.de>
* Re-upgrade cargo-deny to 0.18
Keeping it locked to 0.18 just in case they
update their required rustc version again
Signed-off-by: Simon Wülker <simon.wuelker@arcor.de>
---------
Signed-off-by: Simon Wülker <simon.wuelker@arcor.de>
Lint jobs were failing because they would try to install the latest
version of cargo-deny (0.18.0), which requries rustc 1.85.0 or newer,
while the currently active rustc version is 1.83.0.
Therefore this makes it install version 0.17 instead.
Signed-off-by: Oriol Brufau <obrufau@igalia.com>
The new images published in servo/ci-runners#12 should have `uv`
installed already and the initial build of servo triggered during the
base image construction will force the installation of the Python
version mentioned at the time of the image construction (3.12). When
.python-version changes, we can no longer use the .venv baked into the
image and must recreate the it to avoid activating the environment.
Signed-off-by: Mukilan Thiyagarajan <mukilan@igalia.com>
We have been having intermittent issues with sccache since
around the recent v0.9 release of sccache which only
appear when building mozjs from source.
Due to recent changes with readablestreams, we are not using
the prebuilt mozjs artifacts anymore and always building from
source, causing these problems to regularly block the merge
queue. Bumping SCCACHE_GHA_VERSION helps but has been observed
to only be a temporary solution until the next breakage.
Closes#34571
Signed-off-by: Jonathan Schwender <schwenderjonathan@gmail.com>
There are build failures again with similar errors seen in #34571.
Incrementing the SCCACHE_GHA_VERSION should purge the cache for now, but
this is just a temporary fix. If this happens again, we'll need to look
into disabling sccache until #34571 is resolved.
Signed-off-by: Mukilan Thiyagarajan <mukilan@igalia.com>
This allows us to use `uv` for:
1. Installing a pinned Python version
2. Installing the dependency packages using `uv`'s pip compatible interface.
4. Bootstrapping `mach` without a Python installion on the host, using `uv
run`
This change also introduces a new 'composite' GitHub action to setup
python in the different CI workflows. There is no support for externally
managed python installations and virtual environments. These could be
added in the future.
Fixes#34095, #34547
Signed-off-by: Mukilan Thiyagarajan <mukilan@igalia.com>
* Bump bindgen to 0.71.1
Signed-off-by: Jonathan Schwender <schwenderjonathan@gmail.com>
* Set SCCACHE_GHA_VERSION to allow purging cache
changing the version allows us to purge the cache.
Signed-off-by: Jonathan Schwender <schwenderjonathan@gmail.com>
* android CI: Enable sccache again
Signed-off-by: Jonathan Schwender <schwenderjonathan@gmail.com>
---------
Signed-off-by: Jonathan Schwender <schwenderjonathan@gmail.com>
This patch switches servo to use `uv` for both installing a pinned
Python version as well as installing the dependency packages using
`uv`'s pip compatible interface. It also introduces a new 'composite'
GitHub action to setup python in the different CI workflows.
There is no support for externally managed python installations and
virtual environments. These could be added in the future.
Fixes#34095
Signed-off-by: Mukilan Thiyagarajan <mukilan@igalia.com>
Github has updated the `ubuntu-latest` label to use 24.04, but that
breaks the lint job. Since the build job (github hosted and self hosted
runners) still explicitly use 22.04, pin the same version for lint job
until we upgrade all the workflows together.
Signed-off-by: Mukilan Thiyagarajan <mukilan@igalia.com>