The CI does multiple build runs so we need to handle it being
overwritten.
Multiple different build of OHOS servoshell would fight for who is first
to upload run.json and the other would error out.
Now we allow both to succeed by overwrite the run.json
Testing: Testrun:
4268974880
Signed-off-by: Narfinger <Narfinger@users.noreply.github.com>
Signed-off-by: Narfinger <Narfinger@users.noreply.github.com>
Workflow changes includes to allow a given runs.json file to be read by
hitrace-bench and perform the benchmarks.
It depends on the updated CI tools. Requires CI modification in
https://github.com/servo/ci-runners/pull/36.
Testing: This change was tested on the CI.
4261677656
A corresponding bencher output is here:
99a369f7-e6c3-4141-83f9-0ecddac484a5?back=L2NvbnNvbGUvcHJvamVjdHMvc2Vydm8tY2kvcmVwb3J0cz9wZXJfcGFnZT04JnBhZ2U9MQ%3D%3D
Signed-off-by: Narfinger <Narfinger@users.noreply.github.com>
Allow OHOS bencher to get the model name for testbed.
Currently we rely on simple `hdc bugreport` and awk. `hdc bugreport`
spits out a lot of information so it is kind of slow. But that should be
ok.
Working run (with the usual caveats of removing the checks in the file)
can be found here:
1506965290
Signed-off-by: Narfinger <Narfinger@users.noreply.github.com>
Added a new workflow that benchmarks simple startup and loading of
servo.org on HarmonyOS.
Needs https://github.com/servo/ci-runners/pull/34 to be merged and
applied to the runners.
Signed-off-by: Narfinger <Narfinger@users.noreply.github.com>
Use the introduced logging domain on OHOS to get the log on the
workflow. This improves the reliability of getting the logs if
servoshell crashed.
Testing: This was tested on the CI Runner
Signed-off-by: Narfinger <Narfinger@users.noreply.github.com>
Add `build-args` input in CI and try_parser job definition so we can
pass own build args to `./mach build`
Testing: There are tests for try parser and I tested CI in my fork.
Fixes: partial fix#36823
Signed-off-by: sagudev <16504129+sagudev@users.noreply.github.com>
fixups https://github.com/servo/servo/pull/36641, as yaml was not valid
(one ` ` to many).
Testing: No testing for bot config.
Signed-off-by: sagudev <16504129+sagudev@users.noreply.github.com>
This allows changing number of chunks used for WPT testing (sometimes
useful for WebGPU).
Testing: Manual try runs
Fixes: #30062
---------
Signed-off-by: sagudev <16504129+sagudev@users.noreply.github.com>
The upstream PR (web-platform-tests/wpt#51084) to update the WPT.fyi
docker image to 22.04 landed a few days back. No new issues have been
discovered so far in wpt.fyi, so it should be safe for us to move to
22.04 for the nightly builds.
Fixes#35747.
---------
Signed-off-by: Mukilan Thiyagarajan <mukilan@igalia.com>
In #35804 we fixed the bundlename, but I assumed the servoshell in
the grep expression was referring to the libraryname.
As it turns out the tracelines start with the bundlename,
so we need to update this name too.
This is the last line in the hos CI, and the grep
expression works locally so this time CI should really be fixed.
As already mentioned in the previous PR, we can't really test this
well, since this job only runs on self-hosted runners, which check out
the github action yaml version from the main branch.
Signed-off-by: Jonathan Schwender <schwenderjonathan@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>
* Fix building libservo with `cargo build -p libservo`
Signed-off-by: Delan Azabani <dazabani@igalia.com>
* Test the libservo build in CI
Signed-off-by: Delan Azabani <dazabani@igalia.com>
* Work around build issue on macOS (#34517)
Signed-off-by: Delan Azabani <dazabani@igalia.com>
Co-authored-by: Martin Robinson <mrobinson@igalia.com>
---------
Signed-off-by: Delan Azabani <dazabani@igalia.com>
Co-authored-by: Martin Robinson <mrobinson@igalia.com>
I'm not quite sure why a workflow run would
have a duplicate artifact name for test_output,
but hopefully this patch should fix upload failures
such as in 3603785058
Signed-off-by: Jonathan Schwender <schwenderjonathan@gmail.com>
This is causing a validation error because Github's static analysis sees
nightly.yml is calling bencher.yml but the latter requires permissions
that are more relaxed than the former (for android & ohos). Since other
workflows are not failing validation, they presumably already run with
default permissions that are satisfy bencher.yml's requirements
(bencher.yml is not relaxing the parent workflow's permissions as that
would defeat the usefulness of the validation that Github is enforcing).
In the long run we should move to default-restrictive permissions and
then have the top-level workflows declare the required permissions. The
permissions in bencher.yml seems to serve only as machine-checked
documentation, but as it is causing issues with nested calls that are
not possible at runtime, it seems like we have to either pass additional
permissions in top-level workflows (that are not needed, so that is bad)
or not declare them in nested workflows.
Fixes#35141.
Signed-off-by: Mukilan Thiyagarajan <mukilan@igalia.com>
* ohos: Add event for page loaded
We can use this to check if we succeeded.
Signed-off-by: Jonathan Schwender <schwenderjonathan@gmail.com>
* CI: Test OpenHarmony on self-hosted runner
Signed-off-by: Jonathan Schwender <schwenderjonathan@gmail.com>
* fix typo
Co-authored-by: Mukilan Thiyagarajan <mukilanthiagarajan@gmail.com>
Signed-off-by: Jonathan Schwender <55576758+jschwe@users.noreply.github.com>
---------
Signed-off-by: Jonathan Schwender <schwenderjonathan@gmail.com>
Signed-off-by: Jonathan Schwender <55576758+jschwe@users.noreply.github.com>
Co-authored-by: Mukilan Thiyagarajan <mukilanthiagarajan@gmail.com>
The nightly build jobs run on Ubuntu 20.04 to ensure the glibc version
is compatible with WPT.fyi runners. But this version of Ubuntu has an
older clang version (12) that is not compatible with mozjs.
This patch makes the nightly job for Linux explicity install Clang 14
using the KyleMayes/install-llvm-action@v2 action. The regular Linux job
still uses system Clang installation as there are failures when using
the github action.
Fixes#34713.
Signed-off-by: Mukilan Thiyagarajan <mukilan@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>