Commit Graph

571 Commits

Author SHA1 Message Date
Andrew Kaster
946f39df88 CI: Build Gtk UI in Linux Sanitizer presets
Ensure that we run tests with the Qt UI still
2026-04-23 20:07:40 -06:00
Timothy Flynn
b483445072 Meta: Replace IPCMagicLinter with a python linter
Note that the IPC lint step can be removed from the CI workflow because
we no longer need a build in order to perform the lint, and IPC linting
is now covered by lint-ci.sh.
2026-04-23 07:31:19 -04:00
dependabot[bot]
fadea53343 CI: Bump actions/github-script from 8 to 9
Bumps [actions/github-script](https://github.com/actions/github-script) from 8 to 9.
- [Release notes](https://github.com/actions/github-script/releases)
- [Commits](https://github.com/actions/github-script/compare/v8...v9)

---
updated-dependencies:
- dependency-name: actions/github-script
  dependency-version: '9'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-04-15 08:18:23 -04:00
Jelle Raaijmakers
6904389746 CI: Remove stray comma from webhook payload in web-benchmarks.yml 2026-04-14 16:55:45 +02:00
Tim Ledbetter
f498cfcfd0 CI: Trigger web-benchmarks workflow on push to master
Previously, the web benchmarks job would only trigger after a
successful CI run.
2026-04-14 15:34:29 +02:00
Tim Ledbetter
236c0b41a5 CI: Use the correct MacOS path in web-benchmarks job 2026-04-14 13:00:48 +02:00
dependabot[bot]
94eed3d708 CI: Bump dawidd6/action-download-artifact from 19 to 20
Bumps [dawidd6/action-download-artifact](https://github.com/dawidd6/action-download-artifact) from 19 to 20.
- [Release notes](https://github.com/dawidd6/action-download-artifact/releases)
- [Commits](https://github.com/dawidd6/action-download-artifact/compare/v19...v20)

---
updated-dependencies:
- dependency-name: dawidd6/action-download-artifact
  dependency-version: '20'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-04-08 11:22:44 -04:00
Jelle Raaijmakers
b2e169efc6 CI: Remove non-existent download_cache_path from web benchmarks job 2026-04-08 09:24:39 -04:00
Jelle Raaijmakers
27c4a2e439 CI: Always pass in toolchain to cache actions
It doesn't make a whole lot of sense leaving out this variable. We use
the toolchain to construct the main cache key for our ccache and vcpkg
caches, and the JS+WASM artifacts build defaulted to 'GNU' for their
toolchain which got really confusing.
2026-04-08 09:24:39 -04:00
Jelle Raaijmakers
3003930c8d CI: Remove runner_labels from custom cache actions
These were originally introduced to make it possible to discern between
GitHub's and Blacksmith's caches. This is no longer necessary since
Blacksmith resolved some issues _and_ switched to transparently
proxying GitHub cache actions to their own caches.
2026-04-08 09:24:39 -04:00
dependabot[bot]
7b0121e206 CI: Bump actions/upload-artifact from 6 to 7
Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact) from 6 to 7.
- [Release notes](https://github.com/actions/upload-artifact/releases)
- [Commits](https://github.com/actions/upload-artifact/compare/v6...v7)

---
updated-dependencies:
- dependency-name: actions/upload-artifact
  dependency-version: '7'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-03-31 22:21:19 +02:00
Zaggy1024
5063507fbb CI: Start PulseAudio for Linux tests 2026-03-30 20:57:04 -05:00
Sam Atkins
1438efa3e2 CI: Update "Upload LibWeb Test Artifact" test-dumps path
Regressed in 829d112327
2026-03-30 21:04:34 +02:00
Undefine
829d112327 Meta: Move Lagom CMakeLists stuff to the top level CMakeLists
This allows us to get rid of the annoying Build/.../Lagom directory
and helps to deduplicate a bunch of logic while also drastically
simplifying everything.
2026-03-29 13:59:11 -06:00
Undefine
fbbcc73fea Meta: Refactor the way the GUI framework is picked
This is largely based of off the work done by Andrew Kaster in #5918.
Having this toggle makes much more sense, especially if there will be
more UIs in the future.

Co-authored-by: Andrew Kaster <andrew@ladybird.org>
2026-03-29 13:59:11 -06:00
Tim Ledbetter
9824194ddf CI: Add web-benchmarks job 2026-03-24 14:25:55 +01:00
dependabot[bot]
f8a7f3cdae CI: Bump dawidd6/action-download-artifact from 18 to 19
Bumps [dawidd6/action-download-artifact](https://github.com/dawidd6/action-download-artifact) from 18 to 19.
- [Release notes](https://github.com/dawidd6/action-download-artifact/releases)
- [Commits](https://github.com/dawidd6/action-download-artifact/compare/v18...v19)

---
updated-dependencies:
- dependency-name: dawidd6/action-download-artifact
  dependency-version: '19'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-03-24 11:07:13 +01:00
dependabot[bot]
5938b754ac CI: Bump gradle/actions from 5 to 6
Bumps [gradle/actions](https://github.com/gradle/actions) from 5 to 6.
- [Release notes](https://github.com/gradle/actions/releases)
- [Commits](https://github.com/gradle/actions/compare/v5...v6)

---
updated-dependencies:
- dependency-name: gradle/actions
  dependency-version: '6'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-03-24 11:06:54 +01:00
dependabot[bot]
0c55f4e217 CI: Bump dawidd6/action-download-artifact from 16 to 18
Bumps [dawidd6/action-download-artifact](https://github.com/dawidd6/action-download-artifact) from 16 to 18.
- [Release notes](https://github.com/dawidd6/action-download-artifact/releases)
- [Commits](https://github.com/dawidd6/action-download-artifact/compare/v16...v18)

---
updated-dependencies:
- dependency-name: dawidd6/action-download-artifact
  dependency-version: '18'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-03-17 08:50:37 +01:00
dependabot[bot]
e362362cb2 CI: Bump docker/login-action from 3 to 4
Bumps [docker/login-action](https://github.com/docker/login-action) from 3 to 4.
- [Release notes](https://github.com/docker/login-action/releases)
- [Commits](https://github.com/docker/login-action/compare/v3...v4)

---
updated-dependencies:
- dependency-name: docker/login-action
  dependency-version: '4'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-03-10 07:57:10 -04:00
dependabot[bot]
cc2daa2821 CI: Bump actions/upload-artifact from 6 to 7
Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact) from 6 to 7.
- [Release notes](https://github.com/actions/upload-artifact/releases)
- [Commits](https://github.com/actions/upload-artifact/compare/v6...v7)

---
updated-dependencies:
- dependency-name: actions/upload-artifact
  dependency-version: '7'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-03-03 10:33:17 +01:00
dependabot[bot]
081f7619ad CI: Bump dawidd6/action-download-artifact from 15 to 16
Bumps [dawidd6/action-download-artifact](https://github.com/dawidd6/action-download-artifact) from 15 to 16.
- [Release notes](https://github.com/dawidd6/action-download-artifact/releases)
- [Commits](https://github.com/dawidd6/action-download-artifact/compare/v15...v16)

---
updated-dependencies:
- dependency-name: dawidd6/action-download-artifact
  dependency-version: '16'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-03-03 09:46:07 +01:00
Timothy Flynn
a238894e53 CI: Move the flatpak build steps to their own job
This is entirely a GitHub limitation. But I have found myself wanting to
rerun flaky CI tests, but have to wait some time for the flatpak builder
to complete. Moving this to its own job means we don't need to wait to
restart other CI jobs.
2026-02-26 10:33:10 -05:00
InvalidUsernameException
8c57fa780f CI: Remove redundant set -e calls
Shell scripts running in GitHub Actions workflows have `set -e` enabled
by default:
https://docs.github.com/en/actions/reference/workflows-and-actions/workflow-syntax#jobsjob_idstepsshell

To avoid confusion, remove the redundant calls present in some of the
workflow script steps.
2026-02-25 10:08:23 +01:00
InvalidUsernameException
0c5684f7ff CI: Do not run multiple note-pushing workflow runs in parallel
In 1d03944a9c failures from pushing notes were ignored entirely due to
the command failing sporadically. Looking at the original commit message
this was almost certainly due to the fact that multiple runs of the
workflow could happend simulaneously if PRs were merged in quick
succession:

1. PR 1 gets merged.
2. Workflow run 1 gets triggered for newly pushed `master` commit from
   PR 1 and fetches notes ref at `aaaaaaa`.
3. PR 2 gets merged.
4. Workflow run 2 gets triggered for newly pushed `master` commit from
   PR 2 and fetches notes ref at `aaaaaaa` as well.
5. Workflow run 1 finishes its work and pushes `bbbbbbb` to the notes
   ref.
6. Workflow run 2 finishes as well, tries to push `ccccccc` to the notes
   ref, but gets rejected. This is because its changes are based on
   `aaaaaaa` and cannot be fast-forwarded due to workflow run 1 having
   pushed different notes in the meantime.

This sequence of events could also be observed after bbad346add got
merged, which caused the first couple workflow runs after to be very
slow as they were processing a large backlog of missing notes.

Instead of silencing the error when it happens and relying on the fact
that the next run will correct it, let's just prevent the conflict from
happening in the first place by disallowing parallel runs of the
workflow. This avoids unnecessary workflow runs and allows detection of
other, unexpected errors happening when pushing.
2026-02-25 10:08:23 +01:00
InvalidUsernameException
5f70d40feb CI: Make failure to fetch git-gloss a fatal error
bbad346add corrected a URL that broke several weeks ago. This problem
went unnoticed for a while partially because the workflow runs were all
still passing. A failure of a command in an &&-list is only considered
an error if it occurred in the last command of the list, even with `set
-e` being active (set automatically in GitHub actions).

From the Bash Reference Manual, 4.3.1 The Set Builtin:

> The shell does not exit if the command that fails is [...] part of any
> command executed in a && or || list except the command following the
> final && or ||.

Let's make download failures easier to disover by failing the workflow.
Every master-push getting marked with a red x-sign would probably have
been caught earlier.
2026-02-25 10:08:23 +01:00
dependabot[bot]
e803c381a9 CI: Bump dawidd6/action-download-artifact from 14 to 15
Bumps [dawidd6/action-download-artifact](https://github.com/dawidd6/action-download-artifact) from 14 to 15.
- [Release notes](https://github.com/dawidd6/action-download-artifact/releases)
- [Commits](https://github.com/dawidd6/action-download-artifact/compare/v14...v15)

---
updated-dependencies:
- dependency-name: dawidd6/action-download-artifact
  dependency-version: '15'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-02-24 21:47:10 -05:00
dependabot[bot]
37454ec9e9 CI: Bump actions/stale from 10.1.1 to 10.2.0
Bumps [actions/stale](https://github.com/actions/stale) from 10.1.1 to 10.2.0.
- [Release notes](https://github.com/actions/stale/releases)
- [Changelog](https://github.com/actions/stale/blob/main/CHANGELOG.md)
- [Commits](997185467f...b5d41d4e1d)

---
updated-dependencies:
- dependency-name: actions/stale
  dependency-version: 10.2.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-02-24 21:46:55 -05:00
Timothy Flynn
5224eb8db6 CI: Switch back to Linux for code linting
We switched to macOS since it was easier to install swift-format in CI.
With that removed, let's switch back to Linux, as macOS runners tend to
have higher contention.

To do so, this makes more use of the setup action. This way, the setup
action is the only place that needs to know how to install the apt repos
we need (LLVM in particular).
2026-02-24 14:33:22 -05:00
xnacly
f3da3c03e8 CI: Add 'cargo fmt --check' and setup rust toolchain to lint-ci 2026-02-24 16:35:51 +01:00
Timothy Flynn
fe4c22e4e2 CI: Run test262 on blacksmith runners and on PRs
On GitHub runners (which are much slower than blacksmith runners),
test262 only takes ~6 minutes nowadays. So let's try running it on
blacksmith. It's generally been a headache to make changes to the
test262 workflow on our dedicated runner, so this will alleviate
that.
2026-02-18 12:22:04 -05:00
Timothy Flynn
85c6264323 CI: Remove download_cache_path argument from cache restore action
It used to be for CLDR, UCD, etc. downloads. But it is now unused.
2026-02-18 12:22:04 -05:00
Timothy Flynn
53bcbe411f CI: Use the setup action on the test262 runner 2026-02-18 10:10:07 -05:00
Timothy Flynn
415625d398 Meta: Switch to clang-format-21 as the standard formatter 2026-02-18 08:02:45 -05:00
Timothy Flynn
372c7b9822 CI: Update the Clang pipeline to Clang 21 2026-02-18 08:02:45 -05:00
Timothy Flynn
f200920a6c CI: Simplify upgrading toolchain versions in CI
Set the gcc and llvm versions as variables, and use them anywhere we
install a specific version. We then export these as outputs so that any
interested caller can retrieve the installed versions.

Our check for llvm.list also will have prevented us from upgrading llvm
versions. We now check that it contains the exact version we expect.
2026-02-18 08:02:45 -05:00
Andreas Kling
e87f889e31 Everywhere: Abandon Swift adoption
After making no progress on this for a very long time, let's acknowledge
it's not going anywhere and remove it from the codebase.
2026-02-17 10:48:09 -05:00
Salman Chishti - SalmanMKC
0eab25b710 CI: Switch back to actions/stale now that upstream issue is fixed
Replace itchyny/actions-stale with actions/stale v10.1.1, as the
upstream issue (actions/stale#1136) has been resolved.

Remove the workaround comment that referenced the issue.
2026-02-08 22:46:36 +01:00
CountBleck
bbad346add CI: Update stale URL for git-gloss
The notes-push.yml script was silently failing since the previous URL
now 404s, causing notes to remain unupdated since January 18. This new
URL should work for as long as the git-gloss repository exists.
2026-02-06 10:28:31 +00:00
Rocco Corsi
59be47f188 CI: Allow clang_plugins to be used in more CI jobs
Due to the name used to upload the test-web artificats missing the
'arch' value, a duplicate name could be generated if multiple CI
jobs use clang_plugins set to true causing artifact upload failure.

Currently not possible to use clang_plugins for these at the same time:

Linux, x86_64, Sanitizer, Clang
Linux, arm64, Sanitizer, Clang

As more CI jobs are added, more possibility of a conflict if using
clang_plugins in more situations.

If the name conflicts the following may by reported:

Error: Failed to CreateArtifact: Received non-retryable error:
Failed request: (409)
Conflict: an artifact with this name already exists on the workflow run
2026-02-05 10:12:46 +01:00
dependabot[bot]
cddb0e7b4e CI: Bump dawidd6/action-download-artifact from 12 to 14
Bumps [dawidd6/action-download-artifact](https://github.com/dawidd6/action-download-artifact) from 12 to 14.
- [Release notes](https://github.com/dawidd6/action-download-artifact/releases)
- [Commits](https://github.com/dawidd6/action-download-artifact/compare/v12...v14)

---
updated-dependencies:
- dependency-name: dawidd6/action-download-artifact
  dependency-version: '14'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-02-03 10:41:31 +01:00
Timothy Flynn
4e18acfc98 CI: Install CMake from a .tar.gz similar to wasm-tools
The apt-key method is not working on the runner.
2026-01-28 15:55:33 -05:00
Timothy Flynn
a1383f7623 CI: Install gnupg2 instead of gnupg
This is what the GitHub runners have:
https://github.com/actions/runner-images/blob/ubuntu24/20260119.4/images/ubuntu/Ubuntu2404-Readme.md#installed-apt-packages
2026-01-28 14:11:28 -05:00
Timothy Flynn
a661ba996b CI: Install gnupg before adding Kitware's PPA with apt-key 2026-01-28 12:51:21 -05:00
Timothy Flynn
df8f05e205 CI: Add Kitware's PPA to install a newer CMake version
The latest CMake version available on Ubuntu 24.04 is 3.28. We require
3.30 or later for our CMake presets. We can get a newer version from
Kitware's PPA.
2026-01-28 10:42:02 -05:00
dependabot[bot]
9b2db8142a CI: Bump actions/checkout from 6.0.1 to 6.0.2
Bumps [actions/checkout](https://github.com/actions/checkout) from 6.0.1 to 6.0.2.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v6.0.1...v6.0.2)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-version: 6.0.2
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-01-27 10:06:17 +01:00
dependabot[bot]
2f40939aee CI: Bump dawidd6/action-download-artifact from 11 to 12
Bumps [dawidd6/action-download-artifact](https://github.com/dawidd6/action-download-artifact) from 11 to 12.
- [Release notes](https://github.com/dawidd6/action-download-artifact/releases)
- [Commits](https://github.com/dawidd6/action-download-artifact/compare/v11...v12)

---
updated-dependencies:
- dependency-name: dawidd6/action-download-artifact
  dependency-version: '12'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-01-27 09:16:16 +01:00
Jelle Raaijmakers
c059c6a2f5 CI: Update prettier to 3.8.1
This matches the current available version on Homebrew.
2026-01-22 07:46:48 -05:00
dosisod
bc823878c7 LibJS: Add bytecode IR regression tests
This adds a new `test-js-bytecode` target which ensures that codegen
changes do not impact emitted bytecode IR, or if it does, it is known
and the tests are updated accordingly.

Similar to the LibWeb tests, the tests are stored in the following
format:

* `Libraries/LibJS/Bytecode/Tests/input`: Input `.js` files
* `Libraries/LibJS/Bytecode/Tests/expected`: Expected `.txt` bytecode
* `Libraries/LibJS/Bytecode/Tests/output`: Emitted `.txt` bytecode

The `output` dir is git-ignored, but stores the output so you can diff
and inspect failed tests more easily.

There is only one test so far, which is a baseline test that should not
change dramatically unless we change the bytecode output format.
2026-01-22 08:44:24 +01:00
Andrew Kaster
f294427d3d CI: Install CMake in test262 runner workflow
It's unclear what the version is supposed to be on this runner, but
work around any ambiguity by installing CMake explicitly. Previously,
the version was less than 3.30, as a CMake preset update requiring at
least 3.30 caused the workflow to fail.
2026-01-17 13:20:38 -07:00