summaryrefslogtreecommitdiff
path: root/.github/workflows
AgeCommit message (Collapse)Author
2023-05-30CI: Do not expect `test-results.log` to exist on AArch64Daniel Bertalan
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-28CI: Add testing for AArch64 :^)Daniel Bertalan
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-28Toolchain+CI: Remove cache handling logic from `BuildIt.sh`Daniel Bertalan
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-28CI: Update `actions/cache` to v3Daniel Bertalan
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-24Meta: Only run devcontainer build for the main repositoryJelle Raaijmakers
Let's not run this job on everyone's fork.
2023-05-24Meta: Hardcode lowercase repository name for devcontainerJelle Raaijmakers
This should unbreak CI.
2023-05-24Meta: Prebuild repo dev containerJosh Spicer
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-09CI: Update the action to package the JS REPL to macOS 13Timothy Flynn
The macOS 13 runner has Xcode 14.3. which is required to compile JS after d6b786b3fe76b9e256693205347c45472472782b (though we do have to explicitly select Xcode 14.3, as 14.2 is the default).
2023-03-28Meta: Remove SonarCloud cache and threads setup as it is now defaultMassimo Paladin
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-12Meta+CMake: Remove "image" ninja target in favor of "qemu-image"Nico Weber
"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-02CI: Bump JamesIves/github-pages-deploy-action from 4.1.1 to 4.4.1dependabot[bot]
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-02-24CI+Lagom: Use the same options for running test-wasm in ctest and CIAndrew Kaster
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-10CI: Add script to post mastodon toots for commits on masternetworkException
This patch adds the toot-commits script (mirroring tweet-commits), posting new commits on the master branch to https://serenityos.social/@commits.
2023-02-09Revert "Meta: Automatically select best apt mirror"Timothy Flynn
This reverts commit b0606d90f0da2fd2651768d1e250a692e3c92abf. 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-07Meta: Automatically select best apt mirrorMacDue
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-01CI: Move running LibWeb layout tests to AzureTimothy Flynn
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-01-29Tests: Add LibWeb layout testsAliaksandr Kalenik
2023-01-20CI: Install a more up-to-date version of emscriptenTimothy Flynn
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-19CI: Add GitHub author presence check in commit linterJelle Raaijmakers
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-18CI: Bump actions/setup-java from 1 to 3dependabot[bot]
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-18CI: Bump r-lib/actions from 1 to 2dependabot[bot]
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-18CI: Bump github/codeql-action from 1 to 2dependabot[bot]
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-18CI: Bump actions/setup-node from 2 to 3dependabot[bot]
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-18CI: Bump actions/upload-artifact from 2 to 3dependabot[bot]
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-18CI: Ignore dependabot in commit linter for PRsJelle Raaijmakers
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-16Meta: Disable PVS Studio v1052 static analysis rule in github actionsBrian Gianforcaro
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-06CI: Use default provided GITHUB_TOKEN for PR label workflowLinus Groh
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-06CI: Unify secrets.BUGGIEBOT and secrets.BUGGIEBOT_TOKENLinus Groh
The latter is clearer, so let's use that.
2023-01-06CI: Automatically apply pull request labels for generic PR actionsLuke Wilde
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>
2022-12-28Meta: Remove i686 targetLiav A
2022-12-24Meta: Move UCD/CLDR/TZDB downloaded artifacts to Build/cachesTimothy Flynn
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-24Meta: Add downloaded artifact caches to nightly static analysis buildsTimothy Flynn
2022-12-24Meta: Use correct cache key for CLDR data during CITimothy Flynn
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-10CI: Fix commit linting for multi-line commit messagesLucas CHOLLET
Third time's the charm
2022-12-10CI: Correct regex to retrieve git merge commitLucas CHOLLET
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-10CI: Add a check to report git merge commitLucas CHOLLET
2022-12-03Meta: Switch to clang-format-15 as the standard formatterLinus Groh
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-03CI: Run test262 tests with optimized bytecode as wellIdan Horowitz
2022-12-03Meta+CI: Add CI job specifically for bundling serenity-js artifactsAndrew Kaster
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-11-26Meta: Build the wasm libs with -DBUILD_SHARED_LIBS=OFFAli Mohammad Pur
CMake already does this, but it also emits a warning about it, do that to make the CMake gods happier.
2022-11-26Meta: Use the correct cache paths in the wasm workflowAli Mohammad Pur
Previously we were caching unicode data for the lagom tools, but we should've been caching them for the actual build instead.
2022-11-26Meta: Update actions/libjs-test262 action to newer versiondavidot
This should get rid of the non node 16 and outdated command warnings.
2022-11-26Meta: Build and deploy the WebAssembly LibJS REPL on mergeAli Mohammad Pur
2022-11-25CI: Upgrade `actions/github-script` to v6martinfalisse
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-05CI: Check out PR merge branch instead of sourceJelle Raaijmakers
2022-11-03CI: Also update the main workflow to use actions/checkout version 3Timothy Flynn
2022-11-03CI: Upgrade `actions/setup-python` to v4Filiph Sandström
Just as the actions/checkout the only breaking change is a internal one related to upgrading from node 12 to node 16.
2022-11-03CI: Upgrade `actions/checkout` to v3Filiph Sandström
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-10-31CI: Make the test262 worker use GCC 12Luke Wilde
2022-10-25Everywhere: Require version >= 12 for GCC host compilerLinus Groh
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.