682 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
Andrew Kaster
a942da16ce CI+Devcontainer: Add Gtk UI dependencies to the CI and Devcontainer 2026-04-23 20:07:40 -06:00
Timothy Flynn
ce7b69ff31 Meta: Move utility scripts to a subfolder
The idea is that scripts directly under Meta are meant to be run by
people. Scripts that are only imported or run by other scripts are
moved to a subdirectory.
2026-04-23 12:36:08 -04: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
Timothy Flynn
b1d708dd16 Meta: Move BuildVcpkg script to the Meta directory
It was the only thing left in the Toolchain directory.
2026-04-20 13:17:06 -04:00
Timothy Flynn
5d461d3fb0 CI: Point lld at the explicitly installed version
It appears CI is currently not using lld as a linker.
2026-04-20 12:22:16 -04:00
Tim Ledbetter
f168423c18 CI: Allow dependabot to update the Rust toolchain 2026-04-16 23:42:22 +02: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
aca463883f CI: Install libtool in setup action
This was missing in some build environments. Installation of libtool is
in our build instructions, so let's include it here as well.
2026-04-14 18:31:26 +02:00
Jelle Raaijmakers
908219afd4 CI: Use dearmored key for LLVM repo in setup action 2026-04-14 18:31:26 +02: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
Timothy Flynn
f79401bf9c CI: Change vcpkg cache key to depend on vcpkg.json
The vcpkg cache should rarely change - only when new dependencies are
added or a version changes. Both of these events involve modifying the
vcpkg.json file. So instead of uploading duplicated vcpkg caches in each
workflow, let's only upload changed caches.
2026-04-10 07:26:05 -04:00
Timothy Flynn
9524d92a9f CI: Remove quotes from cache keys
These get tricky with nested quotes when adding a hashFiles invocation.
Let's remove quotes from all keys to keep them consistent.
2026-04-10 07:26:05 -04:00
Timothy Flynn
a2fc4c1e10 CI: Remove always-true conditions from cache actions
After 80517124a4, we must always provide
these paths now.
2026-04-10 07:26:05 -04: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
80517124a4 CI: Make input variables to cache actions mandatory
Cache variables should always be explicit, and we already pass them in
everywhere. This makes it easier to spot errors in our cache setup.
2026-04-08 09:24:39 -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
Jelle Raaijmakers
84a977d5f0 CI: Remove ccache_version input from cache-restore action
This went unused. Its intention is to bust our caches, but we can simply
restore this whenever we need that. No need to keep it around for now.
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
Andreas Kling
c736c4adb5 CI: Install Rust toolchain in setup action
The Rust-based LibJS codegen is now enabled by default on non-Windows
platforms, so CI runners need rustc and cargo available. Add the
dtolnay/rust-toolchain action to install a stable Rust toolchain.
2026-02-24 09:39:42 +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
5a916940e2 Revert "CI: Ensure lsb-release is installed on Ubuntu"
This reverts commit c813505450.

This did not work on the dedicated test262 runner. And we are looking
into switching to blacksmith runners instead.
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
81d5ad9777 CI: Use setup-python@v6 in the setup action 2026-02-18 10:10:07 -05:00
Timothy Flynn
a2515c0705 CI: Ensure pip itself is up to date
Our test262 runner already does this, and we do see out-of-date messages
in users of the setup action.
2026-02-18 10:10:07 -05:00
Timothy Flynn
c813505450 CI: Ensure lsb-release is installed on Ubuntu
Our test262 runner does not have it.
2026-02-18 10:10:07 -05:00