summaryrefslogtreecommitdiff
path: root/.github/workflows
AgeCommit message (Collapse)Author
2022-07-02CI: Use a custom ccache directory in GitHub CIIdan Horowitz
This ensures that updates to ccache that change the default cache directory do not break out github ccache cache.
2022-06-18Meta: Run PNG size checks on CIkleines Filmröllchen
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-05-25Meta: Use Ubuntu 22.04 images for static analysisEWouters
Fixes 2f1029e while `ubuntu-latest` is not `ubuntu-22.04`.
2022-05-24Meta+CI: Upgrade to ubuntu-22.04Nathan Wallace
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-20CI: Fix syntax error after d0edf2627c3d72fa1d59ba173bac1c0cc3cb27e9Daniel Bertalan
2022-05-19Toolchain+Ports: Split the GCC patchesDaniel Bertalan
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-04-23CI: Update the path to our LLVM patchesDaniel Bertalan
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-03Meta: Reword and reformat the suppression comments for PVS StudioBrian Gianforcaro
2022-04-03Meta: Sort PVS Studio suppressions numerically :^)Brian Gianforcaro
2022-04-03Meta: Suppress PVS Studio Rule v603Brian Gianforcaro
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-03Meta: Suppress PVS Studio Rule v591 "non-void functions should return"Brian Gianforcaro
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-01Meta: Switch to clang-format-14 as the standard formatterIdan Horowitz
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-03-17Meta: Ignore the return value of test-wasm on CIAli Mohammad Pur
2022-03-17Meta: Use sudo to unpack `wabt` package in CIAli Mohammad Pur
The self-hosted runner doesn't run the commands as root.
2022-03-17Meta: Install a recent build of wabt for INCLUDE_WASM_SPEC_TESTS in CIAli Mohammad Pur
Also skip prettifying the generated tests as we don't need to look at them.
2022-03-17Meta: Copy wasm results to the right fileAli Mohammad Pur
Hopefully for the last time, copy the results to the right file.
2022-03-16Meta: Actually copy the new wasm per-file results after generating themAli Mohammad Pur
Otherwise the website data won't be updated.
2022-03-16Meta: Don't use heredocs as file pathsAli Mohammad Pur
Heredocs are passed to stdin, so make `jq` read it from stdin instead of treating it as a file path argument.
2022-03-16Meta: Run Wasm spec tests on master pushAli Mohammad Pur
...and report the results on libjs-website.
2022-03-14CI: Do not "always" run GitHub Actions workflowsTimothy Flynn
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-02-16CI: Disable compiletime header checkIdan Horowitz
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-12Meta: Suppress rule V1076 in PVS-Studio Static AnalysisBrian Gianforcaro
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-09CI: Bundle and upload a js(1) release packageTimothy Flynn
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-09CI: Add statement to ensure workflow runs only on serenityRodolfo Olivieri
Ensure that the `cmake.yml` workflow runs only on SerenityOS repository.
2022-01-15Meta: Make check-symbols.sh use the correct build directorycreator1creeper1
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-11CI: Require a blank line between commit titles and bodiesIdan Horowitz
2022-01-11CI: Bump prettier to latest version (2.5.1)Linus Groh
2022-01-10CI: Hash only relevant files for the key of the compiler cacheDaniel Bertalan
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-08CI: Fix the name of the per-files in the test262 comparison runsdavidot
Also remove the always passing copy since the website has the files now.
2022-01-08CI: Store per-file results of test262 runs and compare against previousdavidot
2022-01-08CI: Add a cache for the IANA time zone database filesTimothy Flynn
2022-01-07CI: Don't let APT ask for confirmation on package installationTim Schumacher
2022-01-07Meta+CI+Documentation: Bump host gcc requirement up to gcc 11Andrew Kaster
Bump macOS CI version to macOS 11 while we're here.
2022-01-07CI: Update the `lint commits` error message to be more user friendlyBrian Gianforcaro
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.
2021-11-28Meta: Allow overlong 'fixup!' commit titles in pre-commit hookBen Wiederhake
2021-11-21CI: Bump prettier to latest version (2.4.1)Linus Groh
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-19CI: Prevent false errors if a commit message contains CRLFthislooksfun
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-01Meta: Check auto-generated manpages for completeness on CIBen Wiederhake
2021-10-31Meta: Suppress rule v1047 in PVS-Studio Static AnalysisBrian Gianforcaro
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-29CI: Notify Discord on all new PRs, even draftsthislooksfun
2021-10-29CI: Rewrite the lintcommits workflow using an inline scriptthislooksfun
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-25Kernel+SystemServer: Change bootmode to system_modeBen Wiederhake
'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-25Kernel: Separate panic behavior from bootmodeBen Wiederhake
Bootmode used to control panic behavior and SystemServer. This patch factors panic behavior control into a separate flag.
2021-10-25Kernel: Separate framebuffers from bootmodeBen Wiederhake
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-22man.serenityos.org: Simplify local buildsBen Wiederhake
I simply extracted the script from .github/workflows/manpages.yml, without significant modification.
2021-10-21CI: Add a cache for the CLDR on the test262 runnerTimothy Flynn
2021-10-21CI: Use correct CLDR cache path on GitHub ActionsTimothy Flynn
2021-10-20Meta: Enable header checking in CIBen Wiederhake
2021-10-05Meta: Add actions work flow to run pvs-studio static analysisBrian Gianforcaro
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-02Meta: Include source sha in sonarcloud analysis metadataBrian Gianforcaro
Having the version included in each analysis allows you to do more filtering in the UI where results are viewed.