summaryrefslogtreecommitdiff
path: root/.github
AgeCommit message (Collapse)Author
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-12-28Meta: Add Sam Atkins's GitHub Sponsors to funding options :^)Andreas Kling
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.
2021-09-28Meta: Explicitly disable caching in the Sonar Cloud workflowBrian Gianforcaro
Sonar Cloud raises a warning if this is not Explicitly enabled or disabled, so lets mark it disabled to avoid that.
2021-09-26Meta: Fix typo in release sonar-scanner versionBrian Gianforcaro
The version is 4.6.2.2472, I had a typo when I committed the previous change to update the version.
2021-09-23Meta: Upgrade sonar scanner to latest 4.6.2.2475 releaseBrian Gianforcaro
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-23Meta: Exclude LibWasm Parser.cpp from Sonar Cloud Static AnalysisBrian Gianforcaro
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-23Meta: Remove unused caching from Sonar Cloud configurationBrian Gianforcaro
I was experimenting with using caching while doing the initial prototype of the Sonar Cloud workflow. However the cache size for the static analysis data ended up being large enough that it would put us over the git hub actions limit. Given that we currently only run this pipeline once a day, it seems reasonable to just remove caching. If in the future we decide to run the pipeline on every PR, caching would become crucial as the current un-cached analysis time is around 1 hour and 50 minutes. If we did this we would need to move the pipeline to Azure DevOps where we have effectively infinite cache available.
2021-09-17CI: Add missing `$` to Sonar Cloud build stepsAndrew Kaster
Without the `$` GitHub Actions doesn't do the environment variable replacement and CMake thinks we want a source directory of `./}}`
2021-09-16CI+Meta: Update Sonar Cloud CI job for new SuperBuild configurationAndrew Kaster
This requires exposing the `configure` step on the `serenity` ExternalProject in the SuperBuild CMakeLists so that we can continue to only build the generated sources and not the entire OS.
2021-09-15Meta: Switch to a SuperBuild that splits host and target buildsAndrew Kaster
Replace the old logic where we would start with a host build, and swap all the CMake compiler and target variables underneath it to trick CMake into building for Serenity after we configured and built the Lagom code generators. The SuperBuild creates two ExternalProjects, one for Lagom and one for Serenity. The Serenity project depends on the install stage for the Lagom build. The SuperBuild also generates a CMakeToolchain file for the Serenity build to use that replaces the old toolchain file that was only used for Ports. To ensure that code generators are rebuilt when core libraries such as AK and LibCore are modified, developers will need to direct their manual `ninja` invocations to the SuperBuild's binary directory instead of the Serenity binary directory. This commit includes warning coalescing and option style cleanup for the affected CMakeLists in the Kernel, top level, and runtime support libraries. A large part of the cleanup is replacing USE_CLANG_TOOLCHAIN with the proper CMAKE_CXX_COMPILER_ID variable, which will no longer be confused by a host clang compiler.
2021-09-10CI: Add statement to ensure workflow runs only on serenityRodolfo Olivieri
This statement ensures that the `Sonar Cloud Static Analysis` workflow runs only for the official repository and not for the forks.
2021-09-07CI+Meta: Add Signed-off-by tag filter to the commit message linterIdan Horowitz
2021-09-03Meta: Remove Coverity workflow until it's readyBrian Gianforcaro
This commit snuck into the tree via a PR for some sonar cloud fixes. Some how I cross contaminated my branches. Unfortunately the coverity workflow isn't ready for prime time yet, so lets remove it until we have all the issues ironed out.
2021-09-03Meta: Fix toolchain caching for Sonar Cloud workflowBrian Gianforcaro
The matrix variables were left over from copy/pasting the contents of the normal CI workflow. We also should always skip saving the cache, as the normal CI pipeliens will refresh the toolchain and we should just be reading the cache.
2021-09-03Meta: Add github actions workflow to run coverity build analysisBrian Gianforcaro
2021-09-03Meta: Remove sonar cloud worklow triggering for PRsBrian Gianforcaro
Sonar cloud detects PRs and fails the job at the very end, so there isn't much use in including this testing feature.
2021-09-03Meta: Remove sonar cloud pipeline cacheBrian Gianforcaro
The cache is saving, but by the time we run again, it looks like the cache has been purged from other jobs consuming the cache. This causes the cache to fail restore. Given we run nightly and there is no time bound, we can just run without cache.
2021-09-03Meta: Add sonar.python.version config to silence sonar cloud warningBrian Gianforcaro
All of our python scripts use python3
2021-08-31Meta: Don't allow overlap in sonar cube file classificationBrian Gianforcaro
Test files were getting analyzed twice, which the tool does not like, and causes it to exit with a fatal error. Also make the workflow run in PRs anytime the file is edited, so that we can get immediate feedback without waiting till the next day.
2021-08-30Meta: Fix yaml syntax of Sonar Cube WorkflowBrian Gianforcaro
I fat fingered this last minute when converting from the trigger I was using for development/testing to the cron schedule for use in the main repo.
2021-08-30Meta: Action workflow to build and upload results in sonar-cloudBrian Gianforcaro
This action executes once a day, the sonar cloud runner analyzes the code and then uploads the results. The current code base takes almost 3 hours of computer time to analyze. The runner supports multi threaded executing and caching of results, so we save that cache as part of the github action work flow to allow for the analysis to skip unchanged files.
2021-08-28Meta+LibUnicode: Move unicode_data helper to Meta/CMakeAndrew Kaster
Moving this helper CMake file to the centralized Meta/CMake folder helps to get a better grasp on what extra files are required for the build, and what files are generated. While we're at it, don't use add_compile_definitions for ENABLE_UNICODE_DATA, which only needs to be seen by LibUnicode sources.
2021-08-26CI: Ensure unzip is installed on the buildersTimothy Flynn
The CLDR database comes in a .zip file.
2021-08-26CI: Cache downloaded Unicode CLDR databaseTimothy Flynn
2021-08-21CI: Increase ccache size limit for serenity buildsIdan Horowitz
Now that we only have 3 ccached builds on CI we can comfortably increase the ccache size limit to get some free speed-up in CI.