Commit graph

409 commits

Author SHA1 Message Date
Andrew Kaster e5f361500e CI: Use common cache restore and cache save action on GitHub Actions
Unfortunately a composite action cannot have a `post:` step like
JavaScript actions are allowed to have, so we need to explicitly call
the post/save actions ourselves from the workflow file when we want to
save Toolchain/QEMU/ccache caches.

Co-Authored-By: Timothy Flynn <trflynn89@pm.me>
2024-05-07 15:28:46 -06:00
Timothy Flynn 3d6d2b2589 CI: Use the Setup action for the WASM REPL
This ensures we install ccache, for example.
2024-05-07 15:28:46 -06:00
Timothy Flynn 4f62066ad0 CI: Run brew update before installing macOS packages
This is needed to update brew's internal list of formulae, otherwise it
does not know about llvm-18.
2024-05-06 09:31:55 -06:00
Andrew Kaster 5aa28c31d5 CI: Use a local GitHub Action to setup installed packages 2024-05-02 06:22:10 -06:00
Timothy Flynn 823fdb83db Meta: Switch to clang-format-18 as the standard formatter 2024-04-24 16:50:01 -04:00
Timothy Flynn 90fcfca6f6 CI: Configure ccache before modifying its contents (if any)
If there is a cache miss while downloading the ccache from GitHub/Azure,
the .ccache directory won't exist when we try to update the modification
time of its contents. Configure the ccache size first, which will create
the .ccache directory if it doesn't exist.
2024-04-24 09:16:41 -04:00
Tim Schumacher 5f088f3233 Meta: Trim the CI ccache down to files used in the current build 2024-04-23 22:00:07 -04:00
Andrew Kaster c5cd1ad737 CI: Use macOS 14 Apple Silicon runner to create js package for esvu 2024-04-23 15:37:07 -06:00
Andrew Kaster 2e385e4c12 CI: Bump Lagom CI builds to gcc-13 and clang-18
This includes Lagom Tools for Serenity builds, and the Lagom builds on
Azure.
2024-04-23 15:37:07 -06:00
dependabot[bot] 4eee9ee132 CI: Bump JamesIves/github-pages-deploy-action from 4.5.0 to 4.6.0
Bumps [JamesIves/github-pages-deploy-action](https://github.com/jamesives/github-pages-deploy-action) from 4.5.0 to 4.6.0.
- [Release notes](https://github.com/jamesives/github-pages-deploy-action/releases)
- [Commits](https://github.com/jamesives/github-pages-deploy-action/compare/v4.5.0...v4.6.0)

---
updated-dependencies:
- dependency-name: JamesIves/github-pages-deploy-action
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-04-23 10:32:46 -06:00
Andrew Kaster 2a48eff2d6 CI: Enable KVM on Github Actions runners
https://github.blog/changelog/2024-04-02-github-actions-hardware-accelerated-android-virtualization-now-available/
2024-04-18 18:26:36 -06:00
Andreas Kling 660d6d0c85 Meta: Add Polar to FUNDING.yml
Let's advertise the fact that we allow sponsoring work on specific
issues via Polar rewards. :^)
2024-02-21 07:36:55 +01:00
Andreas Kling 1d29f9081f LibJS: Remove JIT compiler
The JIT compiler was an interesting experiment, but ultimately the
security & complexity cost of doing arbitrary code generation at runtime
is far too high.

In subsequent commits, the bytecode format will change drastically, and
instead of rewriting the JIT to fit the new bytecode, this patch simply
removes the JIT instead.

Other engines, JavaScriptCore in particular, have already proven that
it's possible to handle the vast majority of contemporary web content
with an interpreter. They are currently ~5x faster than us on benchmarks
when running without a JIT. We need to catch up to them before
considering performance techniques with a heavy security cost.
2024-02-19 21:45:27 +01:00
dependabot[bot] f926d96c74 CI: Bump mymindstorm/setup-emsdk from 13 to 14
Bumps [mymindstorm/setup-emsdk](https://github.com/mymindstorm/setup-emsdk) from 13 to 14.
- [Release notes](https://github.com/mymindstorm/setup-emsdk/releases)
- [Commits](https://github.com/mymindstorm/setup-emsdk/compare/v13...v14)

---
updated-dependencies:
- dependency-name: mymindstorm/setup-emsdk
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-02-08 07:19:32 -07:00
dependabot[bot] f1347bc4e0 CI: Bump actions/cache from 3 to 4
Bumps [actions/cache](https://github.com/actions/cache) from 3 to 4.
- [Release notes](https://github.com/actions/cache/releases)
- [Changelog](https://github.com/actions/cache/blob/main/RELEASES.md)
- [Commits](https://github.com/actions/cache/compare/v3...v4)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-01-22 09:02:37 -05:00
Andrew Kaster 6ea4c248ab CI: Update comment-on-pr version
This new rev changes the Dockerfile to use a ruby 3 image, just like the
upstream repo.
2024-01-12 11:16:11 -07:00
Idan Horowitz 0befa77b99 CI: Update comment-on-pr version
The newer version installs a specific version of octokit, since the
latest version no longer supports the ruby installation in github
actions vms. This should resolve the CI issues.
2024-01-10 09:34:55 +01:00
dependabot[bot] 37f2d49818 CI: Bump github/codeql-action from 2 to 3
Bumps [github/codeql-action](https://github.com/github/codeql-action) from 2 to 3.
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](https://github.com/github/codeql-action/compare/v2...v3)

---
updated-dependencies:
- dependency-name: github/codeql-action
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-12-24 23:56:34 +01:00
dependabot[bot] bbf37473b8 CI: Bump actions/upload-artifact from 3 to 4
Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact) from 3 to 4.
- [Release notes](https://github.com/actions/upload-artifact/releases)
- [Commits](https://github.com/actions/upload-artifact/compare/v3...v4)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-12-24 23:56:18 +01:00
dependabot[bot] e5120ab389 CI: Bump actions/setup-python from 4 to 5
Bumps [actions/setup-python](https://github.com/actions/setup-python) from 4 to 5.
- [Release notes](https://github.com/actions/setup-python/releases)
- [Commits](https://github.com/actions/setup-python/compare/v4...v5)

---
updated-dependencies:
- dependency-name: actions/setup-python
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-12-11 12:07:40 -07:00
dependabot[bot] f1837eded9 CI: Bump actions/github-script from 6 to 7
Bumps [actions/github-script](https://github.com/actions/github-script) from 6 to 7.
- [Release notes](https://github.com/actions/github-script/releases)
- [Commits](https://github.com/actions/github-script/compare/v6...v7)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-12-04 07:13:30 -05:00
dependabot[bot] 5f4015821e CI: Bump JamesIves/github-pages-deploy-action from 4.4.3 to 4.5.0
Bumps [JamesIves/github-pages-deploy-action](https://github.com/jamesives/github-pages-deploy-action) from 4.4.3 to 4.5.0.
- [Release notes](https://github.com/jamesives/github-pages-deploy-action/releases)
- [Commits](https://github.com/jamesives/github-pages-deploy-action/compare/v4.4.3...v4.5.0)

---
updated-dependencies:
- dependency-name: JamesIves/github-pages-deploy-action
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-12-04 06:32:42 -05:00
dependabot[bot] 2ff7011b7a CI: Bump actions/setup-java from 3 to 4
Bumps [actions/setup-java](https://github.com/actions/setup-java) from 3 to 4.
- [Release notes](https://github.com/actions/setup-java/releases)
- [Commits](https://github.com/actions/setup-java/compare/v3...v4)

---
updated-dependencies:
- dependency-name: actions/setup-java
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-12-04 06:32:26 -05:00
Timothy Flynn d8f84ef76c CI: Disable running aarch64 tests in CI for now
These tests almost always fail, and all we do is try to boot. Disable it
for now until it can pass more reliably. Note we still compile aarch64,
so the build shouldn't break unnoticed.
2023-12-01 09:35:54 -05:00
dependabot[bot] 7510fa1598 CI: Bump mymindstorm/setup-emsdk from 12 to 13
Bumps [mymindstorm/setup-emsdk](https://github.com/mymindstorm/setup-emsdk) from 12 to 13.
- [Release notes](https://github.com/mymindstorm/setup-emsdk/releases)
- [Commits](https://github.com/mymindstorm/setup-emsdk/compare/v12...v13)

---
updated-dependencies:
- dependency-name: mymindstorm/setup-emsdk
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-11-27 09:02:30 -07:00
Timothy Flynn 6c29fc07fc CI: Ensure test262 and test262-jit results are stored in the same file
This will allow BuggieBot to display both results from the /test262
command on Discord.
2023-11-05 15:02:21 -05:00
Ali Mohammad Pur 7a83870905 Meta: Run test262 with JIT compilation enabled in CI
This will let us have more :yakgraph:s!
2023-11-05 17:35:58 +01:00
Timothy Flynn 92e9145edc CI: Switch export of test262/Wasm test results to libjs-data 2023-10-31 11:33:15 -04:00
dependabot[bot] 82ce4acfe5 CI: Bump actions/setup-node from 3 to 4
Bumps [actions/setup-node](https://github.com/actions/setup-node) from 3 to 4.
- [Release notes](https://github.com/actions/setup-node/releases)
- [Commits](https://github.com/actions/setup-node/compare/v3...v4)

---
updated-dependencies:
- dependency-name: actions/setup-node
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-10-30 10:22:21 +00:00
dependabot[bot] 8e1b0a46f7 CI: Bump actions/checkout from 3 to 4
Bumps [actions/checkout](https://github.com/actions/checkout) from 3 to 4.
- [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/v3...v4)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-10-30 10:21:11 +00:00
Aliaksandr Kalenik 95c154d9bd LibAccelGfx+Meta: Introduce OpenGL painting library
This change introduces a new 2D graphics library that uses OpenGL to
perform painting operations. For now, it has extremely limited
functionality and supports only rectangle painting, but we have to
start somewhere.

Since this library is intended to be used by LibWeb, where the
WebContent process does not have an associated window, painting occurs
in an offscreen buffer created using EGL.

For now it is only possible to compile this library on linux.
Offscreen context creation on SerenityOS and MacOS will have to be
implemented separately in the future.

Co-Authored-By: Andreas Kling <awesomekling@gmail.com>
2023-10-29 17:13:23 +01:00
Ali Mohammad Pur 1f67bbcca5 Meta: Restore the Wasm build CI for LibJS
The new workflow simply publishes the generated objects as artifacts.
2023-10-27 05:57:18 +03:30
Timothy Flynn 1d26550370 CI: Remove git LFS tracking of test262 data
See:
75f5027d5e
2023-10-26 07:02:18 -04:00
Andrew Kaster 39202f2222 CI: Re-enable booting aarch64 in CI self-test mode on CI 2023-10-17 11:02:25 -06:00
Tim Schumacher a8084072c6 Meta: Remove myself from LibELF-related CODEOWNERS entries 2023-10-05 08:58:36 +02:00
Daniel Bertalan 1cfaadec02 Meta: Add myself to CODEOWNERS
This covers the few core things I'm likely to have strong opinions
about.
2023-09-22 09:05:45 +02:00
dependabot[bot] e31a3ef2ad CI: Bump docker/login-action from 2 to 3
Bumps [docker/login-action](https://github.com/docker/login-action) from 2 to 3.
- [Release notes](https://github.com/docker/login-action/releases)
- [Commits](https://github.com/docker/login-action/compare/v2...v3)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-09-17 20:58:02 -06:00
Daniel Bertalan d87fbcccb7 Toolchain+Ports: Update QEMU to 8.1.0
This version contains my patch that adds support for the proprietary
VideoCore mailbox message for reading the kernel command line, so
patches aren't needed anymore.
2023-09-17 15:26:20 -06:00
dependabot[bot] 38d9c4d19c CI: Bump actions/checkout from 3 to 4
Bumps [actions/checkout](https://github.com/actions/checkout) from 3 to 4.
- [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/v3...v4)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-09-11 09:11:27 -04:00
Andrew Kaster f660fc97a9 CI: Specify SERENITY_CACHE_DIR for test262 job
We weren't actually using the caches at all for this job after some
path changes recently.
2023-08-14 15:37:02 -04:00
Andrew Kaster 7824206f34 CI: Point test-wasm binary at new Build/bin location
Fixes breakage after ea0e07ec8f
2023-08-14 13:23:27 -06:00
Sam Atkins 43b4e84d9c Meta: Remove "Check manpages for completeness" CI step
This is taking over 4 minutes to run on CI, and checks only a dozen
manpages, which is of limited benefit.

Leaving the manpage-generation code in place for now.
2023-08-14 07:58:33 +02:00
Daniel Bertalan 1e737e763e CI: Force UBSan errors to be fatal for Serenity tests
The test runner script sets the `halt_on_error=1` `UBSAN_OPTIONS` flag
already, this just makes it a compile-time decision. This should
alleviate some of the slowness of running on-target tests without
hardware acceleration.
2023-08-13 05:14:07 +02:00
Timothy Flynn 3c2d846b94 CI: Restore running test262 and Wasm tests 2023-08-08 10:59:41 -04:00
Daniel Bertalan 3d19eebba0 CI: Remove workflows dependent on the LibJS website
The linusg/libjs-website repository, which houses the sources for
libjs.dev, has recently been archived. Because of this, we can no longer
update the test262 results page or the Wasm repl :^(. Let's remove these
GitHub Actions workflows to make CI green again.

We'll eventually need something similar once the situation with the
website is sorted out, but having this in git history is enough for
that.
2023-08-06 19:26:28 -06:00
Andreas Kling fc44d09221 CI: Pull test262 runner from SerenityOS/libjs-test262 2023-08-06 08:56:23 +02:00
Tim Schumacher d95f1deade Meta: Add myself to CODEOWNERS 2023-08-05 04:50:00 +02:00
Andreas Kling 48af6a7325 Meta: Remove .github/FUNDING.yml
Only the top 4 entries from this file actually show up on the GitHub
interface, so instead of cutting some people off, let's just not have
the list.

There are already sponsorship links in README.md anyway :^)
2023-08-04 15:16:33 +02:00
Sam Atkins 7c9b9520ce Meta: Add myself to CODEOWNERS 2023-08-04 14:08:31 +01:00
Andreas Kling 67c60aa009 Meta: Prune CODEOWNERS file 2023-08-04 12:32:13 +02:00
Jelle Raaijmakers 55af4addc8 CI: Disable aarch64 tests
For some reason, the tests are flaky for the aarch64 architecture when
running on a CI runner. This causes a lot of unnecessary red crosses for
PRs and since the test outcome doesn't seem to be too trustworthy, we
are better off not running these tests for now.
2023-08-04 10:27:03 +02:00
Timothy Flynn 77d7f715e3 LibJS+CI: Remove bytecode optimization passes for now
These passes have not been shown to actually optimize any JS, and tests
have become very flaky with optimizations enabled. Until some measurable
benefit is shown, remove the optimization passes to reduce overhead of
maintaining bytecode operations and to reduce CI churn. The framework
for optimizations will live on in git history, and can be restored once
proven useful.
2023-07-21 19:47:36 +03:30
dependabot[bot] e5a6c268ca CI: Bump JamesIves/github-pages-deploy-action from 4.4.2 to 4.4.3
Bumps [JamesIves/github-pages-deploy-action](https://github.com/jamesives/github-pages-deploy-action) from 4.4.2 to 4.4.3.
- [Release notes](https://github.com/jamesives/github-pages-deploy-action/releases)
- [Commits](https://github.com/jamesives/github-pages-deploy-action/compare/v4.4.2...v4.4.3)

---
updated-dependencies:
- dependency-name: JamesIves/github-pages-deploy-action
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-07-18 00:26:23 +02:00
Andrew Kaster d185217599 Meta: Add gn linter
This just calls ``gn format`` on any .gn or .gni files, but it matches
the pattern of the other linters.
2023-07-13 14:07:25 -06:00
Timothy Flynn 388d455575 Meta: Switch to clang-format-16 as the standard formatter
This includes a few new options to the .clang-format configuration file
to A) adhere to option changes within clang-format 16 (namely the option
AlignTrailingComments), and B) enforce existing style guide rules with
new clang-format rules.
2023-07-08 10:32:56 +01:00
Timothy Flynn d6a3a50ec9 CI: Show comparison of test262 AST results to bytecode results
Just for convenience to more easily see what is not working in bytecode.
2023-07-05 18:55:00 +02:00
Linus Groh 8ac4a5315b Revert "Meta: Remove my CODEOWNERS entries"
This reverts commit 20f2389e2a.
2023-06-28 18:53:29 +01:00
Timothy Flynn 9f907ebb43 CI: Update Wasm pipeline to use emscripten 3.1.25
This is required for LLVM 15 support.
2023-06-21 06:49:47 -04:00
Jelle Raaijmakers 5ff80b60cf Meta: Rename BuildIt.sh to BuildGNU.sh
Bring it in line with `Toolchain/BuildClang.sh`.
2023-06-12 16:22:55 -07:00
implicitfield 71b184accf Meta+Lagom: Enable CMAKE_BUILD_WITH_INSTALL_RPATH
On macOS, CMake incorrectly tries to add and/or remove rpaths from files
that it has already processed when it performs installation. Setting the
rpaths during the build process ensures that they are only set once, and
as a bonus, makes installation slightly more performant.

Fixes #10055.
2023-06-08 17:59:53 +02:00
dependabot[bot] c241325b1f CI: Bump JamesIves/github-pages-deploy-action from 4.4.1 to 4.4.2
Bumps [JamesIves/github-pages-deploy-action](https://github.com/JamesIves/github-pages-deploy-action) from 4.4.1 to 4.4.2.
- [Release notes](https://github.com/JamesIves/github-pages-deploy-action/releases)
- [Commits](https://github.com/JamesIves/github-pages-deploy-action/compare/v4.4.1...v4.4.2)

---
updated-dependencies:
- dependency-name: JamesIves/github-pages-deploy-action
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-06-06 23:37:04 +02:00
Daniel Bertalan 540ea9f1c4 CI: Do not expect test-results.log to exist on AArch64
The AArch64 port is still unstable, and in some cases, we may encounter
a kernel panic or Shell crash that prevents `test-results.log` from
being written to disk. The CI job would fail when we tried to print out
the contents of this non-existent file. We have been ignoring its
contents anyway, so let's not read it at all.
2023-05-30 11:44:57 +02:00
Daniel Bertalan 4cc1de1b03 CI: Add testing for AArch64 :^)
This should help us avoid accidentally breaking the build for AArch64.
Currently, some tests are expected to fail, so CI runs will be
considered successful even if the kernel panics or if there are test
failures.

For now, we have to build Qemu with a custom patch from source in order
for SystemServer to detect self-test mode.
2023-05-28 05:05:09 -06:00
Daniel Bertalan 58da4c93fb Toolchain+CI: Remove cache handling logic from BuildIt.sh
Instead of manually compressing/decompressing a toolchain tarball if
`TRY_USE_LOCAL_TOOLCHAIN` is set, let's use the cache action's automatic
built-in compression (which is zstd, I believe).
2023-05-28 05:05:09 -06:00
Daniel Bertalan 18ee6e457d CI: Update actions/cache to v3
This version now natively supports read-only caches (`cache/restore@v3`)
so we no longer need to pin the version to a commit in actions/cache#489
which is an unmerged PR.

The update is mostly mechanical:
- Steps with `CACHE_SKIP_SAVE` not set can use the plain `cache@v3`
  action.
- Steps with `CACHE_SKIP_SAVE` set to a constant `true` are changed to
  `cache/restore@v3`.
- Steps with saving disabled when running on a pull request are changed
  to a pair of `cache/restore@v3` and `cache/save@v3`. This setup is
  used for the large (100s of MB) ccache and Toolchain caches. As caches
  saved in pull requests can only be utilized from within the same PR,
  uploading these would only waste time and our storage quote.
  Therefore, we skip the `save` steps if running on a PR.

Co-authored-by: Cameron Youell <cameronyouell@gmail.com>
2023-05-28 05:05:09 -06:00
Jelle Raaijmakers b76219f702 Meta: Add myself to CODEOWNERS for LibSQL 2023-05-25 06:19:16 -07:00
Jelle Raaijmakers 76a0e601e5 Meta: Only run devcontainer build for the main repository
Let's not run this job on everyone's fork.
2023-05-24 20:19:40 +02:00
Jelle Raaijmakers 971d3eef4a Meta: Hardcode lowercase repository name for devcontainer
This should unbreak CI.
2023-05-24 20:07:34 +02:00
Josh Spicer 7026174458 Meta: Prebuild repo dev container
This commit adds a GitHub Workflow to prebuild the dev container file
present at .devcontainer/devcontainer.json. This prebuilt image is
pushed to GitHub Container Registry (ghcr).

An additional devcontainer.json is added consuming that image.
This dev container can be selected in editors that process dev
containers (ie GitHub Codespaces), to speed up time to editor.
2023-05-24 19:27:59 +02:00
Timothy Flynn f18ae19122 CI: Update the action to package the JS REPL to macOS 13
The macOS 13 runner has Xcode 14.3. which is required to compile JS
after d6b786b3fe (though we do have to
explicitly select Xcode 14.3, as 14.2 is the default).
2023-05-09 08:36:33 -06:00
Linus Groh 20f2389e2a Meta: Remove my CODEOWNERS entries 2023-04-17 19:22:10 +01:00
Massimo Paladin 1d7bad5347 Meta: Remove SonarCloud cache and threads setup as it is now default
No need to configure the cache and threads anymore,
SonarCloud now has an automatic analysis caching and
threads detection. See:
https://docs.sonarcloud.io/advanced-setup/languages/c-c-objective-c/#analysis-cache
2023-03-28 04:05:01 -06:00
Nico Weber 3cff36b7ab Meta+CMake: Remove "image" ninja target in favor of "qemu-image"
"image" was an alias for "qemu-image".

I want to add an `image` userland utility, which clashes with that
shortname.

So remove the existing "image" target. It was just an alias for
"qemu-image".

If you use serenity.sh to build, nothing changes. This only affects you
if you run ninja manually -- you now have to say `ninja qemu-image` to
build the disk image.
2023-03-12 01:48:56 +00:00
Andreas Kling 47797ff52c Meta: Remove Brian's entries from CODEOWNERS
The scope of these entries is not proportional to Brian's capacity for
code review at the moment, so let's stop marking him as "code owner" on
almost every PR. :^)
2023-03-11 13:11:09 +01:00
dependabot[bot] f0a99634dd CI: Bump JamesIves/github-pages-deploy-action from 4.1.1 to 4.4.1
Bumps [JamesIves/github-pages-deploy-action](https://github.com/JamesIves/github-pages-deploy-action) from 4.1.1 to 4.4.1.
- [Release notes](https://github.com/JamesIves/github-pages-deploy-action/releases)
- [Commits](https://github.com/JamesIves/github-pages-deploy-action/compare/4.1.1...v4.4.1)

---
updated-dependencies:
- dependency-name: JamesIves/github-pages-deploy-action
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-03-02 05:49:02 +00:00
Andrew Kaster 1b24fa5829 CI+Lagom: Use the same options for running test-wasm in ctest and CI
Make sure that we set SERENITY_SOURCE_DIR in ctest, and make sure to
pass the test root to the CI job.

More overhaul of test-js 'test root' finding is needed however.
2023-02-24 00:02:25 -07:00
Linus Groh 007f23ab94 Meta: Mark myself as a CODEOWNER of Emoji.{cpp,h} in LibGfx 2023-02-22 21:55:59 +00:00
Linus Groh 6bc6085219 Meta: Mark myself as a CODEOWNER of a few more things
Browser, Ladybird, the neofetch & python3 ports I added.
2023-02-11 13:26:47 +00:00
networkException 143f28b735 CI: Add script to post mastodon toots for commits on master
This patch adds the toot-commits script (mirroring tweet-commits),
posting new commits on the master branch to
https://serenityos.social/@commits.
2023-02-10 13:54:07 +00:00
Timothy Flynn 49474d8718 Revert "Meta: Automatically select best apt mirror"
This reverts commit b0606d90f0.

This seems to prevent libegl-mesa0 from being installed (which for some
reason isn't failing the Azure jobs - the failure seen later is that
ccache is not installed).
2023-02-09 14:57:27 +00:00
MacDue b0606d90f0 Meta: Automatically select best apt mirror
This is an attempt to avoid issues with the azure ubuntu apt mirror
by using apt-spy2 to select the best mirror before installing
dependencies.
2023-02-07 13:22:17 +00:00
Timothy Flynn 9f9b8e7273 CI: Move running LibWeb layout tests to Azure
The current config on GitHub Actions does not use ccache, so it takes
quite a while to build. Instead, let's just run these tests on Azure
where we already build Ladybird and have ccache enabled. This also lets
us sanitize LibWeb on both Linux and macOS.

The script changes here are to A) handle differences between Azure and
GitHub Actions and B) to support running on macOS.
2023-02-01 14:04:44 +00:00
Aliaksandr Kalenik 78b503946c Tests: Add LibWeb layout tests 2023-01-29 11:33:33 +00:00
Timothy Flynn e634778679 CI: Install a more up-to-date version of emscripten
This is to allow using more recent C++20 features in upcoming commits.
Version 3.1.6 is what is installed on Ubuntu 22.10 and works with the
C++20 features we want.
2023-01-20 14:24:12 -05:00
Jelle Raaijmakers 100c8f9bcf CI: Add GitHub author presence check in commit linter
If GitHub is unable to match a commit's author to a GitHub user, the
`.author` object is set to `null` in the API's response.
2023-01-19 23:48:57 +00:00
dependabot[bot] 9f2d4d3fd5 CI: Bump actions/setup-java from 1 to 3
Bumps [actions/setup-java](https://github.com/actions/setup-java) from 1 to 3.
- [Release notes](https://github.com/actions/setup-java/releases)
- [Commits](https://github.com/actions/setup-java/compare/v1...v3)

---
updated-dependencies:
- dependency-name: actions/setup-java
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-01-18 14:49:51 +00:00
dependabot[bot] 3d9b88d2a7 CI: Bump r-lib/actions from 1 to 2
Bumps [r-lib/actions](https://github.com/r-lib/actions) from 1 to 2.
- [Release notes](https://github.com/r-lib/actions/releases)
- [Commits](https://github.com/r-lib/actions/compare/v1...v2)

---
updated-dependencies:
- dependency-name: r-lib/actions
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-01-18 14:49:36 +00:00
dependabot[bot] cdc2d6ac18 CI: Bump github/codeql-action from 1 to 2
Bumps [github/codeql-action](https://github.com/github/codeql-action) from 1 to 2.
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](https://github.com/github/codeql-action/compare/v1...v2)

---
updated-dependencies:
- dependency-name: github/codeql-action
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-01-18 14:48:47 +00:00
dependabot[bot] 086116983b CI: Bump actions/setup-node from 2 to 3
Bumps [actions/setup-node](https://github.com/actions/setup-node) from 2 to 3.
- [Release notes](https://github.com/actions/setup-node/releases)
- [Commits](https://github.com/actions/setup-node/compare/v2...v3)

---
updated-dependencies:
- dependency-name: actions/setup-node
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-01-18 14:48:16 +00:00
dependabot[bot] a8bd231a65 CI: Bump actions/upload-artifact from 2 to 3
Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact) from 2 to 3.
- [Release notes](https://github.com/actions/upload-artifact/releases)
- [Commits](https://github.com/actions/upload-artifact/compare/v2...v3)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-01-18 14:47:40 +00:00
Jelle Raaijmakers 6ef8100e25 CI: Ignore dependabot in commit linter for PRs
Dependabot cannot be configured to significantly change the way it
formats its commit message, and it currently includes a "Signed-Off-By"
tag which is not allowed by our linter.

This updates our CI commit linter to exclude bots from the checks.
2023-01-18 14:06:05 +00:00
Brian Gianforcaro 87b18f9304 Meta: Add dependabot configuration to update github actions 2023-01-16 20:59:23 -08:00
Brian Gianforcaro 19a87fce36 Meta: Disable PVS Studio v1052 static analysis rule in github actions
This rule conflicts with the projects style guide, and ends up being
just a bunch of unnecessary noise. So lets just suppress it.
2023-01-16 09:45:46 +01:00
Brian Gianforcaro 745883e29b Meta: Add myself to CODEOWNERS 2023-01-16 08:28:38 +01:00
Jelle Raaijmakers 4ee40aeefd Meta: Add GMTA to CODEOWNERS 2023-01-09 07:07:47 -05:00
Ali Mohammad Pur 0a244b9c1f Meta: Mark myself as a CODEOWNER of a bunch of paths 2023-01-07 01:38:30 +01:00
Linus Groh cbad79fa86 CI: Use default provided GITHUB_TOKEN for PR label workflow
Using BUGGIEBOT_TOKEN doesn't work in all cases for unknown reasons.

See also:
https://github.com/actions/github-script#using-a-separate-github-token
2023-01-06 19:11:41 +01:00
Linus Groh 7c2e134abd CI: Unify secrets.BUGGIEBOT and secrets.BUGGIEBOT_TOKEN
The latter is clearer, so let's use that.
2023-01-06 18:19:42 +01:00
Luke Wilde a6716e694d CI: Automatically apply pull request labels for generic PR actions
Generic PR actions include opening a PR, submit review comments, adding
new commits, etc. This prevents the reviewer and PR submitter from
having to manually bounce the labels back and forth in the general
case. The reviewer also may not have permission to set labels, meaning
the reviewer won't be able to update the labels accordingly themselves.

This does not handle more subjective labels such as pr-is-blocked and
pr-unclear. Unfortunately, there does not seem to be a GitHub Actions
trigger for when a PR has merge conflicts, so the pr-has-conflicts
label cannot be automatically applied.

Co-authored-by: kleines Filmröllchen <filmroellchen@serenityos.org>
2023-01-06 15:25:30 +01:00
Timothy Flynn c88aa21302 Meta: Mark myself a CODEOWNER of some paths to be alerted of related PRs 2023-01-03 19:51:49 +01:00
Linus Groh e7627af555 Meta: Add CODEOWNERS file
These are the areas of the system where I'd like GitHub to inform me
about changes, other maintainers are of course free to add themselves.

Subscribing to all notifications and using email filters is no longer
practical :^)

https://docs.github.com/en/repositories/managing-your-repositorys-settings-and-features/customizing-your-repository/about-code-owners
2023-01-03 12:10:56 -05:00
Liav A 55f17fff36 Meta: Remove i686 target 2022-12-28 11:53:41 +01:00
Timothy Flynn 2334b4cebd Meta: Move UCD/CLDR/TZDB downloaded artifacts to Build/caches
They currently reside under Build/<arch>, meaning that they would be
redownloaded for each architecture/toolchain build combo. Move them to a
location that can be re-used for all builds.
2022-12-24 09:46:28 -05:00
Timothy Flynn 186accb81d Meta: Add downloaded artifact caches to nightly static analysis builds 2022-12-24 09:46:28 -05:00
Timothy Flynn fba1569eaf Meta: Use correct cache key for CLDR data during CI
Not a huge deal because this at least would still differ from the UCD
cache due to the locale_data.cmake. But this will use the same cache key
as other CI jobs.
2022-12-24 09:46:28 -05:00
Lucas CHOLLET fa29214d9a CI: Fix commit linting for multi-line commit messages
Third time's the charm
2022-12-10 17:52:26 +00:00
Lucas CHOLLET b3478b3613 CI: Correct regex to retrieve git merge commit
In 839c1a57, I wrongly assumed that a matched pattern will raise an
error, it's the opposite. This patch "negates" the regex to solve the
issue.
2022-12-10 16:23:09 +00:00
Lucas CHOLLET 839c1a574d CI: Add a check to report git merge commit 2022-12-10 12:07:06 +00:00
Linus Groh 8639d8bc21 Meta: Switch to clang-format-15 as the standard formatter
The two major changes noticeable on the SerenityOS codebase are:
- Much improved support for const placement, clang-format-14 ignored
  our east-const configuration in various places
- Different formatting for requires clauses, now breaking them onto
  their own line, which helps with readability a bit

Current versions of CLion also ship LLVM 15, so the built-in formatting
now matches CI formatting again :^)
2022-12-03 23:52:23 +00:00
Idan Horowitz 0eeba7084d CI: Run test262 tests with optimized bytecode as well 2022-12-03 17:48:05 +00:00
Andrew Kaster f539bf467c Meta+CI: Add CI job specifically for bundling serenity-js artifacts
These are used by esvu, and it is sad that we don't have macOS binaries
availble for consumption by esvu users. Add a matrix job to handle this
separately from the test262 results.
2022-12-03 09:05:40 -05:00
Ali Mohammad Pur 4285b6ac4d Meta: Build the wasm libs with -DBUILD_SHARED_LIBS=OFF
CMake already does this, but it also emits a warning about it, do that
to make the CMake gods happier.
2022-11-26 10:23:39 +01:00
Ali Mohammad Pur b5301a3ea9 Meta: Use the correct cache paths in the wasm workflow
Previously we were caching unicode data for the lagom tools, but we
should've been caching them for the actual build instead.
2022-11-26 10:23:39 +01:00
davidot 617d29d2fb Meta: Update actions/libjs-test262 action to newer version
This should get rid of the non node 16 and outdated command warnings.
2022-11-26 09:53:14 +01:00
Ali Mohammad Pur 7c93724ee0 Meta: Build and deploy the WebAssembly LibJS REPL on merge 2022-11-26 02:23:15 +03:30
martinfalisse 432b2aed67 CI: Upgrade actions/github-script to v6
The only breaking change is an internal switch to node 16 which doesn't
seem to affect the functionality of the lintcommits script.
2022-11-25 23:03:59 +01:00
Jelle Raaijmakers f652c75f34 CI: Check out PR merge branch instead of source 2022-11-05 00:20:58 -04:00
Timothy Flynn e1ac9c83b2 CI: Also update the main workflow to use actions/checkout version 3 2022-11-03 13:32:16 +00:00
Filiph Sandström 0252d7291c CI: Upgrade actions/setup-python to v4
Just as the actions/checkout the only breaking change is a internal one
related to upgrading from node 12 to node 16.
2022-11-03 11:29:45 +00:00
Filiph Sandström 3ddefb9f5f CI: Upgrade actions/checkout to v3
actions/checkout's only change between v2 and v3 is an internal switch
to node 16 which wont effect our usage of it at all.
2022-11-03 11:29:45 +00:00
Luke Wilde 5ebfa8d620 CI: Make the test262 worker use GCC 12 2022-10-31 16:14:41 -04:00
Linus Groh bc2ebcadc0 Everywhere: Require version >= 12 for GCC host compiler
So far we've gotten away with using GCC 11 for Lagom and to compile the
toolchain, but via #15795 we discovered a compiler bug that has been
fixed in the latest version but would error the build with CI's GCC 11.
Time for an upgrade :^)

We already use ubuntu-22.04 images in most places, so this is pretty
straightforward. The only exception is Idan's self-hosted runner, which
uses Ubuntu Focal. LibJS should build fine with GCC 11, still.
2022-10-25 23:15:51 +01:00
Brian Gianforcaro b8e0cec20e Meta: Instruct stale-bot to ignore pr-is-blocked PRs 2022-10-15 12:05:57 +02:00
networkException 277465e699 Meta: Add networkException's GitHub sponsors to the funding options list 2022-10-06 15:45:12 +02:00
kleines Filmröllchen fbe6ea7897 Meta: Add my GitHub sponsor profile to the repository list 2022-10-06 14:59:04 +02:00
kleines Filmröllchen a5b72577e6 Meta: Enable full region dumping on CI 2022-09-24 14:22:09 +02:00
davidot 3359f192a8 Meta: Make the CI build the new test262 test runner 2022-09-11 20:25:51 +01:00
Timothy Flynn 89d1813b5d LibUnicode: Move CLDR data generators to a LibLocale subfolder
To prepare for placing all CLDR generated data in a new library,
LibLocale, this moves the code generators for the CLDR data to the
LibLocale subfolder.
2022-09-05 14:37:16 -04:00
Brian Gianforcaro 0db5f62f57 Meta: Upgrade to the lastest version of the SonarScanner CLI 2022-08-17 11:54:59 -07:00
Liav A 6164729d06 Everywhere: Get rid of the fbdev kernel boot argument remainders 2022-08-14 01:03:23 +01:00
Ali Mohammad Pur 33d74fb9ce Meta: Upgrade CI's prettier to version 2.7.1
The old version didn't know how to parse regexps with the unicodeSets
flag set.
2022-07-20 21:25:59 +01:00
Idan Horowitz c8d1c263d6 CI: Use a custom ccache directory in GitHub CI
This ensures that updates to ccache that change the default cache
directory do not break out github ccache cache.
2022-07-02 20:23:01 +03:00
kleines Filmröllchen b0f546cd60 Meta: Run PNG size checks on CI
For safety, the PNG check doesn't run if there's no optipng installed (I
didn't want to break everyone's pre-commit hook with the introdcution of
that check). To make it run on CI, just install optipng which is
available in the standard Ubuntu package repo.
2022-06-18 21:58:43 +04:30
Andreas Kling 7ba79dbd9d Meta: Add Xexxa's GitHub Sponsors to funding options :^) 2022-06-15 17:39:32 +02:00
EWouters 860c4763c3 Meta: Use Ubuntu 22.04 images for static analysis
Fixes 2f1029e while `ubuntu-latest` is not `ubuntu-22.04`.
2022-05-25 23:15:08 +01:00
Nathan Wallace 2f1029e7c4 Meta+CI: Upgrade to ubuntu-22.04
This commit upgrades Github Actions workers to ubuntu-22.04

As part of that change, we (currently) no longer need the backports
nor toolchain-r/test PPAs, because ubuntu-22.04 include
recent-enough version of QEMU and gcc
2022-05-24 06:30:57 -04:00
Daniel Bertalan 012aff1f41 CI: Fix syntax error after d0edf2627c 2022-05-20 12:44:12 +01:00
Daniel Bertalan d0edf2627c Toolchain+Ports: Split the GCC patches
This shouldn't cause any breaking changes, so a toolchain rebuild is not
required.

As per Hendiadyoin's request, math errno is disabled by default, which
should enable some extra compiler optimizations in LibGL and LibSoftGPU
code that uses math functions heavily.

Co-Authored-By: Ali Mohammad Pur <mpfard@serenityos.org>
2022-05-19 20:17:10 +04:30
Daniel Bertalan 57c6829249 CI: Update the path to our LLVM patches
The LLVM patch has been broken up into smaller commits and moved to a
separate directory. CI should look at this new location to determine if
the toolchain needs to be rebuilt.
2022-04-23 10:43:32 -07:00
Brian Gianforcaro 7c0495cbac Meta: Reword and reformat the suppression comments for PVS Studio 2022-04-03 16:18:32 -07:00
Brian Gianforcaro d1ffdd88b6 Meta: Sort PVS Studio suppressions numerically :^) 2022-04-03 16:18:32 -07:00
Brian Gianforcaro 95df8882e6 Meta: Suppress PVS Studio Rule v603
This rule seems to be confused about basic syntax of C++.
It flags with false positives such as:

    ```
    The object was created but it is not being used. If you wish
    to call constructor, 'this->set_y::set_y(....)' should be used.
    ```

Lets suppress it until it can be fixed.
2022-04-03 16:18:32 -07:00
Brian Gianforcaro 2afcd45299 Meta: Suppress PVS Studio Rule v591 "non-void functions should return"
This rule appears to be fundamentally broken for our code base, it
flags `void` functions all over the place, as well as constructors.

Lets suppress it for now.
2022-04-03 16:18:32 -07:00
Idan Horowitz 852ae6c195 Meta: Switch to clang-format-14 as the standard formatter
Now that clang-format-14 ubuntu packages are available, it's time to
finally upgrade our clang-format version. This version brings with it
a bunch of useful features with const-placement being the most notable.
These will be enabled in the following commits.
2022-04-01 21:24:45 +01:00
Ali Mohammad Pur e235c2e21c Meta: Ignore the return value of test-wasm on CI 2022-03-17 23:20:06 +03:30
Ali Mohammad Pur 83883bf3cb Meta: Use sudo to unpack wabt package in CI
The self-hosted runner doesn't run the commands as root.
2022-03-17 23:10:18 +03:30
Ali Mohammad Pur 01d506a953 Meta: Install a recent build of wabt for INCLUDE_WASM_SPEC_TESTS in CI
Also skip prettifying the generated tests as we don't need to look at
them.
2022-03-17 22:42:00 +03:30
Ali Mohammad Pur f27c48d707 Meta: Copy wasm results to the right file
Hopefully for the last time, copy the results to the right file.
2022-03-17 11:25:52 +03:30
Ali Mohammad Pur cb6b372a3b Meta: Actually copy the new wasm per-file results after generating them
Otherwise the website data won't be updated.
2022-03-16 20:19:24 +03:30
Ali Mohammad Pur 07c7827dee Meta: Don't use heredocs as file paths
Heredocs are passed to stdin, so make `jq` read it from stdin instead of
treating it as a file path argument.
2022-03-16 19:48:04 +03:30