summaryrefslogtreecommitdiff
path: root/.github
AgeCommit message (Collapse)Author
2021-05-29Meta/CI: Remove IRC notificationsAndrew Kaster
With the increased volume of PRs being opened and merged lately, multiple people have complained that the IRC is absolutely flooded with SerenityBot posts. Remove the IRC notifications from the CI scripts, and the Meta script that handles parsing the github actions context into an IRC message.
2021-05-29CI: Use builtin clang-11, clang-12, npm, and libstdc++-10-dev packagesAndrew Kaster
Github Actions added clang-12 to their ubuntu 20.04 images, so let's take full advantage of that. Stop relying on the llvm upstream repository for clang-12, since it often causes jobs to fail when their mirrors are syncing. clang-tidy-11, libstdc++-10-dev and npm 6.14.x are also all already pre-installed, so we don't need to waste time fetching them in the dependency fetch step.
2021-05-29CI: Disable the commit linter on draft pull requestsIdan Horowitz
2021-05-29Meta: Update FUNDING.yml againAndreas Kling
Apparently I didn't understand the format correctly.. :^)
2021-05-29Meta: Update FUNDING.ymlAndreas Kling
Let's keep it simple and stick to GitHub Sponsors here on GitHub. And add Linus since he's on GitHub Sponsors now as well! :^)
2021-05-27CI: Enable UBSAN for on-target testsAndrew Kaster
Note that until UBSAN is made deadly by default in LibSanitizer, UBSAN warnings will not fail the build. Also remove BUILD_LAGOM=ON from the NORMAL_DEBUG build as it's unnecessary and extends the build time for no benefit when building with sanitizers
2021-05-27Meta: Run the Wasm spec tests in CIAli Mohammad Pur
Since LibWasm is still not capable of passing all of the spec tests, ignore failing tests, only fail the build if some segfault/abort/etc occurs.
2021-05-27Meta/CI: Add ENABLE_ALL_DEBUG_FACILITIES CMake optionAndrew Kaster
This option replaces the use of ENABLE_ALL_THE_DEBUG_MACROS in CI runs, and enables all debug options that might be broken by developers unintentionally that are only used in specific debugging situations.
2021-05-23CI: Update comment-on-pr to a version that supports pull_request_target (#7431)Idan Horowitz
The previous version unfortunately didn't work for that workflow type if the author of the PR did not already have write access to the repo.
2021-05-23CI: Enable more verbose and strict sanitizer optionsAndrew Kaster
Options shamelessly stolen from this article on systemd's website: https://systemd.io/TESTING_WITH_SANITIZERS/ We make ASAN more strict and tell UBSAN to print more verbose output on failure. One of the more interesting ASAN options, detect_stack_use_after_return, sadly causes both UBSAN and ASAN failures in test-js.
2021-05-23CI: Make BuggieBot reply to pull requests that fail the commit linterIdan Horowitz
This should help reduce the repeating "Please check the contributing guide" replies from reviewers.
2021-05-21Base/CI: Create and check test-results.log file for on-target testsAndrew Kaster
Change run-tests-and-shutdown.sh to output a dead simple results file that just records how many tests failed. In the CI script, mount the _disk_image after running tests and verify that the number of failed tests is 0. Otherwise, fail the build :^) While we're here, bump the timeout for the tests up to 30 minutes, to make sure that less powerful runners don't fail the job unecessarily.
2021-05-21CI: Add canonical-server/server-backports PPA to get updated QEMUAndrew Kaster
Ubuntu 20.04 only ships QEMU 4.2.1, which is quite an older release. The BuildQemu.sh script uses version 6.0.0, while the server-backports PPA is currently shipping 5.2.1. If it turns out the server-backports PPA is not right, then we can switch to manually building and caching the source build.
2021-05-21Base/CI: Run tests from /usr/Tests in GitHub ActionsAndrew Kaster
Uncomment the tests that were disabled due to frequent freezes when running without KVM. This also adds a new github actions group for every single test, which makes it easier to browse test boundaries during test runs. Move catting the serial output log back to its own step, so that it has higher visibility. The previous solution was also shown to not actually cat the log in the case of a failed boot and timeout :^(.
2021-05-21CI: Bump update-alternatives priority to 100Linus Groh
This didn't seem to have worked in the past, the new value matches the recomendation on the GitHub Actions clang-11 default announcement: https://github.com/actions/virtual-environments/issues/3235
2021-05-21CI: Also apt-get purge clang-11 in build_and_test_lagom stepLinus Groh
We don't need it. A recent change to the ubuntu-20.04 image has made it the default, causing builds to fail - we're installing and want to use clang-12 anyway, so let's just get rid of the other installed versions.
2021-05-16CI: Compile and run Lagom tests with ASAN and UBSANAndrew Kaster
Make sure halt_on_error=1 is enabled so that UBSAN failures will crash the test program and cause a failure.
2021-05-16Meta: Add a check for periods on the end of titles to commit linterIdan Horowitz
2021-05-10Meta: Pin prettier linter versionAdam Hodgen
2021-05-07Meta: Improve man.serenityos.org titles and link namesLinus Groh
Index page: - Change links from "Man 1" to "Section 1" Section index pages: - Change title from "1" to "Section 1 - SerenityOS man pages" - Change links from "foo" to "foo(1)" Man pages: - Change title from "foo" to "foo(1) - SerenityOS man pages"
2021-05-05Meta: Add action to tweet each commit on pushIdan Horowitz
2021-05-04Meta: Strip man prefix from generated man page directoriesIdan Horowitz
2021-05-04Meta: Track Meta/Websites/man.serenityos.org changes in manpages actionIdan Horowitz
2021-05-04Meta: Add workflow that deploys man page updates to man.serenityos.orgIdan Horowitz
2021-04-26Meta: Lint commits for unix-style linebreaksIdan Horowitz
This ensures serenity commits only contain unix-style LF linebreaks
2021-04-25Meta: Allow for spaces in commit title category linterIdan Horowitz
2021-04-23Meta: Add basic commit message linting for pull requestsIdan Horowitz
This new check will ensure that all commit message lines are at most 72 characters long, as well as ensure the commit title conforms to the "Category: Brief description of what's being changed" format.
2021-04-20Toolchain+Ports: Enable threads for gccGunnar Beutner
This enables POSIX threads for GCC and makes the -pthread argument available.
2021-04-20Everywhere: Replace SERENITY_ROOT with SERENITY_SOURCE_DIRPanagiotis Vasilopoulos
2021-04-20Meta: Actually check for draft PRs before sending discord notificationsIdan Horowitz
2021-04-19Meta: Stop limiting stale-bot actions per hour.Brian Gianforcaro
Initially this was configured to 2 an hour so that we could easily disable stale-bot if something went haywire. Now that it's successfully proved it's doing what it's supposed to, let it run the default number of actions per hour.
2021-04-19Meta: Configure probot/stale to close stale pull requests automatically.Brian Gianforcaro
This change adds the required configuration to setup the https://github.com/probot/stale github bot to close stale pull requests. We currently have a large amount of PRs just sitting around with no activity, clogging up the PR queue. This will hopefully make that situation better.
2021-04-18Meta: Disable discord notifications timeoutIdan Horowitz
Since some builds can take even longer than 1 hour (for example: f033416893b097e9f148711c161537db328d02cd) this commit just increases the timeout to be github's own workflow timeout (effectively disabling it) and just lets github handle it instead.
2021-04-18Everywhere: Fix a bunch of typosLinus Groh
2021-04-16CI: Use clang-12 instead of clang-10 when building fuzzersAnotherTest
oss-fuzz uses clang-12 anyway, so this patch shouldn't be breaking anything, just letting us use more modern C++ without the CI being sad.
2021-04-15Meta: Include queued checks in the discord notification's checks filterIdan Horowitz
The previous filter would filter out queued checks as well, which would result in erroneous build success notifications going out if github started the discord notifications workflow before all other workflows.
2021-04-14Meta: Increase discord notification's check interval to 100 secondsIdan Horowitz
Since our tests usually take at least 10 minutes theres no point in checking every 10 seconds, and github was starting to complain about the very high API usage.
2021-04-14Meta: Increase discord notification's build timeout to 1 hourIdan Horowitz
It looks like some particularly long builds (After a toolchain cache reset and on a slow worker) can take much longer than the current set timeout of 20 minutes.
2021-04-13Meta: Enable pull_request_target context for the notify_discord actionIdan Horowitz
While we did allow the notify_discord job to run inside the context, we didnt ask github to run in that context. This commit also uses the "action-wait-for-check" sub-action to ensure the posted build results are accurate for pull requests (since the build workflow is done in a separate context for PRs)
2021-04-11Meta: Add discord notifications for pushes and pull requestsIdan Horowitz
These are similar to the existing irc notifications.
2021-03-13Meta: Make GA logs less misleadingBen Wiederhake
If the job fails early (e.g. during linting), the 'cat debug.log' step would *also* fail. This would confuse GA into thinking that this is the crucial thing and highlights it. This misleads the user into looking at the wrong thing.
2021-03-04Meta: Search for the correct ccache cache keyBen Wiederhake
"Hmm, 'toolchain' is a better name here!" I said, and changed the key name. And then I promptly forgot to update the restore-key value. D'oh!
2021-03-04Meta: Use and cache ccache on Github ActionsBen Wiederhake
2021-03-04CI: Build with -DENABLE_PCI_IDS_DOWNLOAD=OFFLinus Groh
Closes #5611.
2021-03-02Meta: Run test-js and test-compress as CTest executablesAndrew Kaster
Reduces the number of steps in the Actions workflow this way :^)
2021-02-28CI: Allow run step of on target tests to failAndrew Kaster
As documented in #5541, there are some Kernel issues that can sporadically cause the test run to fail. Add continue on error with a loud comment to let readers know what the issue(s) might be.
2021-02-28Base/CI: Boot serenity in CI in a mode that runs tests on targetAndrew Kaster
Build a new version of Serenity in CI that doesn't have all the debug symbols on, or we'd be waiting a very long time to boot. Insert a TestRunner entry into SystemServer.ini that will run a shell script that runs tests in /bin and /usr/Tests and shuts down the system in the new self-test boot mode. Also make sure enough basic services are started in self-test such that the tests will actually run properly.
2021-02-03Revert "Meta: Enable CodeQL static analysis for Serenity"Andreas Kling
This reverts commit f0bf723424069a03a5b5f9264e2a88e35cab568d. CodeQL never finds anything and regularly crashes, failing the build.
2021-01-12Libraries: Move to Userland/Libraries/Andreas Kling
2021-01-09Meta: Unify build-and-test jobs using a matrix buildAndrew Kaster
This will make it easier to keep macos tests and non-mac tests in lockstep. Also, make sure flake8 and python are installed. This also makes it easier to add other OS targets if we want.