Commit graph

372 commits

Author SHA1 Message Date
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
Ali Mohammad Pur
c0dbea43f3 Meta: Run Wasm spec tests on master push
...and report the results on libjs-website.
2022-03-16 15:44:52 +00:00
Timothy Flynn
5bb00a75f5 CI: Do not "always" run GitHub Actions workflows
This way, if a branch is force-pushed in an open PR, running workflows
can be canceled.

https://docs.github.com/en/actions/learn-github-actions/expressions#always

"Always - Causes the step to always execute, and returns true, even when
canceled"
2022-03-14 10:27:19 -04:00
Idan Horowitz
bc98ad9cc1 CI: Disable compiletime header check
This check does not seem to provide a lot of value, and it is pretty
annoying, so let's just disable it for now.
2022-02-16 23:19:50 +02:00
Brian Gianforcaro
01cd838a4c Meta: Suppress rule V1076 in PVS-Studio Static Analysis
This rule attempts to flag invisible Unicode characters which would
potentially be used by an attacker to hide code that humans can't see.
https://pvs-studio.com/en/docs/warnings/v1076/

AKA the "Trojan Source" attack: https://arxiv.org/abs/2111.00169

Unfortunately our `LibUnicode` source code contains these hidden
characters as they are part of the Unicode character set that the
library exposes. So we have, and will always have 100s of false
positives.
2022-02-12 19:32:47 +02:00
Timothy Flynn
3c88749800 CI: Bundle and upload a js(1) release package
To include Serenity's LibJS on test262.report, we will need to integrate
with esvu. Create a .tar.gz with js(1) binary and the Lagom libraries it
it needs to run, and upload that package as a build artifact.
2022-02-09 12:19:56 +03:30
Rodolfo Olivieri
a05d25d4e5 CI: Add statement to ensure workflow runs only on serenity
Ensure that the `cmake.yml` workflow runs only on SerenityOS repository.
2022-02-09 11:27:06 +03:30
creator1creeper1
7851151cfb Meta: Make check-symbols.sh use the correct build directory
Since the build now happens in Build/$SERENITY_ARCH/ and not in Build/,
this updates check-symbols.sh to use the correct directory to check the
LibC symbols in. For some reason, the constant failures did not show
up as errors in CI.
2022-01-15 17:51:40 +01:00
Idan Horowitz
a8537ad096 CI: Require a blank line between commit titles and bodies 2022-01-11 23:45:14 +02:00
Linus Groh
14f6856d1d CI: Bump prettier to latest version (2.5.1) 2022-01-11 22:43:43 +01:00
Daniel Bertalan
d21c38a72d CI: Hash only relevant files for the key of the compiler cache
In the last few commits, a second patch was added to the LLVM toolchain,
and it no longer uses our binutils patch. This commit changes the CI
cache keys accordingly, in order to prevent unnecessary rebuilds of both
toolchains when only one is changed.

The Clang toolchain's cache now only takes into account patches that
begin with `llvm`, and the GNU toolchain excludes those from the hash
calculation. We now also hash the two CMake cache files that we use for
building LLVM and its runtime libraries.
2022-01-10 09:55:45 +03:30
davidot
f5b584f966 CI: Fix the name of the per-files in the test262 comparison runs
Also remove the always passing copy since the website has the files now.
2022-01-08 14:21:43 +01:00
davidot
28358d8700 CI: Store per-file results of test262 runs and compare against previous 2022-01-08 14:06:29 +01:00
Timothy Flynn
41f4a5050c CI: Add a cache for the IANA time zone database files 2022-01-08 12:45:34 +01:00
Tim Schumacher
aa35b6e3c3 CI: Don't let APT ask for confirmation on package installation 2022-01-07 12:35:15 +01:00
Andrew Kaster
c62c10caf0 Meta+CI+Documentation: Bump host gcc requirement up to gcc 11
Bump macOS CI version to macOS 11 while we're here.
2022-01-07 11:02:30 +01:00
Brian Gianforcaro
c6c59653ce CI: Update the lint commits error message to be more user friendly
We often see PR's opened and then immediately closed because folks think
they did something bad, or don't know how to fix the situation. So lets
try to give them a few pointers.
2022-01-07 00:39:12 -08:00
Andreas Kling
474e3ffc85 Meta: Add Sam Atkins's GitHub Sponsors to funding options :^) 2021-12-28 08:08:39 +01:00
Ben Wiederhake
7ba7668fbb Meta: Allow overlong 'fixup!' commit titles in pre-commit hook 2021-11-28 11:49:13 -08:00
Linus Groh
f538df7572 CI: Bump prettier to latest version (2.4.1)
We didn't initially upgrade because it started to (incorrectly) see
files as strict mode and chokes on things that then would be syntax
errors - but we're starting to fall behind a bit, so I'd rather put
these files on the ignore list instead.
2021-11-21 01:18:23 +00:00
thislooksfun
d2ef8b29e8 CI: Prevent false errors if a commit message contains CRLF
Previously if a commit message contained any carriage returns it would
correctly fail the 'contains CRLF line breaks' test, but it would also
report 'Commit message lines are too long' and 'Commit title ends in a
period', even if neither is true.
2021-11-19 22:30:11 +02:00
Ben Wiederhake
55e1edd51b Meta: Check auto-generated manpages for completeness on CI 2021-11-01 21:12:58 +01:00
Brian Gianforcaro
35617ba2d3 Meta: Suppress rule v1047 in PVS-Studio Static Analysis
This rule appears to produce a lot of noise, most of them look like
false positives (400+). Lets suppress for now to try to move the signal
to noise ratio higher for PVS-Studio.

Reference: https://pvs-studio.com/en/docs/warnings/v1047/
2021-10-31 00:19:33 +02:00
thislooksfun
7eaac7d2c1 CI: Notify Discord on all new PRs, even drafts 2021-10-29 22:37:48 +03:00
thislooksfun
7ee409ef98 CI: Rewrite the lintcommits workflow using an inline script
tim-actions/commit-message-checker-with-regex@v0.3.1 only uses the
keys 'sha' and 'commit.message'. Passing more information than that
is unnecessary and can lead to CI failures like this one:
https://github.com/SerenityOS/serenity/runs/4029269017?check_suite_focus=true#step:4:7

Instead of trying to pass data between workflow steps, we can instead
just do it all at once (plus this gives us more control over
formatting, which has also been improved).
2021-10-29 16:51:22 +03:00
Ben Wiederhake
8d13f6ddce Kernel+SystemServer: Change bootmode to system_mode
'bootmode' now only controls which set of services are started by
SystemServer, so it is more appropriate to rename it to system_mode, and
no longer validate it in the Kernel.
2021-10-25 23:38:28 +02:00
Ben Wiederhake
09432a8241 Kernel: Separate panic behavior from bootmode
Bootmode used to control panic behavior and SystemServer.
This patch factors panic behavior control into a separate flag.
2021-10-25 23:38:28 +02:00
Ben Wiederhake
542a88a7be Kernel: Separate framebuffers from bootmode
Bootmode used to control framebuffers, panic behavior, and SystemServer.
This patch factors framebuffer control into a separate flag.
Note that the combination 'bootmode=self-test fbdev=on' leads to
unexpected behavior, which can only be fixed in a later commit.
2021-10-25 23:38:28 +02:00
Ben Wiederhake
7e52b6fa24 man.serenityos.org: Simplify local builds
I simply extracted the script from .github/workflows/manpages.yml,
without significant modification.
2021-10-22 19:49:28 +03:00
Timothy Flynn
1e1cd07549 CI: Add a cache for the CLDR on the test262 runner 2021-10-21 17:41:13 +01:00
Timothy Flynn
cff39734f1 CI: Use correct CLDR cache path on GitHub Actions 2021-10-21 17:41:13 +01:00
Ben Wiederhake
ae9b52e387 Meta: Enable header checking in CI 2021-10-20 09:20:18 +01:00
Brian Gianforcaro
3b7d8ed6a5 Meta: Add actions work flow to run pvs-studio static analysis
Much like the sonar cloud workflow, this workflow runs pvs-studio
static analysis, and uploads the SARIF results to github. This
is the most "convenient" way to publish results, but unfortunately
users need write access to the repository to reach static analysis
results rendered in github.

As a work around folks can just look at the logs where issues are
printed during analysis, this works reasonably well.

In the future it might make sense to also render the results as HTML
and publish them using github page, much like we do with man pages.
I believe the pvs-studio plog-converter tool supports that as well.
https://pvs-studio.com/en/docs/manual/0036/
2021-10-05 20:07:04 +00:00
Brian Gianforcaro
dc99b702be Meta: Include source sha in sonarcloud analysis metadata
Having the version included in each analysis allows you to do more
filtering in the UI where results are viewed.
2021-10-02 18:16:15 +02:00
Brian Gianforcaro
ca7bb812f6 Meta: Explicitly disable caching in the Sonar Cloud workflow
Sonar Cloud raises a warning if this is not Explicitly enabled or
disabled, so lets mark it disabled to avoid that.
2021-09-28 10:58:09 +02:00
Brian Gianforcaro
0f76e6e149 Meta: Fix typo in release sonar-scanner version
The version is 4.6.2.2472, I had a typo when I committed the previous
change to update the version.
2021-09-26 21:29:39 +00:00
Brian Gianforcaro
0b9e633482 Meta: Upgrade sonar scanner to latest 4.6.2.2475 release
I didn't realize there was a new release, as it wasn't posted in the
Sonar Cloud Documentatoin, but was tagged on the github project page.

See: https://github.com/SonarSource/sonar-scanner-cli/releases
2021-09-23 20:37:37 +00:00
Brian Gianforcaro
925f21353e Meta: Exclude LibWasm Parser.cpp from Sonar Cloud Static Analysis
We need to exclude this file from analysis for now, as there is a bug in
the sonar-runner tool where it crashes when trying to understand the use
of AK::Variant in LibWasm/Parser/Parser.cpp

See #10122 for details + link to the bug report to Sonar Cloud.
2021-09-23 01:07:11 +02:00